@dxos/plugin-thread 0.8.4-main.e098934 → 0.8.4-main.ead640a

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 (173) hide show
  1. package/dist/lib/browser/ChannelContainer-BGDGZHV4.mjs +16 -0
  2. package/dist/lib/browser/ChatContainer-75KJZ4XR.mjs +15 -0
  3. package/dist/lib/browser/{app-graph-builder-FHAOPO57.mjs → app-graph-builder-ODKIAXR7.mjs} +17 -17
  4. package/dist/lib/browser/app-graph-builder-ODKIAXR7.mjs.map +7 -0
  5. package/dist/lib/browser/{call-manager-RMPTWSTF.mjs → call-manager-BCKLI4QD.mjs} +5 -5
  6. package/dist/lib/browser/{call-manager-RMPTWSTF.mjs.map → call-manager-BCKLI4QD.mjs.map} +1 -1
  7. package/dist/lib/browser/chunk-2MUYQOQE.mjs +23 -0
  8. package/dist/lib/browser/{chunk-PBMNFG3B.mjs → chunk-B7YQ7QR2.mjs} +4 -4
  9. package/dist/lib/browser/{chunk-7W7QK5ZP.mjs → chunk-CMCVHULC.mjs} +7 -7
  10. package/dist/lib/browser/chunk-CMCVHULC.mjs.map +7 -0
  11. package/dist/lib/browser/{chunk-GERVMFQW.mjs → chunk-CP7E2HRE.mjs} +2 -2
  12. package/dist/lib/browser/chunk-CP7E2HRE.mjs.map +7 -0
  13. package/dist/lib/browser/{chunk-RI3Z6MK3.mjs → chunk-HDEQRBOC.mjs} +1 -1
  14. package/dist/lib/browser/{chunk-RI3Z6MK3.mjs.map → chunk-HDEQRBOC.mjs.map} +2 -2
  15. package/dist/lib/browser/chunk-L326LSNS.mjs +18 -0
  16. package/dist/lib/browser/chunk-L326LSNS.mjs.map +7 -0
  17. package/dist/lib/browser/{chunk-EV4JWI7L.mjs → chunk-T4KJ5JR4.mjs} +5 -7
  18. package/dist/lib/browser/chunk-T4KJ5JR4.mjs.map +7 -0
  19. package/dist/lib/browser/{chunk-ZH2WPTNP.mjs → chunk-VJMKS4CZ.mjs} +16 -15
  20. package/dist/lib/browser/{chunk-ZH2WPTNP.mjs.map → chunk-VJMKS4CZ.mjs.map} +3 -3
  21. package/dist/lib/browser/{chunk-KTWYVC5X.mjs → chunk-VTYX3SIM.mjs} +6 -6
  22. package/dist/lib/browser/chunk-VTYX3SIM.mjs.map +7 -0
  23. package/dist/lib/browser/index.mjs +10 -11
  24. package/dist/lib/browser/index.mjs.map +3 -3
  25. package/dist/lib/browser/{intent-resolver-J7OCP2P6.mjs → intent-resolver-VOQD3TQ2.mjs} +11 -11
  26. package/dist/lib/browser/intent-resolver-VOQD3TQ2.mjs.map +7 -0
  27. package/dist/lib/browser/{markdown-Z677YORA.mjs → markdown-R6MGRIA6.mjs} +6 -6
  28. package/dist/lib/browser/{markdown-Z677YORA.mjs.map → markdown-R6MGRIA6.mjs.map} +1 -1
  29. package/dist/lib/browser/meta.json +1 -1
  30. package/dist/lib/browser/react-root-UMSBTN6H.mjs +28 -0
  31. package/dist/lib/browser/react-root-UMSBTN6H.mjs.map +7 -0
  32. package/dist/lib/browser/{react-surface-GVGZRBDK.mjs → react-surface-SXMQEWKE.mjs} +21 -21
  33. package/dist/lib/browser/react-surface-SXMQEWKE.mjs.map +7 -0
  34. package/dist/lib/browser/{settings-GRKEID73.mjs → settings-TCNF54PN.mjs} +5 -5
  35. package/dist/lib/browser/{settings-GRKEID73.mjs.map → settings-TCNF54PN.mjs.map} +1 -1
  36. package/dist/lib/browser/{state-2T4KDWBX.mjs → state-ZQ4IPOJT.mjs} +5 -5
  37. package/dist/lib/browser/{state-2T4KDWBX.mjs.map → state-ZQ4IPOJT.mjs.map} +1 -1
  38. package/dist/lib/browser/{toolkit-KUPIIFC6.mjs → toolkit-JF4B4QIO.mjs} +17 -13
  39. package/dist/lib/browser/toolkit-JF4B4QIO.mjs.map +7 -0
  40. package/dist/lib/browser/types/index.mjs +2 -2
  41. package/dist/lib/node-esm/ChannelContainer-OXC6BTU7.mjs +17 -0
  42. package/dist/lib/node-esm/{ChatContainer-QVQKFBWA.mjs → ChatContainer-SH6LTFQL.mjs} +5 -5
  43. package/dist/lib/node-esm/{app-graph-builder-XEYWX5FC.mjs → app-graph-builder-DMPT3MY6.mjs} +17 -17
  44. package/dist/lib/node-esm/app-graph-builder-DMPT3MY6.mjs.map +7 -0
  45. package/dist/lib/node-esm/{call-manager-QAREJFVX.mjs → call-manager-Q7RY2YP4.mjs} +5 -5
  46. package/dist/lib/node-esm/{call-manager-QAREJFVX.mjs.map → call-manager-Q7RY2YP4.mjs.map} +1 -1
  47. package/dist/lib/node-esm/{chunk-SNKFZQST.mjs → chunk-2KZ4ODHU.mjs} +7 -7
  48. package/dist/lib/node-esm/chunk-2KZ4ODHU.mjs.map +7 -0
  49. package/dist/lib/node-esm/{chunk-JNPKMT7O.mjs → chunk-2MMJF7DW.mjs} +1 -1
  50. package/dist/lib/node-esm/{chunk-JNPKMT7O.mjs.map → chunk-2MMJF7DW.mjs.map} +2 -2
  51. package/dist/lib/node-esm/{chunk-57XR3LEF.mjs → chunk-ABUFOZVX.mjs} +2 -2
  52. package/dist/lib/node-esm/chunk-ABUFOZVX.mjs.map +7 -0
  53. package/dist/lib/node-esm/{chunk-P6E247RF.mjs → chunk-BAMZXJS4.mjs} +6 -6
  54. package/dist/lib/node-esm/chunk-BAMZXJS4.mjs.map +7 -0
  55. package/dist/lib/node-esm/{chunk-DKCQCENK.mjs → chunk-BTGKI5IK.mjs} +4 -4
  56. package/dist/lib/node-esm/chunk-GZ4WL2IS.mjs +25 -0
  57. package/dist/lib/node-esm/chunk-LCHTNRK7.mjs +19 -0
  58. package/dist/lib/node-esm/chunk-LCHTNRK7.mjs.map +7 -0
  59. package/dist/lib/node-esm/{chunk-LE2LIYGX.mjs → chunk-NHSIAEDW.mjs} +16 -15
  60. package/dist/lib/node-esm/{chunk-LE2LIYGX.mjs.map → chunk-NHSIAEDW.mjs.map} +3 -3
  61. package/dist/lib/node-esm/{chunk-GRLRWTRU.mjs → chunk-OBVAURUU.mjs} +5 -7
  62. package/dist/lib/node-esm/chunk-OBVAURUU.mjs.map +7 -0
  63. package/dist/lib/node-esm/index.mjs +10 -11
  64. package/dist/lib/node-esm/index.mjs.map +3 -3
  65. package/dist/lib/node-esm/{intent-resolver-SR2LW4HF.mjs → intent-resolver-AKVH66PH.mjs} +11 -11
  66. package/dist/lib/node-esm/intent-resolver-AKVH66PH.mjs.map +7 -0
  67. package/dist/lib/node-esm/{markdown-FL4IXLRP.mjs → markdown-MYGTDXT6.mjs} +6 -6
  68. package/dist/lib/node-esm/{markdown-FL4IXLRP.mjs.map → markdown-MYGTDXT6.mjs.map} +1 -1
  69. package/dist/lib/node-esm/meta.json +1 -1
  70. package/dist/lib/node-esm/{react-root-4JWDRIQB.mjs → react-root-W6AVTL5M.mjs} +14 -14
  71. package/dist/lib/node-esm/react-root-W6AVTL5M.mjs.map +7 -0
  72. package/dist/lib/node-esm/{react-surface-WLQUVRAX.mjs → react-surface-NLSZJGMO.mjs} +21 -21
  73. package/dist/lib/node-esm/react-surface-NLSZJGMO.mjs.map +7 -0
  74. package/dist/lib/node-esm/{settings-F2ODVNNW.mjs → settings-ZQHGVFBY.mjs} +5 -5
  75. package/dist/lib/node-esm/{settings-F2ODVNNW.mjs.map → settings-ZQHGVFBY.mjs.map} +1 -1
  76. package/dist/lib/node-esm/{state-62TQKQVB.mjs → state-FSLLJ5TZ.mjs} +5 -5
  77. package/dist/lib/node-esm/{state-62TQKQVB.mjs.map → state-FSLLJ5TZ.mjs.map} +1 -1
  78. package/dist/lib/node-esm/{toolkit-KZIS7G36.mjs → toolkit-DHPKJITO.mjs} +17 -13
  79. package/dist/lib/node-esm/toolkit-DHPKJITO.mjs.map +7 -0
  80. package/dist/lib/node-esm/types/index.mjs +2 -2
  81. package/dist/types/src/ThreadPlugin.d.ts +1 -1
  82. package/dist/types/src/ThreadPlugin.d.ts.map +1 -1
  83. package/dist/types/src/calls-service.stories.d.ts +0 -1
  84. package/dist/types/src/calls-service.stories.d.ts.map +1 -1
  85. package/dist/types/src/capabilities/app-graph-builder.d.ts.map +1 -1
  86. package/dist/types/src/capabilities/capabilities.d.ts.map +1 -1
  87. package/dist/types/src/capabilities/toolkit.d.ts +3 -2
  88. package/dist/types/src/capabilities/toolkit.d.ts.map +1 -1
  89. package/dist/types/src/components/ChannelContainer.stories.d.ts +1 -3
  90. package/dist/types/src/components/ChannelContainer.stories.d.ts.map +1 -1
  91. package/dist/types/src/components/Chat.stories.d.ts +1 -1
  92. package/dist/types/src/components/Chat.stories.d.ts.map +1 -1
  93. package/dist/types/src/components/Comments.stories.d.ts +0 -1
  94. package/dist/types/src/components/Comments.stories.d.ts.map +1 -1
  95. package/dist/types/src/components/Media/VideoObject.d.ts +2 -2
  96. package/dist/types/src/components/Media/VideoObject.d.ts.map +1 -1
  97. package/dist/types/src/components/Media/VideoObject.stories.d.ts +5 -3
  98. package/dist/types/src/components/Media/VideoObject.stories.d.ts.map +1 -1
  99. package/dist/types/src/components/ResponsiveGrid/ResponsiveContainer.stories.d.ts +1 -1
  100. package/dist/types/src/components/ResponsiveGrid/ResponsiveContainer.stories.d.ts.map +1 -1
  101. package/dist/types/src/components/ResponsiveGrid/ResponsiveGrid.stories.d.ts +1 -1
  102. package/dist/types/src/components/ResponsiveGrid/ResponsiveGrid.stories.d.ts.map +1 -1
  103. package/dist/types/src/components/ThreadSettings.d.ts +1 -1
  104. package/dist/types/src/components/ThreadSettings.d.ts.map +1 -1
  105. package/dist/types/src/hooks/useVideoStreamTrack.d.ts +1 -1
  106. package/dist/types/src/hooks/useVideoStreamTrack.d.ts.map +1 -1
  107. package/dist/types/src/meta.d.ts +1 -2
  108. package/dist/types/src/meta.d.ts.map +1 -1
  109. package/dist/types/src/types/schema.d.ts +5 -3
  110. package/dist/types/src/types/schema.d.ts.map +1 -1
  111. package/dist/types/src/types/types.d.ts +11 -9
  112. package/dist/types/src/types/types.d.ts.map +1 -1
  113. package/dist/types/tsconfig.tsbuildinfo +1 -1
  114. package/package.json +57 -57
  115. package/src/ThreadPlugin.tsx +128 -128
  116. package/src/calls-service.stories.tsx +2 -5
  117. package/src/capabilities/app-graph-builder.ts +11 -10
  118. package/src/capabilities/capabilities.ts +5 -5
  119. package/src/capabilities/intent-resolver.ts +5 -5
  120. package/src/capabilities/react-root.tsx +2 -2
  121. package/src/capabilities/react-surface.tsx +9 -9
  122. package/src/capabilities/toolkit.ts +12 -8
  123. package/src/components/ChannelContainer.stories.tsx +6 -6
  124. package/src/components/ChannelContainer.tsx +1 -1
  125. package/src/components/Chat.stories.tsx +7 -6
  126. package/src/components/Comments.stories.tsx +6 -11
  127. package/src/components/Media/VideoObject.stories.tsx +12 -7
  128. package/src/components/ResponsiveGrid/ResponsiveContainer.stories.tsx +3 -4
  129. package/src/components/ResponsiveGrid/ResponsiveGrid.stories.tsx +3 -4
  130. package/src/components/ThreadComplementary.tsx +1 -1
  131. package/src/components/ThreadSettings.tsx +4 -5
  132. package/src/hooks/useVideoStreamTrack.tsx +1 -1
  133. package/src/meta.ts +3 -4
  134. package/src/testing/stories.ts +1 -1
  135. package/src/types/schema.ts +1 -1
  136. package/src/types/types.ts +2 -2
  137. package/src/util.ts +1 -1
  138. package/dist/lib/browser/ChannelContainer-4PYFOIDK.mjs +0 -16
  139. package/dist/lib/browser/ChatContainer-EXNNREYB.mjs +0 -15
  140. package/dist/lib/browser/app-graph-builder-FHAOPO57.mjs.map +0 -7
  141. package/dist/lib/browser/chunk-4APCDRSH.mjs +0 -18
  142. package/dist/lib/browser/chunk-4APCDRSH.mjs.map +0 -7
  143. package/dist/lib/browser/chunk-7W7QK5ZP.mjs.map +0 -7
  144. package/dist/lib/browser/chunk-EV4JWI7L.mjs.map +0 -7
  145. package/dist/lib/browser/chunk-G4CNILRR.mjs +0 -23
  146. package/dist/lib/browser/chunk-GERVMFQW.mjs.map +0 -7
  147. package/dist/lib/browser/chunk-KTWYVC5X.mjs.map +0 -7
  148. package/dist/lib/browser/intent-resolver-J7OCP2P6.mjs.map +0 -7
  149. package/dist/lib/browser/react-root-XKOD4KRB.mjs +0 -28
  150. package/dist/lib/browser/react-root-XKOD4KRB.mjs.map +0 -7
  151. package/dist/lib/browser/react-surface-GVGZRBDK.mjs.map +0 -7
  152. package/dist/lib/browser/toolkit-KUPIIFC6.mjs.map +0 -7
  153. package/dist/lib/node-esm/ChannelContainer-KQQEZWUN.mjs +0 -17
  154. package/dist/lib/node-esm/app-graph-builder-XEYWX5FC.mjs.map +0 -7
  155. package/dist/lib/node-esm/chunk-4T45PCKP.mjs +0 -25
  156. package/dist/lib/node-esm/chunk-57XR3LEF.mjs.map +0 -7
  157. package/dist/lib/node-esm/chunk-GRLRWTRU.mjs.map +0 -7
  158. package/dist/lib/node-esm/chunk-P6E247RF.mjs.map +0 -7
  159. package/dist/lib/node-esm/chunk-PYTVBN5J.mjs +0 -19
  160. package/dist/lib/node-esm/chunk-PYTVBN5J.mjs.map +0 -7
  161. package/dist/lib/node-esm/chunk-SNKFZQST.mjs.map +0 -7
  162. package/dist/lib/node-esm/intent-resolver-SR2LW4HF.mjs.map +0 -7
  163. package/dist/lib/node-esm/react-root-4JWDRIQB.mjs.map +0 -7
  164. package/dist/lib/node-esm/react-surface-WLQUVRAX.mjs.map +0 -7
  165. package/dist/lib/node-esm/toolkit-KZIS7G36.mjs.map +0 -7
  166. /package/dist/lib/browser/{ChannelContainer-4PYFOIDK.mjs.map → ChannelContainer-BGDGZHV4.mjs.map} +0 -0
  167. /package/dist/lib/browser/{ChatContainer-EXNNREYB.mjs.map → ChatContainer-75KJZ4XR.mjs.map} +0 -0
  168. /package/dist/lib/browser/{chunk-G4CNILRR.mjs.map → chunk-2MUYQOQE.mjs.map} +0 -0
  169. /package/dist/lib/browser/{chunk-PBMNFG3B.mjs.map → chunk-B7YQ7QR2.mjs.map} +0 -0
  170. /package/dist/lib/node-esm/{ChannelContainer-KQQEZWUN.mjs.map → ChannelContainer-OXC6BTU7.mjs.map} +0 -0
  171. /package/dist/lib/node-esm/{ChatContainer-QVQKFBWA.mjs.map → ChatContainer-SH6LTFQL.mjs.map} +0 -0
  172. /package/dist/lib/node-esm/{chunk-DKCQCENK.mjs.map → chunk-BTGKI5IK.mjs.map} +0 -0
  173. /package/dist/lib/node-esm/{chunk-4T45PCKP.mjs.map → chunk-GZ4WL2IS.mjs.map} +0 -0
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dxos/plugin-thread",
3
- "version": "0.8.4-main.e098934",
3
+ "version": "0.8.4-main.ead640a",
4
4
  "description": "DXOS Threads Surface plugin",
5
5
  "homepage": "https://dxos.org",
6
6
  "bugs": "https://github.com/dxos/dxos/issues",
@@ -37,77 +37,77 @@
37
37
  "dependencies": {
38
38
  "@codemirror/language": "^6.11.3",
39
39
  "@codemirror/state": "^6.5.2",
40
- "@codemirror/view": "^6.38.2",
41
- "@effect/ai": "0.25.2",
40
+ "@codemirror/view": "^6.38.4",
41
+ "@effect/ai": "0.29.1",
42
+ "@effect/experimental": "0.56.0",
42
43
  "@peermetrics/webrtc-stats": "5.7.1",
43
44
  "@preact-signals/safe-react": "^0.9.0",
44
- "@preact/signals-core": "^1.9.0",
45
+ "@preact/signals-core": "^1.12.1",
45
46
  "date-fns": "^3.3.1",
46
47
  "extendable-media-recorder": "^9.2.19",
47
48
  "extendable-media-recorder-wav-encoder": "^7.0.123",
48
49
  "md5-hex": "5.0.0",
49
50
  "react-resize-detector": "^11.0.1",
50
51
  "wavefile": "^11.0.0",
51
- "@dxos/assistant": "0.8.4-main.e098934",
52
- "@dxos/codec-protobuf": "0.8.4-main.e098934",
53
- "@dxos/app-framework": "0.8.4-main.e098934",
54
- "@dxos/async": "0.8.4-main.e098934",
55
- "@dxos/context": "0.8.4-main.e098934",
56
- "@dxos/devtools": "0.8.4-main.e098934",
57
- "@dxos/debug": "0.8.4-main.e098934",
58
- "@dxos/echo": "0.8.4-main.e098934",
59
- "@dxos/display-name": "0.8.4-main.e098934",
60
- "@dxos/keys": "0.8.4-main.e098934",
61
- "@dxos/invariant": "0.8.4-main.e098934",
62
- "@dxos/local-storage": "0.8.4-main.e098934",
63
- "@dxos/live-object": "0.8.4-main.e098934",
64
- "@dxos/log": "0.8.4-main.e098934",
65
- "@dxos/plugin-attention": "0.8.4-main.e098934",
66
- "@dxos/plugin-client": "0.8.4-main.e098934",
67
- "@dxos/plugin-deck": "0.8.4-main.e098934",
68
- "@dxos/echo-schema": "0.8.4-main.e098934",
69
- "@dxos/plugin-graph": "0.8.4-main.e098934",
70
- "@dxos/plugin-markdown": "0.8.4-main.e098934",
71
- "@dxos/plugin-observability": "0.8.4-main.e098934",
72
- "@dxos/plugin-space": "0.8.4-main.e098934",
73
- "@dxos/protocols": "0.8.4-main.e098934",
74
- "@dxos/react-client": "0.8.4-main.e098934",
75
- "@dxos/react-ui-attention": "0.8.4-main.e098934",
76
- "@dxos/react-ui-dnd": "0.8.4-main.e098934",
77
- "@dxos/react-ui-form": "0.8.4-main.e098934",
78
- "@dxos/react-ui-sfx": "0.8.4-main.e098934",
79
- "@dxos/react-ui-menu": "0.8.4-main.e098934",
80
- "@dxos/react-ui-stack": "0.8.4-main.e098934",
81
- "@dxos/react-ui-syntax-highlighter": "0.8.4-main.e098934",
82
- "@dxos/react-ui-tabs": "0.8.4-main.e098934",
83
- "@dxos/react-ui-thread": "0.8.4-main.e098934",
84
- "@dxos/util": "0.8.4-main.e098934",
85
- "@dxos/schema": "0.8.4-main.e098934",
86
- "@dxos/react-ui-editor": "0.8.4-main.e098934"
52
+ "@dxos/app-framework": "0.8.4-main.ead640a",
53
+ "@dxos/assistant": "0.8.4-main.ead640a",
54
+ "@dxos/codec-protobuf": "0.8.4-main.ead640a",
55
+ "@dxos/context": "0.8.4-main.ead640a",
56
+ "@dxos/debug": "0.8.4-main.ead640a",
57
+ "@dxos/devtools": "0.8.4-main.ead640a",
58
+ "@dxos/async": "0.8.4-main.ead640a",
59
+ "@dxos/display-name": "0.8.4-main.ead640a",
60
+ "@dxos/echo": "0.8.4-main.ead640a",
61
+ "@dxos/invariant": "0.8.4-main.ead640a",
62
+ "@dxos/live-object": "0.8.4-main.ead640a",
63
+ "@dxos/local-storage": "0.8.4-main.ead640a",
64
+ "@dxos/keys": "0.8.4-main.ead640a",
65
+ "@dxos/log": "0.8.4-main.ead640a",
66
+ "@dxos/plugin-attention": "0.8.4-main.ead640a",
67
+ "@dxos/plugin-client": "0.8.4-main.ead640a",
68
+ "@dxos/plugin-deck": "0.8.4-main.ead640a",
69
+ "@dxos/plugin-markdown": "0.8.4-main.ead640a",
70
+ "@dxos/plugin-observability": "0.8.4-main.ead640a",
71
+ "@dxos/plugin-graph": "0.8.4-main.ead640a",
72
+ "@dxos/plugin-space": "0.8.4-main.ead640a",
73
+ "@dxos/react-client": "0.8.4-main.ead640a",
74
+ "@dxos/react-ui-attention": "0.8.4-main.ead640a",
75
+ "@dxos/react-ui-dnd": "0.8.4-main.ead640a",
76
+ "@dxos/react-ui-editor": "0.8.4-main.ead640a",
77
+ "@dxos/react-ui-form": "0.8.4-main.ead640a",
78
+ "@dxos/react-ui-menu": "0.8.4-main.ead640a",
79
+ "@dxos/react-ui-sfx": "0.8.4-main.ead640a",
80
+ "@dxos/react-ui-stack": "0.8.4-main.ead640a",
81
+ "@dxos/react-ui-syntax-highlighter": "0.8.4-main.ead640a",
82
+ "@dxos/react-ui-tabs": "0.8.4-main.ead640a",
83
+ "@dxos/react-ui-thread": "0.8.4-main.ead640a",
84
+ "@dxos/util": "0.8.4-main.ead640a",
85
+ "@dxos/schema": "0.8.4-main.ead640a",
86
+ "@dxos/protocols": "0.8.4-main.ead640a"
87
87
  },
88
88
  "devDependencies": {
89
- "@effect-rx/rx-react": "0.38.0",
90
- "@effect/platform": "0.90.2",
91
- "@types/react": "~18.2.0",
92
- "@types/react-dom": "~18.2.0",
93
- "effect": "3.17.7",
94
- "react": "~18.2.0",
95
- "react-dom": "~18.2.0",
96
- "vite": "7.1.1",
97
- "@dxos/plugin-theme": "0.8.4-main.e098934",
98
- "@dxos/random": "0.8.4-main.e098934",
99
- "@dxos/react-ui-theme": "0.8.4-main.e098934",
100
- "@dxos/react-ui": "0.8.4-main.e098934",
101
- "@dxos/storybook-utils": "0.8.4-main.e098934"
89
+ "@effect-rx/rx-react": "0.42.4",
90
+ "@effect/platform": "0.92.1",
91
+ "@types/react": "~19.2.2",
92
+ "@types/react-dom": "~19.2.1",
93
+ "effect": "3.18.3",
94
+ "react": "~19.2.0",
95
+ "react-dom": "~19.2.0",
96
+ "vite": "7.1.9",
97
+ "@dxos/random": "0.8.4-main.ead640a",
98
+ "@dxos/plugin-theme": "0.8.4-main.ead640a",
99
+ "@dxos/react-ui": "0.8.4-main.ead640a",
100
+ "@dxos/react-ui-theme": "0.8.4-main.ead640a",
101
+ "@dxos/storybook-utils": "0.8.4-main.ead640a"
102
102
  },
103
103
  "peerDependencies": {
104
104
  "@effect-rx/rx-react": "^0.34.1",
105
105
  "@effect/platform": "^0.80.12",
106
106
  "effect": "^3.13.3",
107
- "react": "~18.2.0",
108
- "react-dom": "~18.2.0",
109
- "@dxos/react-ui": "0.8.4-main.e098934",
110
- "@dxos/react-ui-theme": "0.8.4-main.e098934"
107
+ "react": "^19.0.0",
108
+ "react-dom": "^19.0.0",
109
+ "@dxos/react-ui": "0.8.4-main.ead640a",
110
+ "@dxos/react-ui-theme": "0.8.4-main.ead640a"
111
111
  },
112
112
  "publishConfig": {
113
113
  "access": "public"
@@ -30,133 +30,133 @@ import { ChannelType, ThreadAction, ThreadType } from './types';
30
30
 
31
31
  // TODO(wittjosiah): Rename to ChatPlugin.
32
32
  // TODO(wittjosiah): Enabling comments should likely be factored out of this plugin but depend on it's capabilities.
33
- export const ThreadPlugin = () =>
34
- definePlugin(meta, [
35
- defineModule({
36
- id: `${meta.id}/module/call-manager`,
37
- activatesOn: ClientEvents.ClientReady,
38
- activate: CallManager,
39
- }),
40
- // TODO(wittjosiah): Currently not used but leaving because there will likely be settings for threads again.
41
- // defineModule({
42
- // id: `${meta.id}/module/settings`,
43
- // activatesOn: Events.SetupSettings,
44
- // activate: ThreadSettings,
45
- // }),
46
- defineModule({
47
- id: `${meta.id}/module/state`,
48
- // TODO(wittjosiah): Does not integrate with settings store.
49
- // Should this be a different event?
50
- // Should settings store be renamed to be more generic?
51
- activatesOn: Events.SetupSettings,
52
- activate: ThreadState,
53
- }),
54
- defineModule({
55
- id: `${meta.id}/module/translations`,
56
- activatesOn: Events.SetupTranslations,
57
- activate: () => contributes(Capabilities.Translations, [...translations, ...threadTranslations]),
58
- }),
59
- defineModule({
60
- id: `${meta.id}/module/metadata`,
61
- activatesOn: Events.SetupMetadata,
62
- activate: () => [
63
- contributes(Capabilities.Metadata, {
64
- id: ChannelType.typename,
65
- metadata: {
66
- icon: 'ph--hash--regular',
33
+ export const ThreadPlugin = definePlugin(meta, () => [
34
+ defineModule({
35
+ id: `${meta.id}/module/call-manager`,
36
+ activatesOn: ClientEvents.ClientReady,
37
+ activate: CallManager,
38
+ }),
39
+ // TODO(wittjosiah): Currently not used but leaving because there will likely be settings for threads again.
40
+ // defineModule({
41
+ // id: `${meta.id}/module/settings`,
42
+ // activatesOn: Events.SetupSettings,
43
+ // activate: ThreadSettings,
44
+ // }),
45
+ defineModule({
46
+ id: `${meta.id}/module/state`,
47
+ // TODO(wittjosiah): Does not integrate with settings store.
48
+ // Should this be a different event?
49
+ // Should settings store be renamed to be more generic?
50
+ activatesOn: Events.SetupSettings,
51
+ activate: ThreadState,
52
+ }),
53
+ defineModule({
54
+ id: `${meta.id}/module/translations`,
55
+ activatesOn: Events.SetupTranslations,
56
+ activate: () => contributes(Capabilities.Translations, [...translations, ...threadTranslations]),
57
+ }),
58
+ defineModule({
59
+ id: `${meta.id}/module/metadata`,
60
+ activatesOn: Events.SetupMetadata,
61
+ activate: () => [
62
+ contributes(Capabilities.Metadata, {
63
+ id: ChannelType.typename,
64
+ metadata: {
65
+ icon: 'ph--hash--regular',
66
+ iconClassName: 'text-greenSurfaceText',
67
+ },
68
+ }),
69
+ contributes(Capabilities.Metadata, {
70
+ id: ThreadType.typename,
71
+ metadata: {
72
+ // TODO(wittjosiah): Move out of metadata.
73
+ loadReferences: async (thread: ThreadType) => await Ref.Array.loadAll(thread.messages ?? []),
74
+ },
75
+ }),
76
+ contributes(Capabilities.Metadata, {
77
+ id: DataType.Message.typename,
78
+ metadata: {
79
+ // TODO(wittjosiah): Move out of metadata.
80
+ loadReferences: () => [], // loadObjectReferences(message, (message) => [...message.parts, message.context]),
81
+ },
82
+ }),
83
+ contributes(Capabilities.Metadata, {
84
+ id: THREAD_ITEM,
85
+ metadata: {
86
+ parse: (item: ThreadType, type: string) => {
87
+ switch (type) {
88
+ case 'node':
89
+ return { id: item.id, label: item.name, data: item };
90
+ case 'object':
91
+ return item;
92
+ case 'view-object':
93
+ return { id: `${item.id}-view`, object: item };
94
+ }
67
95
  },
96
+ },
97
+ }),
98
+ ],
99
+ }),
100
+ defineModule({
101
+ id: `${meta.id}/module/object-form`,
102
+ activatesOn: ClientEvents.SetupSchema,
103
+ activate: () =>
104
+ contributes(
105
+ SpaceCapabilities.ObjectForm,
106
+ defineObjectForm({
107
+ objectSchema: ChannelType,
108
+ getIntent: (_, options) => createIntent(ThreadAction.CreateChannel, { spaceId: options.space.id }),
68
109
  }),
69
- contributes(Capabilities.Metadata, {
70
- id: ThreadType.typename,
71
- metadata: {
72
- // TODO(wittjosiah): Move out of metadata.
73
- loadReferences: async (thread: ThreadType) => await Ref.Array.loadAll(thread.messages ?? []),
74
- },
75
- }),
76
- contributes(Capabilities.Metadata, {
77
- id: DataType.Message.typename,
78
- metadata: {
79
- // TODO(wittjosiah): Move out of metadata.
80
- loadReferences: (message: DataType.Message) => [], // loadObjectReferences(message, (message) => [...message.parts, message.context]),
81
- },
82
- }),
83
- contributes(Capabilities.Metadata, {
84
- id: THREAD_ITEM,
85
- metadata: {
86
- parse: (item: ThreadType, type: string) => {
87
- switch (type) {
88
- case 'node':
89
- return { id: item.id, label: item.name, data: item };
90
- case 'object':
91
- return item;
92
- case 'view-object':
93
- return { id: `${item.id}-view`, object: item };
94
- }
95
- },
96
- },
97
- }),
98
- ],
99
- }),
100
- defineModule({
101
- id: `${meta.id}/module/object-form`,
102
- activatesOn: ClientEvents.SetupSchema,
103
- activate: () =>
104
- contributes(
105
- SpaceCapabilities.ObjectForm,
106
- defineObjectForm({
107
- objectSchema: ChannelType,
108
- getIntent: (_, options) => createIntent(ThreadAction.CreateChannel, { spaceId: options.space.id }),
109
- }),
110
- ),
111
- }),
112
- defineModule({
113
- id: `${meta.id}/module/schema`,
114
- activatesOn: ClientEvents.SetupSchema,
115
- activate: () =>
116
- contributes(ClientCapabilities.Schema, [AnchoredTo, ThreadType, DataType.Message, DataType.MessageV1]),
117
- }),
118
- defineModule({
119
- id: `${meta.id}/module/migration`,
120
- activatesOn: ClientEvents.SetupMigration,
121
- activate: () => contributes(ClientCapabilities.Migration, [DataType.MessageV1ToV2]),
122
- }),
123
- defineModule({
124
- id: `${meta.id}/module/on-space-created`,
125
- activatesOn: SpaceEvents.SpaceCreated,
126
- activate: () =>
127
- contributes(SpaceCapabilities.OnSpaceCreated, ({ space, rootCollection }) =>
128
- createIntent(ThreadAction.OnSpaceCreated, { space, rootCollection }),
129
- ),
130
- }),
131
- defineModule({
132
- id: `${meta.id}/module/markdown`,
133
- activatesOn: MarkdownEvents.SetupExtensions,
134
- activate: Markdown,
135
- }),
136
- defineModule({
137
- id: `${meta.id}/module/react-root`,
138
- activatesOn: Events.Startup,
139
- activate: ReactRoot,
140
- }),
141
- defineModule({
142
- id: `${meta.id}/module/react-surface`,
143
- activatesOn: Events.SetupReactSurface,
144
- activate: ReactSurface,
145
- }),
146
- defineModule({
147
- id: `${meta.id}/module/intent-resolver`,
148
- activatesOn: Events.SetupIntentResolver,
149
- activate: IntentResolver,
150
- }),
151
- defineModule({
152
- id: `${meta.id}/module/app-graph-builder`,
153
- activatesOn: Events.SetupAppGraph,
154
- activate: AppGraphBuilder,
155
- }),
156
- defineModule({
157
- id: `${meta.id}/module/toolkit`,
158
- // TODO(wittjosiah): Shouldn't use the startup event.
159
- activatesOn: Events.Startup,
160
- activate: Toolkit,
161
- }),
162
- ]);
110
+ ),
111
+ }),
112
+ defineModule({
113
+ id: `${meta.id}/module/schema`,
114
+ activatesOn: ClientEvents.SetupSchema,
115
+ activate: () =>
116
+ contributes(ClientCapabilities.Schema, [AnchoredTo, ThreadType, DataType.Message, DataType.MessageV1]),
117
+ }),
118
+ defineModule({
119
+ id: `${meta.id}/module/migration`,
120
+ activatesOn: ClientEvents.SetupMigration,
121
+ activate: () => contributes(ClientCapabilities.Migration, [DataType.MessageV1ToV2]),
122
+ }),
123
+ defineModule({
124
+ id: `${meta.id}/module/on-space-created`,
125
+ activatesOn: SpaceEvents.SpaceCreated,
126
+ activate: () =>
127
+ contributes(SpaceCapabilities.onCreateSpace, ({ space, rootCollection }) =>
128
+ createIntent(ThreadAction.onCreateSpace, { space, rootCollection }),
129
+ ),
130
+ }),
131
+ defineModule({
132
+ id: `${meta.id}/module/markdown`,
133
+ activatesOn: MarkdownEvents.SetupExtensions,
134
+ activate: Markdown,
135
+ }),
136
+ defineModule({
137
+ id: `${meta.id}/module/react-root`,
138
+ activatesOn: Events.Startup,
139
+ activate: ReactRoot,
140
+ }),
141
+ defineModule({
142
+ id: `${meta.id}/module/react-surface`,
143
+ activatesOn: Events.SetupReactSurface,
144
+ activate: ReactSurface,
145
+ }),
146
+ defineModule({
147
+ id: `${meta.id}/module/intent-resolver`,
148
+ activatesOn: Events.SetupIntentResolver,
149
+ activate: IntentResolver,
150
+ }),
151
+ defineModule({
152
+ id: `${meta.id}/module/app-graph-builder`,
153
+ activatesOn: Events.SetupAppGraph,
154
+ activate: AppGraphBuilder,
155
+ }),
156
+ defineModule({
157
+ id: `${meta.id}/module/toolkit`,
158
+ // TODO(wittjosiah): Shouldn't use the startup event.
159
+ activatesOn: Events.Startup,
160
+ activate: Toolkit,
161
+ }),
162
+ ]);
@@ -2,8 +2,6 @@
2
2
  // Copyright 2025 DXOS.org
3
3
  //
4
4
 
5
- import '@dxos-theme';
6
-
7
5
  import { type Meta, type StoryObj } from '@storybook/react-vite';
8
6
  import React, { useCallback, useEffect, useMemo, useRef, useState } from 'react';
9
7
 
@@ -14,8 +12,8 @@ import { log } from '@dxos/log';
14
12
  import { Config, useConfig } from '@dxos/react-client';
15
13
  import { withClientProvider } from '@dxos/react-client/testing';
16
14
  import { Button } from '@dxos/react-ui';
15
+ import { withTheme } from '@dxos/react-ui/testing';
17
16
  import { Json } from '@dxos/react-ui-syntax-highlighter';
18
- import { withLayout, withTheme } from '@dxos/storybook-utils';
19
17
 
20
18
  const testVideo = new URL('../testing/video.mp4', import.meta.url).href;
21
19
 
@@ -177,6 +175,7 @@ const meta = {
177
175
  title: 'plugins/plugin-thread/calls-service',
178
176
  render: DefaultStory,
179
177
  decorators: [
178
+ withTheme,
180
179
  withClientProvider({
181
180
  config: new Config({
182
181
  runtime: {
@@ -186,8 +185,6 @@ const meta = {
186
185
  },
187
186
  }),
188
187
  }),
189
- withTheme,
190
- withLayout(),
191
188
  ],
192
189
  parameters: {
193
190
  layout: 'centered',
@@ -3,7 +3,8 @@
3
3
  //
4
4
 
5
5
  import { Rx } from '@effect-rx/rx-react';
6
- import { Option, pipe } from 'effect';
6
+ import * as Function from 'effect/Function';
7
+ import * as Option from 'effect/Option';
7
8
 
8
9
  import { Capabilities, type PluginContext, contributes, createIntent } from '@dxos/app-framework';
9
10
  import { Obj } from '@dxos/echo';
@@ -12,7 +13,7 @@ import { ATTENDABLE_PATH_SEPARATOR, DECK_COMPANION_TYPE, PLANK_COMPANION_TYPE }
12
13
  import { ROOT_ID, createExtension, rxFromSignal } from '@dxos/plugin-graph';
13
14
  import { fullyQualifiedId } from '@dxos/react-client/echo';
14
15
 
15
- import { THREAD_PLUGIN, meta } from '../meta';
16
+ import { meta } from '../meta';
16
17
  import { ChannelType, ThreadAction } from '../types';
17
18
  import { getAnchor } from '../util';
18
19
 
@@ -26,10 +27,10 @@ export default (context: PluginContext) => {
26
27
 
27
28
  return contributes(Capabilities.AppGraphBuilder, [
28
29
  createExtension({
29
- id: `${THREAD_PLUGIN}/active-call`,
30
+ id: `${meta.id}/active-call`,
30
31
  connector: (node) =>
31
32
  Rx.make((get) =>
32
- pipe(
33
+ Function.pipe(
33
34
  get(node),
34
35
  Option.flatMap((node) => (node.id === ROOT_ID ? Option.some(node) : Option.none())),
35
36
  Option.map((node) => {
@@ -43,7 +44,7 @@ export default (context: PluginContext) => {
43
44
  type: DECK_COMPANION_TYPE,
44
45
  data: null,
45
46
  properties: {
46
- label: ['call panel label', { ns: THREAD_PLUGIN }],
47
+ label: ['call panel label', { ns: meta.id }],
47
48
  icon: 'ph--video-conference--regular',
48
49
  position: 'hoist',
49
50
  disposition: 'hidden',
@@ -61,10 +62,10 @@ export default (context: PluginContext) => {
61
62
  // TODO(wittjosiah): The channel shouldn't become the companion during a call.
62
63
  // Alternative: the call/meeting/thread should be a child node of the channel and that should be opened.
63
64
  createExtension({
64
- id: `${THREAD_PLUGIN}/channel-chat-companion`,
65
+ id: `${meta.id}/channel-chat-companion`,
65
66
  connector: (node) => {
66
67
  return Rx.make((get) => {
67
- return pipe(
68
+ return Function.pipe(
68
69
  get(node),
69
70
  Option.flatMap((node) => (Obj.instanceOf(ChannelType, node.data) ? Option.some(node.data) : Option.none())),
70
71
  Option.map((channel) => {
@@ -82,7 +83,7 @@ export default (context: PluginContext) => {
82
83
  type: PLANK_COMPANION_TYPE,
83
84
  data: 'chat',
84
85
  properties: {
85
- label: ['channel companion label', { ns: THREAD_PLUGIN }],
86
+ label: ['channel companion label', { ns: meta.id }],
86
87
  icon: 'ph--hash--regular',
87
88
  position: 'hoist',
88
89
  disposition: 'hidden',
@@ -99,7 +100,7 @@ export default (context: PluginContext) => {
99
100
  id: `${meta.id}/comments-companion`,
100
101
  connector: (node) =>
101
102
  Rx.make((get) =>
102
- pipe(
103
+ Function.pipe(
103
104
  get(node),
104
105
  Option.flatMap((node) => {
105
106
  if (!Obj.isObject(node.data) || Obj.instanceOf(ChannelType, node.data)) {
@@ -129,7 +130,7 @@ export default (context: PluginContext) => {
129
130
  id: `${meta.id}/comment-toolbar`,
130
131
  actions: (node) =>
131
132
  Rx.make((get) =>
132
- pipe(
133
+ Function.pipe(
133
134
  get(node),
134
135
  Option.flatMap((node) => {
135
136
  if (!Obj.isObject(node.data) || Obj.instanceOf(ChannelType, node.data)) {
@@ -6,11 +6,11 @@ import { defineCapability } from '@dxos/app-framework';
6
6
  import { type DeepReadonly } from '@dxos/util';
7
7
 
8
8
  import { type CallManager, type CallState, type MediaState } from '../calls';
9
- import { THREAD_PLUGIN } from '../meta';
9
+ import { meta } from '../meta';
10
10
  import { type ChannelType, type ThreadState, type ViewState } from '../types';
11
11
 
12
12
  export namespace ThreadCapabilities {
13
- export const CallManager = defineCapability<CallManager>(`${THREAD_PLUGIN}/capability/call-manager`);
13
+ export const CallManager = defineCapability<CallManager>(`${meta.id}/capability/call-manager`);
14
14
 
15
15
  // TODO(burdon): Better way to define specific extensions for meeting companions.
16
16
  // TODO(burdon): This brings in deps from ../calls; how should we manage/minimize explicit type exposure to other plugins?
@@ -21,13 +21,13 @@ export namespace ThreadCapabilities {
21
21
  onCallStateUpdated: (callState: CallState) => Promise<void>;
22
22
  onMediaStateUpdated: ([mediaState, isSpeaking]: [MediaState, boolean]) => Promise<void>;
23
23
  };
24
- export const CallExtension = defineCapability<CallProperties>(`${THREAD_PLUGIN}/capability/call-extension`);
24
+ export const CallExtension = defineCapability<CallProperties>(`${meta.id}/capability/call-extension`);
25
25
 
26
26
  type GetViewState = (subjectId: string) => ViewState;
27
27
  export const State = defineCapability<{ state: DeepReadonly<ThreadState>; getViewState: GetViewState }>(
28
- `${THREAD_PLUGIN}/capability/state`,
28
+ `${meta.id}/capability/state`,
29
29
  );
30
30
  export const MutableState = defineCapability<{ state: ThreadState; getViewState: GetViewState }>(
31
- `${THREAD_PLUGIN}/capability/state`,
31
+ `${meta.id}/capability/state`,
32
32
  );
33
33
  }
@@ -2,7 +2,7 @@
2
2
  // Copyright 2025 DXOS.org
3
3
  //
4
4
 
5
- import { Effect } from 'effect';
5
+ import * as Effect from 'effect/Effect';
6
6
 
7
7
  import { Capabilities, type PluginContext, contributes, createIntent, createResolver } from '@dxos/app-framework';
8
8
  import { sleep } from '@dxos/async';
@@ -14,7 +14,7 @@ import { CollectionAction, SpaceAction } from '@dxos/plugin-space/types';
14
14
  import { Ref, fullyQualifiedId, getSpace } from '@dxos/react-client/echo';
15
15
  import { AnchoredTo, DataType } from '@dxos/schema';
16
16
 
17
- import { THREAD_PLUGIN } from '../meta';
17
+ import { meta } from '../meta';
18
18
  import { ChannelType, ThreadAction, ThreadType } from '../types';
19
19
 
20
20
  import { ThreadCapabilities } from './capabilities';
@@ -22,7 +22,7 @@ import { ThreadCapabilities } from './capabilities';
22
22
  export default (context: PluginContext) =>
23
23
  contributes(Capabilities.IntentResolver, [
24
24
  createResolver({
25
- intent: ThreadAction.OnSpaceCreated,
25
+ intent: ThreadAction.onCreateSpace,
26
26
  resolve: ({ space, rootCollection }) =>
27
27
  Effect.gen(function* () {
28
28
  const { dispatch } = context.getCapability(Capabilities.IntentDispatcher);
@@ -190,7 +190,7 @@ export default (context: PluginContext) =>
190
190
 
191
191
  return {
192
192
  undoable: {
193
- message: ['thread deleted label', { ns: THREAD_PLUGIN }],
193
+ message: ['thread deleted label', { ns: meta.id }],
194
194
  data: { thread, anchor },
195
195
  },
196
196
  intents: [
@@ -310,7 +310,7 @@ export default (context: PluginContext) =>
310
310
 
311
311
  return {
312
312
  undoable: {
313
- message: ['message deleted label', { ns: THREAD_PLUGIN }],
313
+ message: ['message deleted label', { ns: meta.id }],
314
314
  data: { message, messageIndex },
315
315
  },
316
316
  intents: [
@@ -7,11 +7,11 @@ import React from 'react';
7
7
  import { Capabilities, contributes } from '@dxos/app-framework';
8
8
 
9
9
  import { Call } from '../components';
10
- import { THREAD_PLUGIN } from '../meta';
10
+ import { meta } from '../meta';
11
11
 
12
12
  export default () => {
13
13
  return contributes(Capabilities.ReactRoot, {
14
- id: THREAD_PLUGIN,
14
+ id: meta.id,
15
15
  root: () => <Call.Audio />,
16
16
  });
17
17
  };