@dxos/plugin-thread 0.8.4-main.67995b8 → 0.8.4-main.70d3990
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.
- package/dist/lib/browser/ChannelContainer-L7MKV7DS.mjs +17 -0
- package/dist/lib/browser/ChatContainer-KPY4BAUE.mjs +16 -0
- package/dist/lib/browser/{app-graph-builder-N7BE5TYW.mjs → app-graph-builder-TWJ2UCOZ.mjs} +33 -33
- package/dist/lib/browser/app-graph-builder-TWJ2UCOZ.mjs.map +7 -0
- package/dist/lib/browser/blueprint-definition-TQ4JFMZZ.mjs +101 -0
- package/dist/lib/browser/blueprint-definition-TQ4JFMZZ.mjs.map +7 -0
- package/dist/lib/browser/{call-manager-NIPDYUVD.mjs → call-manager-4YFT4XA6.mjs} +8 -7
- package/dist/lib/browser/call-manager-4YFT4XA6.mjs.map +7 -0
- package/dist/lib/browser/{chunk-KWPRNHTK.mjs → chunk-ALZKJOZK.mjs} +251 -246
- package/dist/lib/browser/chunk-ALZKJOZK.mjs.map +7 -0
- package/dist/lib/browser/chunk-ANTFU4JB.mjs +25 -0
- package/dist/lib/browser/chunk-ANTFU4JB.mjs.map +7 -0
- package/dist/lib/browser/chunk-CFC7LEPD.mjs +18 -0
- package/dist/lib/browser/chunk-CFC7LEPD.mjs.map +7 -0
- package/dist/lib/browser/{chunk-GERVMFQW.mjs → chunk-CP7E2HRE.mjs} +2 -2
- package/dist/lib/browser/chunk-CP7E2HRE.mjs.map +7 -0
- package/dist/lib/browser/{chunk-6NSMBO3B.mjs → chunk-ISCHODBV.mjs} +55 -5
- package/dist/lib/browser/chunk-ISCHODBV.mjs.map +7 -0
- package/dist/lib/browser/chunk-J5LGTIGS.mjs +10 -0
- package/dist/lib/browser/chunk-JDJPMI7V.mjs +143 -0
- package/dist/lib/browser/chunk-JDJPMI7V.mjs.map +7 -0
- package/dist/lib/browser/{chunk-ERWASUQK.mjs → chunk-KOBXMDCI.mjs} +74 -41
- package/dist/lib/browser/chunk-KOBXMDCI.mjs.map +7 -0
- package/dist/lib/browser/chunk-NPT5S6N4.mjs +611 -0
- package/dist/lib/browser/chunk-NPT5S6N4.mjs.map +7 -0
- package/dist/lib/browser/chunk-QM34EZQK.mjs +20 -0
- package/dist/lib/browser/chunk-QM34EZQK.mjs.map +7 -0
- package/dist/lib/browser/chunk-TLOOZTRD.mjs +377 -0
- package/dist/lib/browser/chunk-TLOOZTRD.mjs.map +7 -0
- package/dist/lib/browser/{chunk-ZE7KWN36.mjs → chunk-ZCW3NSDZ.mjs} +310 -186
- package/dist/lib/browser/chunk-ZCW3NSDZ.mjs.map +7 -0
- package/dist/lib/browser/index.mjs +61 -53
- package/dist/lib/browser/index.mjs.map +3 -3
- package/dist/lib/browser/{intent-resolver-JFGLZ6VI.mjs → intent-resolver-G33FT3NO.mjs} +41 -55
- package/dist/lib/browser/intent-resolver-G33FT3NO.mjs.map +7 -0
- package/dist/lib/browser/{markdown-M3FMR7OD.mjs → markdown-WFZFYJBQ.mjs} +30 -27
- package/dist/lib/browser/markdown-WFZFYJBQ.mjs.map +7 -0
- package/dist/lib/browser/meta.json +1 -1
- package/dist/lib/browser/react-root-ED7PHA44.mjs +29 -0
- package/dist/lib/browser/react-root-ED7PHA44.mjs.map +7 -0
- package/dist/lib/browser/{react-surface-XWS6GIZY.mjs → react-surface-AUQQSQQC.mjs} +38 -36
- package/dist/lib/browser/react-surface-AUQQSQQC.mjs.map +7 -0
- package/dist/lib/browser/repair-JFJLEM2O.mjs +35 -0
- package/dist/lib/browser/repair-JFJLEM2O.mjs.map +7 -0
- package/dist/lib/browser/{settings-E32MTL7A.mjs → settings-E6IOLK46.mjs} +6 -5
- package/dist/lib/{node-esm/settings-SJ24YG7M.mjs.map → browser/settings-E6IOLK46.mjs.map} +1 -1
- package/dist/lib/browser/{state-H6CYONWE.mjs → state-UYPLBGZJ.mjs} +6 -5
- package/dist/lib/browser/state-UYPLBGZJ.mjs.map +7 -0
- package/dist/lib/browser/types/index.mjs +7 -10
- package/dist/lib/node-esm/ChannelContainer-FYONOOZ6.mjs +18 -0
- package/dist/lib/node-esm/ChatContainer-TLQG23K7.mjs +17 -0
- package/dist/lib/node-esm/ChatContainer-TLQG23K7.mjs.map +7 -0
- package/dist/lib/node-esm/{app-graph-builder-VCW76Z6V.mjs → app-graph-builder-VD6I2V5H.mjs} +33 -33
- package/dist/lib/node-esm/app-graph-builder-VD6I2V5H.mjs.map +7 -0
- package/dist/lib/node-esm/blueprint-definition-TSX5HHW7.mjs +102 -0
- package/dist/lib/node-esm/blueprint-definition-TSX5HHW7.mjs.map +7 -0
- package/dist/lib/node-esm/{call-manager-D6O5ZJJ4.mjs → call-manager-UMUXEYH5.mjs} +8 -7
- package/dist/lib/node-esm/call-manager-UMUXEYH5.mjs.map +7 -0
- package/dist/lib/node-esm/chunk-2AEIN5MI.mjs +22 -0
- package/dist/lib/node-esm/chunk-2AEIN5MI.mjs.map +7 -0
- package/dist/lib/node-esm/{chunk-IHDNQLLR.mjs → chunk-7KZWZS2U.mjs} +310 -186
- package/dist/lib/node-esm/chunk-7KZWZS2U.mjs.map +7 -0
- package/dist/lib/node-esm/{chunk-C3XFMUAY.mjs → chunk-AB42KYF3.mjs} +251 -246
- package/dist/lib/node-esm/chunk-AB42KYF3.mjs.map +7 -0
- package/dist/lib/node-esm/{chunk-57XR3LEF.mjs → chunk-ABUFOZVX.mjs} +2 -2
- package/dist/lib/node-esm/chunk-ABUFOZVX.mjs.map +7 -0
- package/dist/lib/node-esm/chunk-ATNY37UV.mjs +27 -0
- package/dist/lib/node-esm/chunk-ATNY37UV.mjs.map +7 -0
- package/dist/lib/node-esm/chunk-E5HNHFYH.mjs +378 -0
- package/dist/lib/node-esm/chunk-E5HNHFYH.mjs.map +7 -0
- package/dist/lib/node-esm/chunk-FF3QVPY4.mjs +612 -0
- package/dist/lib/node-esm/chunk-FF3QVPY4.mjs.map +7 -0
- package/dist/lib/node-esm/chunk-HSLMI22Q.mjs +11 -0
- package/dist/lib/node-esm/chunk-HSLMI22Q.mjs.map +7 -0
- package/dist/lib/node-esm/chunk-P2M364TO.mjs +144 -0
- package/dist/lib/node-esm/chunk-P2M364TO.mjs.map +7 -0
- package/dist/lib/node-esm/{chunk-25ABSYP2.mjs → chunk-PZH2EDU5.mjs} +74 -41
- package/dist/lib/node-esm/chunk-PZH2EDU5.mjs.map +7 -0
- package/dist/lib/node-esm/chunk-RT6NRL2I.mjs +19 -0
- package/dist/lib/node-esm/chunk-RT6NRL2I.mjs.map +7 -0
- package/dist/lib/node-esm/{chunk-OU5BYIDO.mjs → chunk-VBI32FGI.mjs} +55 -5
- package/dist/lib/node-esm/chunk-VBI32FGI.mjs.map +7 -0
- package/dist/lib/node-esm/index.mjs +61 -53
- package/dist/lib/node-esm/index.mjs.map +3 -3
- package/dist/lib/node-esm/{intent-resolver-OXGNQ44Y.mjs → intent-resolver-4PX3WXQG.mjs} +41 -55
- package/dist/lib/node-esm/intent-resolver-4PX3WXQG.mjs.map +7 -0
- package/dist/lib/node-esm/{markdown-INKTE4MH.mjs → markdown-CSR5MAPZ.mjs} +30 -27
- package/dist/lib/node-esm/markdown-CSR5MAPZ.mjs.map +7 -0
- package/dist/lib/node-esm/meta.json +1 -1
- package/dist/lib/node-esm/react-root-DZN324JA.mjs +30 -0
- package/dist/lib/node-esm/react-root-DZN324JA.mjs.map +7 -0
- package/dist/lib/node-esm/{react-surface-MJ33KPYE.mjs → react-surface-AMVESEF4.mjs} +38 -36
- package/dist/lib/node-esm/react-surface-AMVESEF4.mjs.map +7 -0
- package/dist/lib/node-esm/repair-RMLR24YR.mjs +36 -0
- package/dist/lib/node-esm/repair-RMLR24YR.mjs.map +7 -0
- package/dist/lib/node-esm/{settings-SJ24YG7M.mjs → settings-RGZHWDSO.mjs} +6 -5
- package/dist/lib/{browser/settings-E32MTL7A.mjs.map → node-esm/settings-RGZHWDSO.mjs.map} +1 -1
- package/dist/lib/node-esm/{state-D7WNDT3N.mjs → state-XNWOLBNE.mjs} +6 -5
- package/dist/lib/node-esm/state-XNWOLBNE.mjs.map +7 -0
- package/dist/lib/node-esm/types/index.mjs +7 -10
- package/dist/types/src/ThreadPlugin.d.ts +1 -1
- package/dist/types/src/ThreadPlugin.d.ts.map +1 -1
- package/dist/types/src/calls/call-manager.d.ts.map +1 -1
- package/dist/types/src/calls/call-swarm-synchronizer.d.ts.map +1 -1
- package/dist/types/src/calls/media-manager.d.ts +1 -1
- package/dist/types/src/calls/media-manager.d.ts.map +1 -1
- package/dist/types/src/calls/types.d.ts +1 -1
- package/dist/types/src/calls/types.d.ts.map +1 -1
- package/dist/types/src/calls/util/calls-service.d.ts +4 -2
- package/dist/types/src/calls/util/calls-service.d.ts.map +1 -1
- package/dist/types/src/calls/util/stub-media-streams.d.ts.map +1 -1
- package/dist/types/src/calls-service.stories.d.ts +10 -9
- package/dist/types/src/calls-service.stories.d.ts.map +1 -1
- package/dist/types/src/capabilities/app-graph-builder.d.ts +1 -1
- package/dist/types/src/capabilities/app-graph-builder.d.ts.map +1 -1
- package/dist/types/src/capabilities/blueprint-definition.d.ts +5 -0
- package/dist/types/src/capabilities/blueprint-definition.d.ts.map +1 -0
- package/dist/types/src/capabilities/call-manager.d.ts +1 -1
- package/dist/types/src/capabilities/call-manager.d.ts.map +1 -1
- package/dist/types/src/capabilities/capabilities.d.ts +3 -3
- package/dist/types/src/capabilities/capabilities.d.ts.map +1 -1
- package/dist/types/src/capabilities/index.d.ts +12 -10
- package/dist/types/src/capabilities/index.d.ts.map +1 -1
- package/dist/types/src/capabilities/intent-resolver.d.ts +1 -1
- package/dist/types/src/capabilities/intent-resolver.d.ts.map +1 -1
- package/dist/types/src/capabilities/markdown.d.ts +1 -1
- package/dist/types/src/capabilities/markdown.d.ts.map +1 -1
- package/dist/types/src/capabilities/react-root.d.ts +2 -2
- package/dist/types/src/capabilities/react-surface.d.ts +1 -1
- package/dist/types/src/capabilities/react-surface.d.ts.map +1 -1
- package/dist/types/src/capabilities/repair.d.ts +4 -0
- package/dist/types/src/capabilities/repair.d.ts.map +1 -0
- package/dist/types/src/capabilities/settings.d.ts +1 -1
- package/dist/types/src/capabilities/state.d.ts +2 -2
- package/dist/types/src/capabilities/state.d.ts.map +1 -1
- package/dist/types/src/components/Call/Call.d.ts.map +1 -1
- package/dist/types/src/components/Call/Toolbar.d.ts +2 -2
- package/dist/types/src/components/Call/Toolbar.d.ts.map +1 -1
- package/dist/types/src/components/CallDebugPanel.d.ts +7 -0
- package/dist/types/src/components/CallDebugPanel.d.ts.map +1 -1
- package/dist/types/src/components/CallSidebar.d.ts.map +1 -1
- package/dist/types/src/components/ChannelContainer.d.ts +2 -2
- package/dist/types/src/components/ChannelContainer.d.ts.map +1 -1
- package/dist/types/src/components/ChannelContainer.stories.d.ts +159 -5
- package/dist/types/src/components/ChannelContainer.stories.d.ts.map +1 -1
- package/dist/types/src/components/Chat.stories.d.ts +162 -5
- package/dist/types/src/components/Chat.stories.d.ts.map +1 -1
- package/dist/types/src/components/ChatContainer.d.ts +6 -5
- package/dist/types/src/components/ChatContainer.d.ts.map +1 -1
- package/dist/types/src/components/Comments.stories.d.ts +160 -4
- package/dist/types/src/components/Comments.stories.d.ts.map +1 -1
- package/dist/types/src/components/CommentsContainer.d.ts +2 -2
- package/dist/types/src/components/CommentsContainer.d.ts.map +1 -1
- package/dist/types/src/components/CommentsThreadContainer.d.ts +9 -9
- package/dist/types/src/components/CommentsThreadContainer.d.ts.map +1 -1
- package/dist/types/src/components/Lobby/Lobby.d.ts.map +1 -1
- package/dist/types/src/components/Media/VideoObject.d.ts +2 -2
- package/dist/types/src/components/Media/VideoObject.d.ts.map +1 -1
- package/dist/types/src/components/Media/VideoObject.stories.d.ts +18 -4
- package/dist/types/src/components/Media/VideoObject.stories.d.ts.map +1 -1
- package/dist/types/src/components/MessageContainer.d.ts +8 -3
- package/dist/types/src/components/MessageContainer.d.ts.map +1 -1
- package/dist/types/src/components/Participant/Participant.d.ts.map +1 -1
- package/dist/types/src/components/Participant/ParticipantGrid.d.ts.map +1 -1
- package/dist/types/src/components/ResponsiveGrid/ResponsiveContainer.stories.d.ts +159 -3
- package/dist/types/src/components/ResponsiveGrid/ResponsiveContainer.stories.d.ts.map +1 -1
- package/dist/types/src/components/ResponsiveGrid/ResponsiveGrid.stories.d.ts +161 -4
- package/dist/types/src/components/ResponsiveGrid/ResponsiveGrid.stories.d.ts.map +1 -1
- package/dist/types/src/components/ResponsiveGrid/ResponsiveGridItem.d.ts.map +1 -1
- package/dist/types/src/components/ThreadCompanion.d.ts +5 -0
- package/dist/types/src/components/ThreadCompanion.d.ts.map +1 -0
- package/dist/types/src/components/ThreadSettings.d.ts +1 -1
- package/dist/types/src/components/ThreadSettings.d.ts.map +1 -1
- package/dist/types/src/components/command-extension.d.ts.map +1 -1
- package/dist/types/src/components/index.d.ts +3 -3
- package/dist/types/src/components/index.d.ts.map +1 -1
- package/dist/types/src/components/testing.d.ts +3 -2
- package/dist/types/src/components/testing.d.ts.map +1 -1
- package/dist/types/src/extensions/threads.d.ts.map +1 -1
- package/dist/types/src/functions/create-proposals.d.ts +6 -0
- package/dist/types/src/functions/create-proposals.d.ts.map +1 -0
- package/dist/types/src/functions/index.d.ts +2 -0
- package/dist/types/src/functions/index.d.ts.map +1 -0
- package/dist/types/src/hooks/analytics.d.ts +2 -2
- package/dist/types/src/hooks/analytics.d.ts.map +1 -1
- package/dist/types/src/hooks/index.d.ts +2 -1
- package/dist/types/src/hooks/index.d.ts.map +1 -1
- package/dist/types/src/hooks/useBlackCanvasStreamTrack.d.ts +2 -0
- package/dist/types/src/hooks/useBlackCanvasStreamTrack.d.ts.map +1 -0
- package/dist/types/src/hooks/useVideoStreamTrack.d.ts +1 -1
- package/dist/types/src/hooks/useVideoStreamTrack.d.ts.map +1 -1
- package/dist/types/src/meta.d.ts +1 -2
- package/dist/types/src/meta.d.ts.map +1 -1
- package/dist/types/src/testing/stories.d.ts.map +1 -1
- package/dist/types/src/translations.d.ts +79 -7
- package/dist/types/src/translations.d.ts.map +1 -1
- package/dist/types/src/types/Channel.d.ts +16 -0
- package/dist/types/src/types/Channel.d.ts.map +1 -0
- package/dist/types/src/types/index.d.ts +1 -1
- package/dist/types/src/types/index.d.ts.map +1 -1
- package/dist/types/src/types/types.d.ts +236 -265
- package/dist/types/src/types/types.d.ts.map +1 -1
- package/dist/types/tsconfig.tsbuildinfo +1 -1
- package/package.json +69 -63
- package/src/ThreadPlugin.tsx +137 -129
- package/src/calls/call-manager.ts +2 -2
- package/src/calls/call-swarm-synchronizer.ts +1 -1
- package/src/calls/media-manager.ts +66 -37
- package/src/calls/types.ts +8 -4
- package/src/calls/util/calls-service.ts +65 -14
- package/src/calls/util/stub-media-streams.ts +64 -7
- package/src/calls-service.stories.tsx +78 -65
- package/src/capabilities/app-graph-builder.ts +47 -33
- package/src/capabilities/blueprint-definition.ts +38 -0
- package/src/capabilities/call-manager.ts +3 -2
- package/src/capabilities/capabilities.ts +8 -8
- package/src/capabilities/index.ts +2 -0
- package/src/capabilities/intent-resolver.ts +32 -35
- package/src/capabilities/markdown.ts +9 -6
- package/src/capabilities/react-root.tsx +2 -2
- package/src/capabilities/react-surface.tsx +29 -26
- package/src/capabilities/repair.ts +40 -0
- package/src/capabilities/state.ts +2 -1
- package/src/components/Call/Call.tsx +4 -3
- package/src/components/Call/Toolbar.tsx +10 -10
- package/src/components/CallDebugPanel.tsx +112 -55
- package/src/components/CallSidebar.tsx +3 -2
- package/src/components/ChannelContainer.stories.tsx +15 -14
- package/src/components/ChannelContainer.tsx +25 -20
- package/src/components/Chat.stories.tsx +33 -36
- package/src/components/ChatContainer.tsx +35 -23
- package/src/components/Comments.stories.tsx +39 -41
- package/src/components/CommentsContainer.tsx +7 -8
- package/src/components/CommentsThreadContainer.tsx +39 -33
- package/src/components/Lobby/Lobby.tsx +2 -2
- package/src/components/Media/VideoObject.stories.tsx +36 -28
- package/src/components/Media/VideoObject.tsx +1 -1
- package/src/components/MessageContainer.tsx +53 -17
- package/src/components/Participant/Participant.tsx +14 -8
- package/src/components/Participant/ParticipantGrid.tsx +2 -1
- package/src/components/ResponsiveGrid/ResponsiveContainer.stories.tsx +8 -8
- package/src/components/ResponsiveGrid/ResponsiveContainer.tsx +2 -2
- package/src/components/ResponsiveGrid/ResponsiveGrid.stories.tsx +45 -43
- package/src/components/ResponsiveGrid/ResponsiveGrid.tsx +6 -6
- package/src/components/ResponsiveGrid/ResponsiveGridItem.tsx +7 -4
- package/src/components/{ThreadComplementary.tsx → ThreadCompanion.tsx} +72 -35
- package/src/components/ThreadSettings.tsx +6 -7
- package/src/components/command-extension.ts +5 -2
- package/src/components/index.ts +4 -4
- package/src/components/testing.ts +26 -6
- package/src/extensions/threads.ts +31 -21
- package/src/functions/create-proposals.ts +56 -0
- package/src/functions/index.ts +5 -0
- package/src/hooks/analytics.ts +4 -7
- package/src/hooks/index.ts +3 -1
- package/src/hooks/useBlackCanvasStreamTrack.tsx +27 -0
- package/src/hooks/useDebugMode.ts +1 -1
- package/src/hooks/useVideoStreamTrack.tsx +6 -3
- package/src/meta.ts +9 -5
- package/src/testing/stories.ts +5 -8
- package/src/translations.ts +9 -4
- package/src/types/Channel.ts +26 -0
- package/src/types/index.ts +1 -1
- package/src/types/types.ts +31 -30
- package/src/typings/peermetrics-webrtc-stats.d.ts +17 -1
- package/src/typings.d.ts +8 -0
- package/src/util.ts +1 -1
- package/dist/lib/browser/ChannelContainer-3GIE7ASU.mjs +0 -16
- package/dist/lib/browser/ChatContainer-AIGIWAUG.mjs +0 -15
- package/dist/lib/browser/app-graph-builder-N7BE5TYW.mjs.map +0 -7
- package/dist/lib/browser/call-manager-NIPDYUVD.mjs.map +0 -7
- package/dist/lib/browser/chunk-3SGRT4NM.mjs +0 -367
- package/dist/lib/browser/chunk-3SGRT4NM.mjs.map +0 -7
- package/dist/lib/browser/chunk-6NSMBO3B.mjs.map +0 -7
- package/dist/lib/browser/chunk-ERWASUQK.mjs.map +0 -7
- package/dist/lib/browser/chunk-EV4JWI7L.mjs +0 -17
- package/dist/lib/browser/chunk-EV4JWI7L.mjs.map +0 -7
- package/dist/lib/browser/chunk-FR7KJPNY.mjs +0 -21
- package/dist/lib/browser/chunk-FR7KJPNY.mjs.map +0 -7
- package/dist/lib/browser/chunk-GCLD5ESP.mjs +0 -137
- package/dist/lib/browser/chunk-GCLD5ESP.mjs.map +0 -7
- package/dist/lib/browser/chunk-GERVMFQW.mjs.map +0 -7
- package/dist/lib/browser/chunk-KWPRNHTK.mjs.map +0 -7
- package/dist/lib/browser/chunk-LGSDKXPF.mjs +0 -18
- package/dist/lib/browser/chunk-LGSDKXPF.mjs.map +0 -7
- package/dist/lib/browser/chunk-VUWC4IJM.mjs +0 -479
- package/dist/lib/browser/chunk-VUWC4IJM.mjs.map +0 -7
- package/dist/lib/browser/chunk-ZE7KWN36.mjs.map +0 -7
- package/dist/lib/browser/intent-resolver-JFGLZ6VI.mjs.map +0 -7
- package/dist/lib/browser/markdown-M3FMR7OD.mjs.map +0 -7
- package/dist/lib/browser/react-root-JEUSQXI6.mjs +0 -28
- package/dist/lib/browser/react-root-JEUSQXI6.mjs.map +0 -7
- package/dist/lib/browser/react-surface-XWS6GIZY.mjs.map +0 -7
- package/dist/lib/browser/state-H6CYONWE.mjs.map +0 -7
- package/dist/lib/node-esm/ChannelContainer-7FXCKO7X.mjs +0 -17
- package/dist/lib/node-esm/ChatContainer-IQUWU426.mjs +0 -16
- package/dist/lib/node-esm/app-graph-builder-VCW76Z6V.mjs.map +0 -7
- package/dist/lib/node-esm/call-manager-D6O5ZJJ4.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-25ABSYP2.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-2CXOK2TD.mjs +0 -23
- package/dist/lib/node-esm/chunk-2CXOK2TD.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-2MFNK53T.mjs +0 -480
- package/dist/lib/node-esm/chunk-2MFNK53T.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-57XR3LEF.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-75RJ5DJI.mjs +0 -19
- package/dist/lib/node-esm/chunk-75RJ5DJI.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-C3XFMUAY.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-FLBFYGBK.mjs +0 -368
- package/dist/lib/node-esm/chunk-FLBFYGBK.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-GRLRWTRU.mjs +0 -19
- package/dist/lib/node-esm/chunk-GRLRWTRU.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-IHDNQLLR.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-OU5BYIDO.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-TDFHTCZZ.mjs +0 -138
- package/dist/lib/node-esm/chunk-TDFHTCZZ.mjs.map +0 -7
- package/dist/lib/node-esm/intent-resolver-OXGNQ44Y.mjs.map +0 -7
- package/dist/lib/node-esm/markdown-INKTE4MH.mjs.map +0 -7
- package/dist/lib/node-esm/react-root-XYYY2JXZ.mjs +0 -29
- package/dist/lib/node-esm/react-root-XYYY2JXZ.mjs.map +0 -7
- package/dist/lib/node-esm/react-surface-MJ33KPYE.mjs.map +0 -7
- package/dist/lib/node-esm/state-D7WNDT3N.mjs.map +0 -7
- package/dist/types/src/components/ThreadComplementary.d.ts +0 -5
- package/dist/types/src/components/ThreadComplementary.d.ts.map +0 -1
- package/dist/types/src/types/schema.d.ts +0 -162
- package/dist/types/src/types/schema.d.ts.map +0 -1
- package/src/types/schema.ts +0 -33
- /package/dist/lib/browser/{ChannelContainer-3GIE7ASU.mjs.map → ChannelContainer-L7MKV7DS.mjs.map} +0 -0
- /package/dist/lib/browser/{ChatContainer-AIGIWAUG.mjs.map → ChatContainer-KPY4BAUE.mjs.map} +0 -0
- /package/dist/lib/{node-esm/ChannelContainer-7FXCKO7X.mjs.map → browser/chunk-J5LGTIGS.mjs.map} +0 -0
- /package/dist/lib/node-esm/{ChatContainer-IQUWU426.mjs.map → ChannelContainer-FYONOOZ6.mjs.map} +0 -0
|
@@ -6,14 +6,15 @@ import { type Extension } from '@codemirror/state';
|
|
|
6
6
|
import { EditorView } from '@codemirror/view';
|
|
7
7
|
import { computed, effect } from '@preact/signals-core';
|
|
8
8
|
|
|
9
|
-
import {
|
|
9
|
+
import { type PromiseIntentDispatcher, createIntent } from '@dxos/app-framework';
|
|
10
10
|
import { Filter, Obj, Query, Relation } from '@dxos/echo';
|
|
11
|
+
import { createDocAccessor, getTextInRange } from '@dxos/echo-db';
|
|
11
12
|
import { type Markdown } from '@dxos/plugin-markdown/types';
|
|
12
|
-
import { getSpace
|
|
13
|
+
import { getSpace } from '@dxos/react-client/echo';
|
|
13
14
|
import { comments, createExternalCommentSync } from '@dxos/react-ui-editor';
|
|
14
|
-
import { AnchoredTo } from '@dxos/
|
|
15
|
+
import { AnchoredTo, Thread } from '@dxos/types';
|
|
15
16
|
|
|
16
|
-
import { ThreadAction,
|
|
17
|
+
import { ThreadAction, type ThreadState } from '../types';
|
|
17
18
|
|
|
18
19
|
// TODO(burdon): Factor out.
|
|
19
20
|
const getName = (doc: Markdown.Document, anchor: string): string | undefined => {
|
|
@@ -27,23 +28,23 @@ const getName = (doc: Markdown.Document, anchor: string): string | undefined =>
|
|
|
27
28
|
* Construct plugins.
|
|
28
29
|
*/
|
|
29
30
|
export const threads = (state: ThreadState, doc?: Markdown.Document, dispatch?: PromiseIntentDispatcher): Extension => {
|
|
30
|
-
const space =
|
|
31
|
+
const space = getSpace(doc);
|
|
31
32
|
if (!doc || !space || !dispatch) {
|
|
32
33
|
// Include no-op comments extension here to ensure that the facets are always present when they are expected.
|
|
33
34
|
// TODO(wittjosiah): The Editor should only look for these facets when comments are available.
|
|
34
35
|
return [comments()];
|
|
35
36
|
}
|
|
36
37
|
|
|
37
|
-
const query = space.db.query(Query.select(Filter.ids(doc.id)).targetOf(AnchoredTo));
|
|
38
|
+
const query = space.db.query(Query.select(Filter.ids(doc.id)).targetOf(AnchoredTo.AnchoredTo));
|
|
38
39
|
const unsubscribe = query.subscribe();
|
|
39
40
|
|
|
40
41
|
const anchors = computed(() =>
|
|
41
42
|
query.objects
|
|
42
43
|
.filter((anchor) => {
|
|
43
44
|
const thread = Relation.getSource(anchor);
|
|
44
|
-
return Obj.instanceOf(
|
|
45
|
+
return Obj.instanceOf(Thread.Thread, thread) && thread.status !== 'resolved';
|
|
45
46
|
})
|
|
46
|
-
.concat(state.drafts[
|
|
47
|
+
.concat(state.drafts[Obj.getDXN(doc).toString()] ?? []),
|
|
47
48
|
);
|
|
48
49
|
|
|
49
50
|
return [
|
|
@@ -60,7 +61,7 @@ export const threads = (state: ThreadState, doc?: Markdown.Document, dispatch?:
|
|
|
60
61
|
// Only update if the name has changed, otherwise this will cause an infinite loop.
|
|
61
62
|
// Skip if the name is empty; this means comment text was deleted, but thread name should remain.
|
|
62
63
|
const name = getName(doc, anchor.anchor);
|
|
63
|
-
const thread = Relation.getSource(anchor) as
|
|
64
|
+
const thread = Relation.getSource(anchor) as Thread.Thread;
|
|
64
65
|
if (name && name !== thread.name) {
|
|
65
66
|
thread.name = name;
|
|
66
67
|
}
|
|
@@ -70,46 +71,55 @@ export const threads = (state: ThreadState, doc?: Markdown.Document, dispatch?:
|
|
|
70
71
|
}),
|
|
71
72
|
|
|
72
73
|
createExternalCommentSync(
|
|
73
|
-
|
|
74
|
+
Obj.getDXN(doc).toString(),
|
|
74
75
|
(sink) => effect(() => sink()),
|
|
75
76
|
() =>
|
|
76
77
|
anchors.value
|
|
77
78
|
.filter((anchor) => anchor.anchor)
|
|
78
|
-
.map((anchor) => ({
|
|
79
|
+
.map((anchor) => ({
|
|
80
|
+
id: Obj.getDXN(Relation.getSource(anchor)).toString(),
|
|
81
|
+
cursor: anchor.anchor,
|
|
82
|
+
})),
|
|
79
83
|
),
|
|
80
84
|
|
|
81
85
|
comments({
|
|
82
|
-
id:
|
|
86
|
+
id: Obj.getDXN(doc).toString(),
|
|
83
87
|
onCreate: ({ cursor }) => {
|
|
84
88
|
const name = getName(doc, cursor);
|
|
85
|
-
void dispatch(
|
|
89
|
+
void dispatch(
|
|
90
|
+
createIntent(ThreadAction.Create, {
|
|
91
|
+
anchor: cursor,
|
|
92
|
+
name,
|
|
93
|
+
subject: doc,
|
|
94
|
+
}),
|
|
95
|
+
);
|
|
86
96
|
},
|
|
87
97
|
onDelete: ({ id }) => {
|
|
88
|
-
const draft = state.drafts[
|
|
98
|
+
const draft = state.drafts[Obj.getDXN(doc).toString()];
|
|
89
99
|
if (draft) {
|
|
90
|
-
const index = draft.findIndex((thread) =>
|
|
100
|
+
const index = draft.findIndex((thread) => Obj.getDXN(thread).toString() === id);
|
|
91
101
|
if (index !== -1) {
|
|
92
102
|
draft.splice(index, 1);
|
|
93
103
|
}
|
|
94
104
|
}
|
|
95
105
|
|
|
96
|
-
const thread = query.objects.find((object) => getSource(object).id === id);
|
|
106
|
+
const thread = query.objects.find((object) => Relation.getSource(object).id === id);
|
|
97
107
|
if (thread) {
|
|
98
108
|
thread.anchor = undefined;
|
|
99
109
|
}
|
|
100
110
|
},
|
|
101
111
|
onUpdate: ({ id, cursor }) => {
|
|
102
|
-
const draft = state.drafts[
|
|
112
|
+
const draft = state.drafts[Obj.getDXN(doc).toString()]?.find((thread) => Obj.getDXN(thread).toString() === id);
|
|
103
113
|
if (draft) {
|
|
104
|
-
const thread = Relation.getSource(draft) as
|
|
114
|
+
const thread = Relation.getSource(draft) as Thread.Thread;
|
|
105
115
|
thread.name = getName(doc, cursor);
|
|
106
116
|
draft.anchor = cursor;
|
|
107
117
|
}
|
|
108
118
|
|
|
109
|
-
const relation = query.objects.find((object) => getSource(object).id === id);
|
|
119
|
+
const relation = query.objects.find((object) => Relation.getSource(object).id === id);
|
|
110
120
|
if (relation) {
|
|
111
|
-
const thread = getSource(relation);
|
|
112
|
-
if (Obj.instanceOf(
|
|
121
|
+
const thread = Relation.getSource(relation);
|
|
122
|
+
if (Obj.instanceOf(Thread.Thread, thread)) {
|
|
113
123
|
thread.name = getName(doc, cursor);
|
|
114
124
|
relation.anchor = cursor;
|
|
115
125
|
}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
//
|
|
2
|
+
// Copyright 2025 DXOS.org
|
|
3
|
+
//
|
|
4
|
+
|
|
5
|
+
import * as Array from 'effect/Array';
|
|
6
|
+
import * as Effect from 'effect/Effect';
|
|
7
|
+
import * as Function from 'effect/Function';
|
|
8
|
+
import * as Schema from 'effect/Schema';
|
|
9
|
+
|
|
10
|
+
import { ArtifactId, computeDiffsWithCursors } from '@dxos/assistant';
|
|
11
|
+
import { Obj, Ref, Relation } from '@dxos/echo';
|
|
12
|
+
import { createDocAccessor } from '@dxos/echo-db';
|
|
13
|
+
import { DatabaseService, defineFunction } from '@dxos/functions';
|
|
14
|
+
import { DXN } from '@dxos/keys';
|
|
15
|
+
import { Markdown } from '@dxos/plugin-markdown/types';
|
|
16
|
+
import { AnchoredTo, Message, Thread } from '@dxos/types';
|
|
17
|
+
|
|
18
|
+
export default defineFunction({
|
|
19
|
+
key: 'dxos.org/function/thread/create-proposals',
|
|
20
|
+
name: 'Create Proposals',
|
|
21
|
+
description: 'Proposes a set of changes to a document.',
|
|
22
|
+
inputSchema: Schema.Struct({
|
|
23
|
+
id: ArtifactId,
|
|
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: { id, diffs: _diffs } }) {
|
|
30
|
+
const object = yield* DatabaseService.resolve(DXN.parse(id), Markdown.Document);
|
|
31
|
+
const content = yield* Effect.promise(() => object.content.load());
|
|
32
|
+
const accessor = createDocAccessor(content, ['content']);
|
|
33
|
+
|
|
34
|
+
yield* Function.pipe(
|
|
35
|
+
computeDiffsWithCursors(accessor, _diffs),
|
|
36
|
+
Array.map(
|
|
37
|
+
Effect.fnUntraced(function* ({ cursor, text }) {
|
|
38
|
+
const proposal = Obj.make(Message.Message, {
|
|
39
|
+
created: new Date().toISOString(),
|
|
40
|
+
sender: { role: 'assistant' },
|
|
41
|
+
blocks: [{ _tag: 'proposal', text }],
|
|
42
|
+
});
|
|
43
|
+
const thread = Thread.make({ name: 'Proposal', messages: [Ref.make(proposal)], status: 'active' });
|
|
44
|
+
const relation = Relation.make(AnchoredTo.AnchoredTo, {
|
|
45
|
+
[Relation.Source]: thread,
|
|
46
|
+
[Relation.Target]: object,
|
|
47
|
+
anchor: cursor,
|
|
48
|
+
});
|
|
49
|
+
yield* DatabaseService.add(thread);
|
|
50
|
+
yield* DatabaseService.add(relation);
|
|
51
|
+
}),
|
|
52
|
+
),
|
|
53
|
+
Effect.allWith({ concurrency: 'unbounded' }),
|
|
54
|
+
);
|
|
55
|
+
}),
|
|
56
|
+
});
|
package/src/hooks/analytics.ts
CHANGED
|
@@ -4,18 +4,15 @@
|
|
|
4
4
|
|
|
5
5
|
import { useCallback } from 'react';
|
|
6
6
|
|
|
7
|
-
import { createIntent
|
|
7
|
+
import { createIntent } from '@dxos/app-framework';
|
|
8
|
+
import { useIntentDispatcher } from '@dxos/app-framework/react';
|
|
8
9
|
import { type Live } from '@dxos/live-object';
|
|
9
10
|
import { ObservabilityAction } from '@dxos/plugin-observability/types';
|
|
10
11
|
import { getSpace } from '@dxos/react-client/echo';
|
|
11
12
|
import { useOnTransition } from '@dxos/react-ui';
|
|
12
|
-
import { type
|
|
13
|
+
import { type ContentBlock } from '@dxos/types';
|
|
13
14
|
|
|
14
|
-
export const useOnEditAnalytics = (
|
|
15
|
-
message: Live<any>,
|
|
16
|
-
textBlock: DataType.MessageBlock.Text | undefined,
|
|
17
|
-
editing: boolean,
|
|
18
|
-
) => {
|
|
15
|
+
export const useOnEditAnalytics = (message: Live<any>, textBlock: ContentBlock.Text | undefined, editing: boolean) => {
|
|
19
16
|
const { dispatchPromise: dispatch } = useIntentDispatcher();
|
|
20
17
|
|
|
21
18
|
const onEdit = useCallback(() => {
|
package/src/hooks/index.ts
CHANGED
|
@@ -3,7 +3,9 @@
|
|
|
3
3
|
//
|
|
4
4
|
|
|
5
5
|
export * from './analytics';
|
|
6
|
+
|
|
7
|
+
export * from './useBlackCanvasStreamTrack';
|
|
6
8
|
export * from './useDebugMode';
|
|
9
|
+
export * from './useInaudibleAudioStreamTrack';
|
|
7
10
|
export * from './useStatus';
|
|
8
11
|
export * from './useVideoStreamTrack';
|
|
9
|
-
export * from './useInaudibleAudioStreamTrack';
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
//
|
|
2
|
+
// Copyright 2025 DXOS.org
|
|
3
|
+
//
|
|
4
|
+
|
|
5
|
+
import { useEffect, useState } from 'react';
|
|
6
|
+
|
|
7
|
+
import { scheduleTask } from '@dxos/async';
|
|
8
|
+
import { Context } from '@dxos/context';
|
|
9
|
+
|
|
10
|
+
import { createBlackCanvasStreamTrack } from '../calls/util/stub-media-streams';
|
|
11
|
+
|
|
12
|
+
export const useBlackCanvasStreamTrack = () => {
|
|
13
|
+
const [blackCanvasStreamTrack, setBlackCanvasStreamTrack] = useState<MediaStreamTrack | undefined>(undefined);
|
|
14
|
+
useEffect(() => {
|
|
15
|
+
const ctx = new Context();
|
|
16
|
+
scheduleTask(ctx, async () => {
|
|
17
|
+
const blackCanvasStreamTrack = await createBlackCanvasStreamTrack({ ctx, width: 720, height: 480 });
|
|
18
|
+
setBlackCanvasStreamTrack(blackCanvasStreamTrack);
|
|
19
|
+
});
|
|
20
|
+
|
|
21
|
+
return () => {
|
|
22
|
+
void ctx.dispose();
|
|
23
|
+
};
|
|
24
|
+
}, []);
|
|
25
|
+
|
|
26
|
+
return blackCanvasStreamTrack;
|
|
27
|
+
};
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
|
|
5
5
|
import { type RefObject, useEffect, useRef, useState } from 'react';
|
|
6
6
|
|
|
7
|
-
export const useVideoStreamTrack = (videoElement: RefObject<HTMLVideoElement>, videoSrc: string) => {
|
|
7
|
+
export const useVideoStreamTrack = (videoElement: RefObject<HTMLVideoElement | null>, videoSrc: string) => {
|
|
8
8
|
// Get video stream track.
|
|
9
9
|
const [videoStreamTrack, setVideoStreamTrack] = useState<MediaStreamTrack | undefined>(undefined);
|
|
10
10
|
const hadRun = useRef(false);
|
|
@@ -15,13 +15,16 @@ export const useVideoStreamTrack = (videoElement: RefObject<HTMLVideoElement>, v
|
|
|
15
15
|
}
|
|
16
16
|
hadRun.current = true;
|
|
17
17
|
videoElement.current.addEventListener('playing', () => {
|
|
18
|
+
if (videoStreamTrack) {
|
|
19
|
+
return;
|
|
20
|
+
}
|
|
18
21
|
const stream = (videoElement.current as any).captureStream();
|
|
19
22
|
const track = stream.getTracks()[0];
|
|
20
|
-
if (track) {
|
|
23
|
+
if (track && !videoStreamTrack) {
|
|
21
24
|
setVideoStreamTrack(track);
|
|
22
25
|
}
|
|
23
26
|
stream.onaddtrack = (event: MediaStreamTrackEvent) => {
|
|
24
|
-
if (event.track.kind === 'video') {
|
|
27
|
+
if (event.track.kind === 'video' && !videoStreamTrack) {
|
|
25
28
|
setVideoStreamTrack(event.track);
|
|
26
29
|
}
|
|
27
30
|
};
|
package/src/meta.ts
CHANGED
|
@@ -3,15 +3,19 @@
|
|
|
3
3
|
//
|
|
4
4
|
|
|
5
5
|
import { type PluginMeta } from '@dxos/app-framework';
|
|
6
|
-
|
|
7
|
-
export const THREAD_PLUGIN = 'dxos.org/plugin/thread';
|
|
8
|
-
export const THREAD_ITEM = `${THREAD_PLUGIN}/item`;
|
|
6
|
+
import { trim } from '@dxos/util';
|
|
9
7
|
|
|
10
8
|
// TODO(wittjosiah): Needs screenshots.
|
|
11
9
|
export const meta: PluginMeta = {
|
|
12
|
-
id:
|
|
10
|
+
id: 'dxos.org/plugin/thread',
|
|
13
11
|
name: 'Chat',
|
|
14
|
-
description:
|
|
12
|
+
description: trim`
|
|
13
|
+
Multi-modal communication platform supporting text chat, voice, and video conferencing.
|
|
14
|
+
Create threaded conversations and add contextual comments directly on any workspace object.
|
|
15
|
+
`,
|
|
15
16
|
icon: 'ph--video-conference--regular',
|
|
17
|
+
iconHue: 'rose',
|
|
16
18
|
source: 'https://github.com/dxos/dxos/tree/main/packages/plugins/plugin-thread',
|
|
17
19
|
};
|
|
20
|
+
|
|
21
|
+
export const THREAD_ITEM = `${meta.id}/item`;
|
package/src/testing/stories.ts
CHANGED
|
@@ -3,28 +3,25 @@
|
|
|
3
3
|
//
|
|
4
4
|
|
|
5
5
|
import { IntentPlugin, SettingsPlugin } from '@dxos/app-framework';
|
|
6
|
-
import { Obj } from '@dxos/echo';
|
|
7
6
|
import { ClientPlugin } from '@dxos/plugin-client';
|
|
8
7
|
import { GraphPlugin } from '@dxos/plugin-graph';
|
|
9
8
|
import { SpacePlugin } from '@dxos/plugin-space';
|
|
10
9
|
import { ThemePlugin } from '@dxos/plugin-theme';
|
|
11
10
|
import { Config } from '@dxos/react-client';
|
|
12
|
-
import { Ref } from '@dxos/react-client/echo';
|
|
13
11
|
import { defaultTx } from '@dxos/react-ui-theme';
|
|
14
12
|
|
|
15
13
|
import { ThreadPlugin } from '../ThreadPlugin';
|
|
16
|
-
import {
|
|
14
|
+
import { Channel } from '../types';
|
|
17
15
|
|
|
18
16
|
export const createThreadPlugins = async () => [
|
|
19
17
|
ThemePlugin({ tx: defaultTx }),
|
|
20
18
|
ClientPlugin({
|
|
21
|
-
onClientInitialized: async (
|
|
19
|
+
onClientInitialized: async ({ client }) => {
|
|
22
20
|
await client.halo.createIdentity({ displayName: 'Test User' });
|
|
23
21
|
},
|
|
24
|
-
onSpacesReady: async (
|
|
22
|
+
onSpacesReady: async ({ client }) => {
|
|
25
23
|
await client.spaces.default.waitUntilReady();
|
|
26
|
-
|
|
27
|
-
client.spaces.default.db.add(Obj.make(ChannelType, { defaultThread: Ref.make(thread), threads: [] }));
|
|
24
|
+
client.spaces.default.db.add(Channel.make());
|
|
28
25
|
},
|
|
29
26
|
config: new Config({
|
|
30
27
|
runtime: {
|
|
@@ -46,7 +43,7 @@ export const createThreadPlugins = async () => [
|
|
|
46
43
|
},
|
|
47
44
|
}),
|
|
48
45
|
}),
|
|
49
|
-
SpacePlugin(),
|
|
46
|
+
SpacePlugin({}),
|
|
50
47
|
IntentPlugin(),
|
|
51
48
|
SettingsPlugin(),
|
|
52
49
|
GraphPlugin(),
|
package/src/translations.ts
CHANGED
|
@@ -2,15 +2,16 @@
|
|
|
2
2
|
// Copyright 2023 DXOS.org
|
|
3
3
|
//
|
|
4
4
|
|
|
5
|
+
import { Type } from '@dxos/echo';
|
|
5
6
|
import { type Resource } from '@dxos/react-ui';
|
|
6
7
|
|
|
7
8
|
import { meta } from './meta';
|
|
8
|
-
import {
|
|
9
|
+
import { Channel } from './types';
|
|
9
10
|
|
|
10
11
|
export const translations = [
|
|
11
12
|
{
|
|
12
13
|
'en-US': {
|
|
13
|
-
[
|
|
14
|
+
[Type.getTypename(Channel.Channel)]: {
|
|
14
15
|
'typename label': 'Channel',
|
|
15
16
|
'typename label_zero': 'Channels',
|
|
16
17
|
'typename label_one': 'Channel',
|
|
@@ -18,6 +19,7 @@ export const translations = [
|
|
|
18
19
|
'object name placeholder': 'New channel',
|
|
19
20
|
'rename object label': 'Rename channel',
|
|
20
21
|
'delete object label': 'Delete channel',
|
|
22
|
+
'object deleted label': 'Channel deleted',
|
|
21
23
|
},
|
|
22
24
|
[meta.id]: {
|
|
23
25
|
'plugin name': 'Chat',
|
|
@@ -44,10 +46,12 @@ export const translations = [
|
|
|
44
46
|
'save message label': 'Save',
|
|
45
47
|
'edit message label': 'Edit',
|
|
46
48
|
'delete message label': 'Delete message',
|
|
49
|
+
'accept proposal label': 'Accept proposal',
|
|
47
50
|
'open comments panel label': 'Show Comments',
|
|
48
51
|
'comments label': 'Comments',
|
|
49
52
|
'show all label': 'All comments',
|
|
50
53
|
'show unresolved label': 'Unresolved comments',
|
|
54
|
+
'add comment label': 'Add comment',
|
|
51
55
|
|
|
52
56
|
'channel companion label': 'Channel',
|
|
53
57
|
'call panel label': 'Active Call',
|
|
@@ -58,9 +62,10 @@ export const translations = [
|
|
|
58
62
|
'set display name label': 'Continue',
|
|
59
63
|
|
|
60
64
|
'call tab label': 'Call',
|
|
61
|
-
'meeting status title': '
|
|
65
|
+
'meeting status title': 'Calls',
|
|
62
66
|
'share meeting link label': 'Share meeting',
|
|
63
|
-
'show webrtc stats title': '
|
|
67
|
+
'show webrtc stats title': 'WebRTC Stats',
|
|
68
|
+
'show calls history title': 'Service History',
|
|
64
69
|
|
|
65
70
|
'meeting summary label': 'Summary',
|
|
66
71
|
'summarize label': 'Summarize',
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
//
|
|
2
|
+
// Copyright 2025 DXOS.org
|
|
3
|
+
//
|
|
4
|
+
|
|
5
|
+
import * as Schema from 'effect/Schema';
|
|
6
|
+
|
|
7
|
+
import { Obj, Ref, Type } from '@dxos/echo';
|
|
8
|
+
import { FormInputAnnotation } from '@dxos/echo/internal';
|
|
9
|
+
import { Thread } from '@dxos/types';
|
|
10
|
+
|
|
11
|
+
const _Channel = Schema.Struct({
|
|
12
|
+
name: Schema.optional(Schema.String),
|
|
13
|
+
defaultThread: Type.Ref(Thread.Thread).pipe(FormInputAnnotation.set(false)),
|
|
14
|
+
// TODO(wittjosiah): Should be an "ordered collection".
|
|
15
|
+
threads: Type.Ref(Thread.Thread).pipe(Schema.Array, Schema.mutable, FormInputAnnotation.set(false)),
|
|
16
|
+
}).pipe(Type.Obj({ typename: 'dxos.org/type/Channel', version: '0.1.0' }));
|
|
17
|
+
export interface Channel extends Schema.Schema.Type<typeof _Channel> {}
|
|
18
|
+
export interface ChannelEncoded extends Schema.Schema.Encoded<typeof _Channel> {}
|
|
19
|
+
export const Channel: Schema.Schema<Channel, ChannelEncoded> = _Channel;
|
|
20
|
+
|
|
21
|
+
export const make = (props: Pick<Obj.MakeProps<typeof Channel>, 'name'> = {}) =>
|
|
22
|
+
Obj.make(Channel, {
|
|
23
|
+
...props,
|
|
24
|
+
defaultThread: Ref.make(Obj.make(Thread.Thread, { messages: [], status: 'active' })),
|
|
25
|
+
threads: [],
|
|
26
|
+
});
|
package/src/types/index.ts
CHANGED
package/src/types/types.ts
CHANGED
|
@@ -2,49 +2,50 @@
|
|
|
2
2
|
// Copyright 2023 DXOS.org
|
|
3
3
|
//
|
|
4
4
|
|
|
5
|
-
import
|
|
5
|
+
import * as Schema from 'effect/Schema';
|
|
6
6
|
|
|
7
|
-
import {
|
|
7
|
+
import { Key } from '@dxos/echo';
|
|
8
8
|
import { EchoObjectSchema, SpaceSchema } from '@dxos/react-client/echo';
|
|
9
|
-
import {
|
|
9
|
+
import { Collection } from '@dxos/schema';
|
|
10
|
+
import { Actor, AnchoredTo, Message, Thread } from '@dxos/types';
|
|
10
11
|
|
|
11
|
-
import {
|
|
12
|
-
import { THREAD_PLUGIN } from '../meta';
|
|
12
|
+
import { meta } from '../meta';
|
|
13
13
|
|
|
14
|
-
|
|
15
|
-
const THREAD_ACTION = `${THREAD_PLUGIN}/action`;
|
|
14
|
+
import * as Channel from './Channel';
|
|
16
15
|
|
|
17
|
-
|
|
16
|
+
export namespace ThreadAction {
|
|
17
|
+
export class OnCreateSpace extends Schema.TaggedClass<OnCreateSpace>()(`${meta.id}/action/on-space-created`, {
|
|
18
18
|
input: Schema.Struct({
|
|
19
19
|
space: SpaceSchema,
|
|
20
|
-
rootCollection:
|
|
20
|
+
rootCollection: Collection.Collection,
|
|
21
|
+
isDefault: Schema.Boolean.pipe(Schema.optional),
|
|
21
22
|
}),
|
|
22
23
|
output: Schema.Void,
|
|
23
24
|
}) {}
|
|
24
25
|
|
|
25
|
-
export class CreateChannel extends Schema.TaggedClass<CreateChannel>()(`${
|
|
26
|
+
export class CreateChannel extends Schema.TaggedClass<CreateChannel>()(`${meta.id}/action/create-channel`, {
|
|
26
27
|
input: Schema.Struct({
|
|
27
|
-
spaceId:
|
|
28
|
+
spaceId: Key.SpaceId,
|
|
28
29
|
name: Schema.optional(Schema.String),
|
|
29
30
|
}),
|
|
30
31
|
output: Schema.Struct({
|
|
31
|
-
object:
|
|
32
|
+
object: Channel.Channel,
|
|
32
33
|
}),
|
|
33
34
|
}) {}
|
|
34
35
|
|
|
35
36
|
export class CreateChannelThread extends Schema.TaggedClass<CreateChannelThread>()(
|
|
36
|
-
`${
|
|
37
|
+
`${meta.id}/action/create-channel-thread`,
|
|
37
38
|
{
|
|
38
39
|
input: Schema.Struct({
|
|
39
|
-
channel:
|
|
40
|
+
channel: Channel.Channel,
|
|
40
41
|
}),
|
|
41
42
|
output: Schema.Struct({
|
|
42
|
-
object:
|
|
43
|
+
object: Thread.Thread,
|
|
43
44
|
}),
|
|
44
45
|
},
|
|
45
46
|
) {}
|
|
46
47
|
|
|
47
|
-
export class Create extends Schema.TaggedClass<Create>()(`${
|
|
48
|
+
export class Create extends Schema.TaggedClass<Create>()(`${meta.id}/action/create`, {
|
|
48
49
|
input: Schema.Struct({
|
|
49
50
|
name: Schema.optional(Schema.String),
|
|
50
51
|
anchor: Schema.optional(Schema.String),
|
|
@@ -53,45 +54,45 @@ export namespace ThreadAction {
|
|
|
53
54
|
output: Schema.Void,
|
|
54
55
|
}) {}
|
|
55
56
|
|
|
56
|
-
export class Delete extends Schema.TaggedClass<Delete>()(`${
|
|
57
|
+
export class Delete extends Schema.TaggedClass<Delete>()(`${meta.id}/action/delete`, {
|
|
57
58
|
input: Schema.Struct({
|
|
58
|
-
anchor: AnchoredTo,
|
|
59
|
+
anchor: AnchoredTo.AnchoredTo,
|
|
59
60
|
subject: EchoObjectSchema,
|
|
60
|
-
thread: Schema.optional(
|
|
61
|
+
thread: Schema.optional(Thread.Thread),
|
|
61
62
|
}),
|
|
62
63
|
output: Schema.Void,
|
|
63
64
|
}) {}
|
|
64
65
|
|
|
65
|
-
export class Select extends Schema.TaggedClass<Select>()(`${
|
|
66
|
+
export class Select extends Schema.TaggedClass<Select>()(`${meta.id}/action/select`, {
|
|
66
67
|
input: Schema.Struct({
|
|
67
68
|
current: Schema.String,
|
|
68
69
|
}),
|
|
69
70
|
output: Schema.Void,
|
|
70
71
|
}) {}
|
|
71
72
|
|
|
72
|
-
export class ToggleResolved extends Schema.TaggedClass<ToggleResolved>()(`${
|
|
73
|
+
export class ToggleResolved extends Schema.TaggedClass<ToggleResolved>()(`${meta.id}/action/toggle-resolved`, {
|
|
73
74
|
input: Schema.Struct({
|
|
74
|
-
thread:
|
|
75
|
+
thread: Thread.Thread,
|
|
75
76
|
}),
|
|
76
77
|
output: Schema.Void,
|
|
77
78
|
}) {}
|
|
78
79
|
|
|
79
|
-
export class AddMessage extends Schema.TaggedClass<AddMessage>()(`${
|
|
80
|
+
export class AddMessage extends Schema.TaggedClass<AddMessage>()(`${meta.id}/action/add-message`, {
|
|
80
81
|
input: Schema.Struct({
|
|
81
82
|
subject: EchoObjectSchema,
|
|
82
|
-
anchor: AnchoredTo,
|
|
83
|
-
sender:
|
|
83
|
+
anchor: AnchoredTo.AnchoredTo,
|
|
84
|
+
sender: Actor.Actor,
|
|
84
85
|
text: Schema.String,
|
|
85
86
|
}),
|
|
86
87
|
output: Schema.Void,
|
|
87
88
|
}) {}
|
|
88
89
|
|
|
89
|
-
export class DeleteMessage extends Schema.TaggedClass<DeleteMessage>()(`${
|
|
90
|
+
export class DeleteMessage extends Schema.TaggedClass<DeleteMessage>()(`${meta.id}/action/delete-message`, {
|
|
90
91
|
input: Schema.Struct({
|
|
91
|
-
anchor: AnchoredTo,
|
|
92
|
+
anchor: AnchoredTo.AnchoredTo,
|
|
92
93
|
subject: EchoObjectSchema,
|
|
93
94
|
messageId: Schema.String,
|
|
94
|
-
message: Schema.optional(
|
|
95
|
+
message: Schema.optional(Message.Message),
|
|
95
96
|
messageIndex: Schema.optional(Schema.Number),
|
|
96
97
|
}),
|
|
97
98
|
output: Schema.Void,
|
|
@@ -102,7 +103,7 @@ export const ThreadSettingsSchema = Schema.mutable(Schema.Struct({}));
|
|
|
102
103
|
export type ThreadSettingsProps = Schema.Schema.Type<typeof ThreadSettingsSchema>;
|
|
103
104
|
|
|
104
105
|
export interface ThreadModel {
|
|
105
|
-
root:
|
|
106
|
+
root: Thread.Thread;
|
|
106
107
|
}
|
|
107
108
|
|
|
108
109
|
type SubjectId = string;
|
|
@@ -113,6 +114,6 @@ export type ThreadState = {
|
|
|
113
114
|
/** Object toolbar state. */
|
|
114
115
|
toolbar: Record<string, boolean>;
|
|
115
116
|
/** In-memory draft threads. */
|
|
116
|
-
drafts: Record<string, AnchoredTo[]>;
|
|
117
|
+
drafts: Record<string, AnchoredTo.AnchoredTo[]>;
|
|
117
118
|
current?: string | undefined;
|
|
118
119
|
};
|
|
@@ -22,7 +22,23 @@ declare module '@peermetrics/webrtc-stats' {
|
|
|
22
22
|
connectionId: string;
|
|
23
23
|
}
|
|
24
24
|
|
|
25
|
-
|
|
25
|
+
type TrackStats = {
|
|
26
|
+
id: string;
|
|
27
|
+
kind: 'audio' | 'video';
|
|
28
|
+
codecId: string;
|
|
29
|
+
mid: string;
|
|
30
|
+
bytesSent: number;
|
|
31
|
+
bytesReceived: number;
|
|
32
|
+
};
|
|
33
|
+
|
|
34
|
+
export type WebRTCStatsEvent = {
|
|
35
|
+
data: {
|
|
36
|
+
audio: { inbound: TrackStats[]; outbound: TrackStats[] };
|
|
37
|
+
video: { inbound: TrackStats[]; outbound: TrackStats[] };
|
|
38
|
+
};
|
|
39
|
+
};
|
|
40
|
+
|
|
41
|
+
export class WebRTCStats extends EventEmitter<{ stats: WebRTCStatsEvent }> {
|
|
26
42
|
constructor(options: WebRTCStatsConstructorOptions);
|
|
27
43
|
addConnection(info: ConnectionInfo): void;
|
|
28
44
|
removeConnection(info: Pick<ConnectionInfo, 'pc'>): void;
|
package/src/typings.d.ts
ADDED
package/src/util.ts
CHANGED
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
import {
|
|
2
|
-
ChannelContainer,
|
|
3
|
-
ChannelContainer_default
|
|
4
|
-
} from "./chunk-KWPRNHTK.mjs";
|
|
5
|
-
import "./chunk-FR7KJPNY.mjs";
|
|
6
|
-
import "./chunk-LGSDKXPF.mjs";
|
|
7
|
-
import "./chunk-VUWC4IJM.mjs";
|
|
8
|
-
import "./chunk-ERWASUQK.mjs";
|
|
9
|
-
import "./chunk-GERVMFQW.mjs";
|
|
10
|
-
import "./chunk-6NSMBO3B.mjs";
|
|
11
|
-
import "./chunk-EV4JWI7L.mjs";
|
|
12
|
-
export {
|
|
13
|
-
ChannelContainer,
|
|
14
|
-
ChannelContainer_default as default
|
|
15
|
-
};
|
|
16
|
-
//# sourceMappingURL=ChannelContainer-3GIE7ASU.mjs.map
|