@dxos/plugin-thread 0.8.2-main.fbd8ed0 → 0.8.2-staging.4d6ad0f
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-XFNGSLHL.mjs +15 -0
- package/dist/lib/browser/ChatContainer-JWRI73OG.mjs +14 -0
- package/dist/lib/browser/app-graph-builder-K3CFBN7V.mjs +171 -0
- package/dist/lib/browser/app-graph-builder-K3CFBN7V.mjs.map +7 -0
- package/dist/lib/browser/call-manager-I4IKVCAK.mjs +23 -0
- package/dist/lib/browser/call-manager-I4IKVCAK.mjs.map +7 -0
- package/dist/lib/browser/{chunk-32EIWOAL.mjs → chunk-5P5BH5GE.mjs} +57 -35
- package/dist/lib/browser/chunk-5P5BH5GE.mjs.map +7 -0
- package/dist/lib/browser/chunk-5PGLGDIP.mjs +983 -0
- package/dist/lib/browser/chunk-5PGLGDIP.mjs.map +7 -0
- package/dist/lib/browser/chunk-G3TS64FP.mjs +351 -0
- package/dist/lib/browser/chunk-G3TS64FP.mjs.map +7 -0
- package/dist/lib/browser/{chunk-WBJLUUOK.mjs → chunk-IIUTBDVB.mjs} +4 -4
- package/dist/lib/browser/chunk-IIUTBDVB.mjs.map +7 -0
- package/dist/lib/browser/chunk-IYY42OE2.mjs +545 -0
- package/dist/lib/browser/chunk-IYY42OE2.mjs.map +7 -0
- package/dist/lib/browser/chunk-JKQUJOTX.mjs +31 -0
- package/dist/lib/browser/chunk-JKQUJOTX.mjs.map +7 -0
- package/dist/lib/browser/chunk-N2V6MV6B.mjs +21 -0
- package/dist/lib/browser/chunk-N2V6MV6B.mjs.map +7 -0
- package/dist/lib/browser/{chunk-EP6MRLY7.mjs → chunk-R5MDLUPC.mjs} +5 -3
- package/dist/lib/browser/chunk-R5MDLUPC.mjs.map +7 -0
- package/dist/lib/browser/chunk-RJGJXXWK.mjs +1708 -0
- package/dist/lib/browser/chunk-RJGJXXWK.mjs.map +7 -0
- package/dist/lib/browser/chunk-WDOQXTI2.mjs +126 -0
- package/dist/lib/browser/chunk-WDOQXTI2.mjs.map +7 -0
- package/dist/lib/browser/index.mjs +101 -35
- package/dist/lib/browser/index.mjs.map +4 -4
- package/dist/lib/browser/{intent-resolver-PDOLX5B7.mjs → intent-resolver-YUYZCTLF.mjs} +95 -62
- package/dist/lib/browser/intent-resolver-YUYZCTLF.mjs.map +7 -0
- package/dist/lib/browser/markdown-4EC3OCF2.mjs +169 -0
- package/dist/lib/browser/markdown-4EC3OCF2.mjs.map +7 -0
- package/dist/lib/browser/meta.json +1 -1
- package/dist/lib/browser/react-root-YYDCVHGL.mjs +27 -0
- package/dist/lib/browser/react-root-YYDCVHGL.mjs.map +7 -0
- package/dist/lib/browser/react-surface-MEYBFPBC.mjs +108 -0
- package/dist/lib/browser/react-surface-MEYBFPBC.mjs.map +7 -0
- package/dist/lib/browser/{settings-K56QXNJ4.mjs → settings-KVBQQSO5.mjs} +3 -3
- package/dist/lib/browser/{state-KBGI3QTR.mjs → state-RKL5MSDP.mjs} +4 -4
- package/dist/lib/browser/{state-KBGI3QTR.mjs.map → state-RKL5MSDP.mjs.map} +3 -3
- package/dist/lib/browser/types/index.mjs +16 -0
- package/dist/lib/browser/types/index.mjs.map +7 -0
- package/dist/lib/node/ChannelContainer-F24RHJPX.cjs +36 -0
- package/dist/lib/node/ChannelContainer-F24RHJPX.cjs.map +7 -0
- package/dist/lib/node/ChatContainer-EE3FPSYO.cjs +35 -0
- package/dist/lib/node/ChatContainer-EE3FPSYO.cjs.map +7 -0
- package/dist/lib/node/app-graph-builder-IRE3GYKE.cjs +179 -0
- package/dist/lib/node/app-graph-builder-IRE3GYKE.cjs.map +7 -0
- package/dist/lib/node/call-manager-FZ4OMTB6.cjs +37 -0
- package/dist/lib/node/call-manager-FZ4OMTB6.cjs.map +7 -0
- package/dist/lib/node/chunk-4B3PPXA6.cjs +371 -0
- package/dist/lib/node/chunk-4B3PPXA6.cjs.map +7 -0
- package/dist/lib/node/{chunk-NQ5DTPOY.cjs → chunk-4YSNVPWU.cjs} +10 -8
- package/dist/lib/node/chunk-4YSNVPWU.cjs.map +7 -0
- package/dist/lib/node/chunk-6B3M6XRE.cjs +984 -0
- package/dist/lib/node/chunk-6B3M6XRE.cjs.map +7 -0
- package/dist/lib/node/chunk-AUIU6JGD.cjs +549 -0
- package/dist/lib/node/chunk-AUIU6JGD.cjs.map +7 -0
- package/dist/lib/node/chunk-ECIVLX56.cjs +1731 -0
- package/dist/lib/node/chunk-ECIVLX56.cjs.map +7 -0
- package/dist/lib/node/{chunk-AZ275P4V.cjs → chunk-EYAUPLHT.cjs} +16 -10
- package/dist/lib/node/chunk-EYAUPLHT.cjs.map +7 -0
- package/dist/lib/node/{chunk-NO6WQR36.cjs → chunk-FUXJAVFZ.cjs} +50 -29
- package/dist/lib/node/chunk-FUXJAVFZ.cjs.map +7 -0
- package/dist/lib/node/{chunk-ONLWOUYZ.cjs → chunk-HLMCEE5K.cjs} +7 -7
- package/dist/lib/node/{chunk-ONLWOUYZ.cjs.map → chunk-HLMCEE5K.cjs.map} +2 -2
- package/dist/lib/node/chunk-LR5NENBE.cjs +54 -0
- package/dist/lib/node/chunk-LR5NENBE.cjs.map +7 -0
- package/dist/lib/node/chunk-TKHJVC2C.cjs +147 -0
- package/dist/lib/node/chunk-TKHJVC2C.cjs.map +7 -0
- package/dist/lib/node/index.cjs +136 -74
- package/dist/lib/node/index.cjs.map +4 -4
- package/dist/lib/node/{intent-resolver-MNTL32W2.cjs → intent-resolver-MZ3HADNY.cjs} +107 -76
- package/dist/lib/node/intent-resolver-MZ3HADNY.cjs.map +7 -0
- package/dist/lib/node/markdown-NJDPXIKD.cjs +178 -0
- package/dist/lib/node/markdown-NJDPXIKD.cjs.map +7 -0
- package/dist/lib/node/meta.json +1 -1
- package/dist/lib/node/react-root-HQDBRGD3.cjs +51 -0
- package/dist/lib/node/react-root-HQDBRGD3.cjs.map +7 -0
- package/dist/lib/node/react-surface-KY5KFKVQ.cjs +122 -0
- package/dist/lib/node/react-surface-KY5KFKVQ.cjs.map +7 -0
- package/dist/lib/node/{settings-4WLSO726.cjs → settings-H45P5YO2.cjs} +8 -8
- package/dist/lib/node/{state-FOHMAVSU.cjs → state-IY5XX3H2.cjs} +8 -8
- package/dist/lib/node/{state-FOHMAVSU.cjs.map → state-IY5XX3H2.cjs.map} +3 -3
- package/dist/lib/node/{types.cjs → types/index.cjs} +12 -6
- package/dist/lib/node/types/index.cjs.map +7 -0
- package/dist/lib/node-esm/ChannelContainer-AOXWXM53.mjs +16 -0
- package/dist/lib/node-esm/ChannelContainer-AOXWXM53.mjs.map +7 -0
- package/dist/lib/node-esm/ChatContainer-UJYPQMLV.mjs +15 -0
- package/dist/lib/node-esm/ChatContainer-UJYPQMLV.mjs.map +7 -0
- package/dist/lib/node-esm/app-graph-builder-I5VMPLE4.mjs +172 -0
- package/dist/lib/node-esm/app-graph-builder-I5VMPLE4.mjs.map +7 -0
- package/dist/lib/node-esm/call-manager-B3D3RK3R.mjs +24 -0
- package/dist/lib/node-esm/call-manager-B3D3RK3R.mjs.map +7 -0
- package/dist/lib/node-esm/chunk-CSO73XLB.mjs +546 -0
- package/dist/lib/node-esm/chunk-CSO73XLB.mjs.map +7 -0
- package/dist/lib/node-esm/{chunk-42F2DTMM.mjs → chunk-ESQC6SYE.mjs} +4 -4
- package/dist/lib/node-esm/chunk-ESQC6SYE.mjs.map +7 -0
- package/dist/lib/node-esm/chunk-J323VQ4P.mjs +127 -0
- package/dist/lib/node-esm/chunk-J323VQ4P.mjs.map +7 -0
- package/dist/lib/node-esm/chunk-JJLYSLLU.mjs +23 -0
- package/dist/lib/node-esm/chunk-JJLYSLLU.mjs.map +7 -0
- package/dist/lib/node-esm/{chunk-WLY2HMDB.mjs → chunk-K4KAUOKT.mjs} +5 -3
- package/dist/lib/node-esm/chunk-K4KAUOKT.mjs.map +7 -0
- package/dist/lib/node-esm/{chunk-IZWN4KAY.mjs → chunk-O3V45YJP.mjs} +57 -35
- package/dist/lib/node-esm/chunk-O3V45YJP.mjs.map +7 -0
- package/dist/lib/node-esm/chunk-PGRP3O4O.mjs +33 -0
- package/dist/lib/node-esm/chunk-PGRP3O4O.mjs.map +7 -0
- package/dist/lib/node-esm/chunk-POKXRTII.mjs +352 -0
- package/dist/lib/node-esm/chunk-POKXRTII.mjs.map +7 -0
- package/dist/lib/node-esm/chunk-WBNC7KMA.mjs +1710 -0
- package/dist/lib/node-esm/chunk-WBNC7KMA.mjs.map +7 -0
- package/dist/lib/node-esm/chunk-X6AUQDTE.mjs +984 -0
- package/dist/lib/node-esm/chunk-X6AUQDTE.mjs.map +7 -0
- package/dist/lib/node-esm/index.mjs +101 -35
- package/dist/lib/node-esm/index.mjs.map +4 -4
- package/dist/lib/node-esm/{intent-resolver-X2FNKFSK.mjs → intent-resolver-CU22OPAH.mjs} +95 -62
- package/dist/lib/node-esm/intent-resolver-CU22OPAH.mjs.map +7 -0
- package/dist/lib/node-esm/markdown-HRGGO7IA.mjs +170 -0
- package/dist/lib/node-esm/markdown-HRGGO7IA.mjs.map +7 -0
- package/dist/lib/node-esm/meta.json +1 -1
- package/dist/lib/node-esm/react-root-MKN5SK3G.mjs +28 -0
- package/dist/lib/node-esm/react-root-MKN5SK3G.mjs.map +7 -0
- package/dist/lib/node-esm/react-surface-J2C7CVX7.mjs +109 -0
- package/dist/lib/node-esm/react-surface-J2C7CVX7.mjs.map +7 -0
- package/dist/lib/node-esm/{settings-5UA6FBMW.mjs → settings-IJGUOU3F.mjs} +3 -3
- package/dist/lib/node-esm/{state-IRLEO2SB.mjs → state-6AUTNROZ.mjs} +4 -4
- package/dist/lib/node-esm/{state-IRLEO2SB.mjs.map → state-6AUTNROZ.mjs.map} +3 -3
- package/dist/lib/node-esm/types/index.mjs +17 -0
- package/dist/lib/node-esm/types/index.mjs.map +7 -0
- package/dist/types/src/ThreadPlugin.d.ts.map +1 -1
- package/dist/types/src/calls/call-manager.d.ts +77 -0
- package/dist/types/src/calls/call-manager.d.ts.map +1 -0
- package/dist/types/src/calls/call-swarm-synchronizer.d.ts +66 -0
- package/dist/types/src/calls/call-swarm-synchronizer.d.ts.map +1 -0
- package/dist/types/src/calls/index.d.ts +7 -0
- package/dist/types/src/calls/index.d.ts.map +1 -0
- package/dist/types/src/calls/media-manager.d.ts +60 -0
- package/dist/types/src/calls/media-manager.d.ts.map +1 -0
- package/dist/types/src/calls/speaking-monitor.d.ts +24 -0
- package/dist/types/src/calls/speaking-monitor.d.ts.map +1 -0
- package/dist/types/src/calls/types.d.ts +45 -0
- package/dist/types/src/calls/types.d.ts.map +1 -0
- package/dist/types/src/calls/util/audio.d.ts +6 -0
- package/dist/types/src/calls/util/audio.d.ts.map +1 -0
- package/dist/types/src/calls/util/calls-service.d.ts +72 -0
- package/dist/types/src/calls/util/calls-service.d.ts.map +1 -0
- package/dist/types/src/calls/util/history-cache.d.ts +11 -0
- package/dist/types/src/calls/util/history-cache.d.ts.map +1 -0
- package/dist/types/src/calls/util/index.d.ts +5 -0
- package/dist/types/src/calls/util/index.d.ts.map +1 -0
- package/dist/types/src/calls/util/media.d.ts +6 -0
- package/dist/types/src/calls/util/media.d.ts.map +1 -0
- package/dist/types/src/calls/util/stub-media-streams.d.ts +18 -0
- package/dist/types/src/calls/util/stub-media-streams.d.ts.map +1 -0
- package/dist/types/src/calls/util/task-scheduling.d.ts +17 -0
- package/dist/types/src/calls/util/task-scheduling.d.ts.map +1 -0
- package/dist/types/src/capabilities/app-graph-builder.d.ts.map +1 -1
- package/dist/types/src/capabilities/call-manager.d.ts +5 -0
- package/dist/types/src/capabilities/call-manager.d.ts.map +1 -0
- package/dist/types/src/capabilities/capabilities.d.ts +13 -1
- package/dist/types/src/capabilities/capabilities.d.ts.map +1 -1
- package/dist/types/src/capabilities/index.d.ts +5 -0
- package/dist/types/src/capabilities/index.d.ts.map +1 -1
- package/dist/types/src/capabilities/intent-resolver.d.ts.map +1 -1
- package/dist/types/src/capabilities/markdown.d.ts.map +1 -1
- package/dist/types/src/capabilities/react-root.d.ts +7 -0
- package/dist/types/src/capabilities/react-root.d.ts.map +1 -0
- package/dist/types/src/capabilities/react-surface.d.ts.map +1 -1
- package/dist/types/src/components/Call/Call.d.ts +17 -0
- package/dist/types/src/components/Call/Call.d.ts.map +1 -0
- package/dist/types/src/components/Call/Toolbar.d.ts +16 -0
- package/dist/types/src/components/Call/Toolbar.d.ts.map +1 -0
- package/dist/types/src/components/Call/index.d.ts +3 -0
- package/dist/types/src/components/Call/index.d.ts.map +1 -0
- package/dist/types/src/components/CallDebugPanel.d.ts +8 -0
- package/dist/types/src/components/CallDebugPanel.d.ts.map +1 -0
- package/dist/types/src/components/CallSidebar.d.ts +4 -0
- package/dist/types/src/components/CallSidebar.d.ts.map +1 -0
- package/dist/types/src/components/ChannelContainer.d.ts +14 -0
- package/dist/types/src/components/ChannelContainer.d.ts.map +1 -0
- package/dist/types/src/components/ChannelContainer.stories.d.ts +10 -0
- package/dist/types/src/components/ChannelContainer.stories.d.ts.map +1 -0
- package/dist/types/src/components/ChatContainer.d.ts +9 -7
- package/dist/types/src/components/ChatContainer.d.ts.map +1 -1
- package/dist/types/src/components/CommentContainer.d.ts +11 -2
- package/dist/types/src/components/CommentContainer.d.ts.map +1 -1
- package/dist/types/src/components/Comments.stories.d.ts.map +1 -1
- package/dist/types/src/components/CommentsContainer.d.ts +5 -9
- package/dist/types/src/components/CommentsContainer.d.ts.map +1 -1
- package/dist/types/src/components/Lobby/Lobby.d.ts +15 -0
- package/dist/types/src/components/Lobby/Lobby.d.ts.map +1 -0
- package/dist/types/src/components/Lobby/index.d.ts +2 -0
- package/dist/types/src/components/Lobby/index.d.ts.map +1 -0
- package/dist/types/src/components/Media/AudioStream.d.ts +6 -0
- package/dist/types/src/components/Media/AudioStream.d.ts.map +1 -0
- package/dist/types/src/components/Media/VideoObject.d.ts +15 -0
- package/dist/types/src/components/Media/VideoObject.d.ts.map +1 -0
- package/dist/types/src/components/Media/VideoObject.stories.d.ts +8 -0
- package/dist/types/src/components/Media/VideoObject.stories.d.ts.map +1 -0
- package/dist/types/src/components/Media/index.d.ts +3 -0
- package/dist/types/src/components/Media/index.d.ts.map +1 -0
- package/dist/types/src/components/Participant/Participant.d.ts +6 -0
- package/dist/types/src/components/Participant/Participant.d.ts.map +1 -0
- package/dist/types/src/components/Participant/ParticipantGrid.d.ts +11 -0
- package/dist/types/src/components/Participant/ParticipantGrid.d.ts.map +1 -0
- package/dist/types/src/components/Participant/index.d.ts +3 -0
- package/dist/types/src/components/Participant/index.d.ts.map +1 -0
- package/dist/types/src/components/ResponsiveGrid/ResponsiveContainer.d.ts +12 -0
- package/dist/types/src/components/ResponsiveGrid/ResponsiveContainer.d.ts.map +1 -0
- package/dist/types/src/components/ResponsiveGrid/ResponsiveContainer.stories.d.ts +10 -0
- package/dist/types/src/components/ResponsiveGrid/ResponsiveContainer.stories.d.ts.map +1 -0
- package/dist/types/src/components/ResponsiveGrid/ResponsiveGrid.d.ts +32 -0
- package/dist/types/src/components/ResponsiveGrid/ResponsiveGrid.d.ts.map +1 -0
- package/dist/types/src/components/ResponsiveGrid/ResponsiveGrid.stories.d.ts +23 -0
- package/dist/types/src/components/ResponsiveGrid/ResponsiveGrid.stories.d.ts.map +1 -0
- package/dist/types/src/components/ResponsiveGrid/ResponsiveGridItem.d.ts +21 -0
- package/dist/types/src/components/ResponsiveGrid/ResponsiveGridItem.d.ts.map +1 -0
- package/dist/types/src/components/ResponsiveGrid/index.d.ts +4 -0
- package/dist/types/src/components/ResponsiveGrid/index.d.ts.map +1 -0
- package/dist/types/src/components/ThreadComplementary.d.ts.map +1 -1
- package/dist/types/src/components/index.d.ts +5 -1
- package/dist/types/src/components/index.d.ts.map +1 -1
- package/dist/types/src/components/testing.d.ts +14 -14
- 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/hooks/index.d.ts +2 -1
- package/dist/types/src/hooks/index.d.ts.map +1 -1
- package/dist/types/src/hooks/useDebugMode.d.ts +2 -0
- package/dist/types/src/hooks/useDebugMode.d.ts.map +1 -0
- package/dist/types/src/index.d.ts +1 -1
- package/dist/types/src/index.d.ts.map +1 -1
- package/dist/types/src/meta.d.ts.map +1 -1
- package/dist/types/src/peers.stories.d.ts +11 -0
- package/dist/types/src/peers.stories.d.ts.map +1 -0
- package/dist/types/src/testing/index.d.ts +2 -0
- package/dist/types/src/testing/index.d.ts.map +1 -0
- package/dist/types/src/testing/stories.d.ts +2 -0
- package/dist/types/src/testing/stories.d.ts.map +1 -0
- package/dist/types/src/translations.d.ts +34 -1
- package/dist/types/src/translations.d.ts.map +1 -1
- package/dist/types/src/types/index.d.ts +3 -0
- package/dist/types/src/types/index.d.ts.map +1 -0
- package/dist/types/src/types/schema.d.ts +317 -0
- package/dist/types/src/types/schema.d.ts.map +1 -0
- package/dist/types/src/types/types.d.ts +1015 -0
- package/dist/types/src/types/types.d.ts.map +1 -0
- package/dist/types/src/util.d.ts +2 -0
- package/dist/types/src/util.d.ts.map +1 -1
- package/package.json +54 -41
- package/src/ThreadPlugin.tsx +28 -9
- package/src/calls/call-manager.ts +242 -0
- package/src/calls/call-swarm-synchronizer.ts +350 -0
- package/src/calls/index.ts +10 -0
- package/src/calls/media-manager.ts +342 -0
- package/src/calls/speaking-monitor.ts +85 -0
- package/src/calls/types.ts +70 -0
- package/src/calls/util/audio.ts +58 -0
- package/src/calls/util/calls-service.ts +527 -0
- package/src/calls/util/history-cache.ts +27 -0
- package/src/calls/util/index.ts +8 -0
- package/src/calls/util/media.ts +52 -0
- package/src/calls/util/stub-media-streams.ts +73 -0
- package/src/calls/util/task-scheduling.ts +92 -0
- package/src/capabilities/app-graph-builder.ts +148 -12
- package/src/capabilities/call-manager.ts +19 -0
- package/src/capabilities/capabilities.ts +15 -1
- package/src/capabilities/index.ts +2 -0
- package/src/capabilities/intent-resolver.ts +69 -47
- package/src/capabilities/markdown.ts +51 -1
- package/src/capabilities/react-root.tsx +17 -0
- package/src/capabilities/react-surface.tsx +52 -27
- package/src/capabilities/state.ts +1 -1
- package/src/components/Call/Call.tsx +88 -0
- package/src/components/Call/Toolbar.tsx +182 -0
- package/src/components/Call/index.ts +6 -0
- package/src/components/CallDebugPanel.tsx +115 -0
- package/src/components/CallSidebar.tsx +17 -0
- package/src/components/ChannelContainer.stories.tsx +58 -0
- package/src/components/ChannelContainer.tsx +203 -0
- package/src/components/Chat.stories.tsx +6 -6
- package/src/components/ChatContainer.tsx +36 -24
- package/src/components/CommentContainer.tsx +31 -12
- package/src/components/Comments.stories.tsx +13 -11
- package/src/components/CommentsContainer.tsx +18 -28
- package/src/components/Lobby/Lobby.tsx +119 -0
- package/src/components/Lobby/index.ts +5 -0
- package/src/components/Media/AudioStream.tsx +67 -0
- package/src/components/Media/VideoObject.stories.tsx +52 -0
- package/src/components/Media/VideoObject.tsx +58 -0
- package/src/components/Media/index.ts +6 -0
- package/src/components/Participant/Participant.tsx +57 -0
- package/src/components/Participant/ParticipantGrid.tsx +88 -0
- package/src/components/Participant/index.ts +6 -0
- package/src/components/ResponsiveGrid/ResponsiveContainer.stories.tsx +54 -0
- package/src/components/ResponsiveGrid/ResponsiveContainer.tsx +31 -0
- package/src/components/ResponsiveGrid/ResponsiveGrid.stories.tsx +156 -0
- package/src/components/ResponsiveGrid/ResponsiveGrid.tsx +341 -0
- package/src/components/ResponsiveGrid/ResponsiveGridItem.tsx +131 -0
- package/src/components/ResponsiveGrid/index.ts +7 -0
- package/src/components/ThreadComplementary.tsx +37 -42
- package/src/components/index.ts +4 -0
- package/src/components/testing.ts +2 -1
- package/src/extensions/threads.ts +42 -24
- package/src/hooks/index.ts +2 -1
- package/src/hooks/useDebugMode.ts +25 -0
- package/src/index.ts +1 -1
- package/src/meta.ts +4 -3
- package/src/peers.stories.tsx +189 -0
- package/src/testing/index.ts +5 -0
- package/src/testing/stories.ts +50 -0
- package/src/translations.ts +44 -3
- package/src/types/index.ts +6 -0
- package/src/types/schema.ts +29 -0
- package/src/{types.ts → types/types.ts} +24 -14
- package/src/typings/peermetrics-webrtc-stats.d.ts +30 -0
- package/src/util.ts +12 -0
- package/dist/lib/browser/ChatContainer-H4XTHM3A.mjs +0 -138
- package/dist/lib/browser/ChatContainer-H4XTHM3A.mjs.map +0 -7
- package/dist/lib/browser/app-graph-builder-V7UUHGUI.mjs +0 -44
- package/dist/lib/browser/app-graph-builder-V7UUHGUI.mjs.map +0 -7
- package/dist/lib/browser/chunk-32EIWOAL.mjs.map +0 -7
- package/dist/lib/browser/chunk-EP6MRLY7.mjs.map +0 -7
- package/dist/lib/browser/chunk-I3JK6CBS.mjs +0 -209
- package/dist/lib/browser/chunk-I3JK6CBS.mjs.map +0 -7
- package/dist/lib/browser/chunk-OO7PQPV5.mjs +0 -93
- package/dist/lib/browser/chunk-OO7PQPV5.mjs.map +0 -7
- package/dist/lib/browser/chunk-WBJLUUOK.mjs.map +0 -7
- package/dist/lib/browser/chunk-YRGWE35W.mjs +0 -17
- package/dist/lib/browser/chunk-YRGWE35W.mjs.map +0 -7
- package/dist/lib/browser/intent-resolver-PDOLX5B7.mjs.map +0 -7
- package/dist/lib/browser/markdown-XJJVUBDO.mjs +0 -111
- package/dist/lib/browser/markdown-XJJVUBDO.mjs.map +0 -7
- package/dist/lib/browser/react-surface-7DJZKIOK.mjs +0 -436
- package/dist/lib/browser/react-surface-7DJZKIOK.mjs.map +0 -7
- package/dist/lib/browser/types.mjs +0 -10
- package/dist/lib/node/ChatContainer-TUISUIY7.cjs +0 -163
- package/dist/lib/node/ChatContainer-TUISUIY7.cjs.map +0 -7
- package/dist/lib/node/app-graph-builder-MMM26FEH.cjs +0 -60
- package/dist/lib/node/app-graph-builder-MMM26FEH.cjs.map +0 -7
- package/dist/lib/node/chunk-AZ275P4V.cjs.map +0 -7
- package/dist/lib/node/chunk-ETDNE4Z6.cjs +0 -234
- package/dist/lib/node/chunk-ETDNE4Z6.cjs.map +0 -7
- package/dist/lib/node/chunk-GRMB5VRN.cjs +0 -113
- package/dist/lib/node/chunk-GRMB5VRN.cjs.map +0 -7
- package/dist/lib/node/chunk-NO6WQR36.cjs.map +0 -7
- package/dist/lib/node/chunk-NQ5DTPOY.cjs.map +0 -7
- package/dist/lib/node/intent-resolver-MNTL32W2.cjs.map +0 -7
- package/dist/lib/node/markdown-25NI6Q4Y.cjs +0 -121
- package/dist/lib/node/markdown-25NI6Q4Y.cjs.map +0 -7
- package/dist/lib/node/react-surface-KGUZJVRL.cjs +0 -438
- package/dist/lib/node/react-surface-KGUZJVRL.cjs.map +0 -7
- package/dist/lib/node/types.cjs.map +0 -7
- package/dist/lib/node-esm/ChatContainer-G7VTTRDN.mjs +0 -139
- package/dist/lib/node-esm/ChatContainer-G7VTTRDN.mjs.map +0 -7
- package/dist/lib/node-esm/app-graph-builder-QEFJ2KA4.mjs +0 -45
- package/dist/lib/node-esm/app-graph-builder-QEFJ2KA4.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-42F2DTMM.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-5XUQJWUG.mjs +0 -19
- package/dist/lib/node-esm/chunk-5XUQJWUG.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-A7RLBTTZ.mjs +0 -94
- package/dist/lib/node-esm/chunk-A7RLBTTZ.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-IZWN4KAY.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-V7HLWNAO.mjs +0 -210
- package/dist/lib/node-esm/chunk-V7HLWNAO.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-WLY2HMDB.mjs.map +0 -7
- package/dist/lib/node-esm/intent-resolver-X2FNKFSK.mjs.map +0 -7
- package/dist/lib/node-esm/markdown-2ERASVEO.mjs +0 -112
- package/dist/lib/node-esm/markdown-2ERASVEO.mjs.map +0 -7
- package/dist/lib/node-esm/react-surface-DLD2UJRM.mjs +0 -437
- package/dist/lib/node-esm/react-surface-DLD2UJRM.mjs.map +0 -7
- package/dist/lib/node-esm/types.mjs +0 -11
- package/dist/types/src/components/types.d.ts +0 -28
- package/dist/types/src/components/types.d.ts.map +0 -1
- package/dist/types/src/events.d.ts +0 -4
- package/dist/types/src/events.d.ts.map +0 -1
- package/dist/types/src/types.d.ts +0 -276
- package/dist/types/src/types.d.ts.map +0 -1
- package/src/components/types.ts +0 -32
- package/src/events.ts +0 -11
- /package/dist/lib/browser/{types.mjs.map → ChannelContainer-XFNGSLHL.mjs.map} +0 -0
- /package/dist/lib/{node-esm/types.mjs.map → browser/ChatContainer-JWRI73OG.mjs.map} +0 -0
- /package/dist/lib/browser/{settings-K56QXNJ4.mjs.map → settings-KVBQQSO5.mjs.map} +0 -0
- /package/dist/lib/node/{settings-4WLSO726.cjs.map → settings-H45P5YO2.cjs.map} +0 -0
- /package/dist/lib/node-esm/{settings-5UA6FBMW.mjs.map → settings-IJGUOU3F.mjs.map} +0 -0
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/capabilities/react-surface.tsx"],
|
|
4
|
+
"sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport React from 'react';\n\nimport { Capabilities, contributes, createSurface, useCapability } from '@dxos/app-framework';\nimport { isInstanceOf, type Ref } from '@dxos/echo-schema';\nimport { SettingsStore } from '@dxos/local-storage';\nimport { getSpace, isEchoObject } from '@dxos/react-client/echo';\n\nimport { ThreadCapabilities } from './capabilities';\nimport {\n CallSidebar,\n CallDebugPanel,\n ChannelContainer,\n ThreadComplementary,\n ThreadSettings,\n ChatContainer,\n} from '../components';\nimport { THREAD_PLUGIN } from '../meta';\nimport { ChannelType, ThreadType, type ThreadSettingsProps } from '../types';\n\nexport default () =>\n contributes(Capabilities.ReactSurface, [\n createSurface({\n id: `${THREAD_PLUGIN}/channel`,\n role: 'article',\n filter: (data): data is { subject: ChannelType } => isInstanceOf(ChannelType, data.subject),\n component: ({ data: { subject: channel }, role }) => <ChannelContainer channel={channel} role={role} />,\n }),\n createSurface({\n id: `${THREAD_PLUGIN}/chat-companion`,\n role: 'article',\n filter: (data): data is { companionTo: ChannelType; subject: 'chat' } =>\n isInstanceOf(ChannelType, data.companionTo) && data.subject === 'chat',\n component: ({ data: { companionTo: channel } }) => {\n const space = getSpace(channel);\n const thread = channel.defaultThread.target;\n if (!space || !thread) {\n return null;\n }\n\n return <ChatContainer thread={thread} space={space} />;\n },\n }),\n createSurface({\n id: `${THREAD_PLUGIN}/thread`,\n role: 'article',\n filter: (data): data is { subject: ThreadType } => isInstanceOf(ThreadType, data.subject),\n component: ({ data: { subject: thread } }) => {\n const space = getSpace(thread);\n if (!space || !thread) {\n return null;\n }\n\n return <ChatContainer thread={thread} space={space} />;\n },\n }),\n createSurface({\n id: `${THREAD_PLUGIN}/comments`,\n role: 'article',\n filter: (data): data is { companionTo: { threads: Ref<ThreadType>[] } } =>\n data.subject === 'comments' && isEchoObject(data.companionTo),\n // TODO(wittjosiah): This isn't scrolling properly in a plank.\n component: ({ data }) => <ThreadComplementary subject={data.companionTo} />,\n }),\n createSurface({\n id: `${THREAD_PLUGIN}/plugin-settings`,\n role: 'article',\n filter: (data): data is { subject: SettingsStore<ThreadSettingsProps> } =>\n data.subject instanceof SettingsStore && data.subject.prefix === THREAD_PLUGIN,\n component: ({ data: { subject } }) => <ThreadSettings settings={subject.value} />,\n }),\n createSurface({\n id: `${THREAD_PLUGIN}/assistant`,\n role: 'deck-companion--active-call',\n component: () => <CallSidebar />,\n }),\n createSurface({\n id: `${THREAD_PLUGIN}/devtools-overview`,\n role: 'devtools-overview',\n component: () => {\n const call = useCapability(ThreadCapabilities.CallManager);\n return <CallDebugPanel state={call.state} />;\n },\n }),\n ]);\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;AAIA,OAAOA,WAAW;AAElB,SAASC,cAAcC,aAAaC,eAAeC,qBAAqB;AACxE,SAASC,oBAA8B;AACvC,SAASC,qBAAqB;AAC9B,SAASC,UAAUC,oBAAoB;AAcvC,IAAA,wBAAe,MACbC,YAAYC,aAAaC,cAAc;EACrCC,cAAc;IACZC,IAAI,GAAGC,aAAAA;IACPC,MAAM;IACNC,QAAQ,CAACC,SAA2CC,aAAaC,aAAaF,KAAKG,OAAO;IAC1FC,WAAW,CAAC,EAAEJ,MAAM,EAAEG,SAASE,QAAO,GAAIP,KAAI,MAAO,sBAAA,cAACQ,kBAAAA;MAAiBD;MAAkBP;;EAC3F,CAAA;EACAH,cAAc;IACZC,IAAI,GAAGC,aAAAA;IACPC,MAAM;IACNC,QAAQ,CAACC,SACPC,aAAaC,aAAaF,KAAKO,WAAW,KAAKP,KAAKG,YAAY;IAClEC,WAAW,CAAC,EAAEJ,MAAM,EAAEO,aAAaF,QAAO,EAAE,MAAE;AAC5C,YAAMG,QAAQC,SAASJ,OAAAA;AACvB,YAAMK,SAASL,QAAQM,cAAcC;AACrC,UAAI,CAACJ,SAAS,CAACE,QAAQ;AACrB,eAAO;MACT;AAEA,aAAO,sBAAA,cAACG,eAAAA;QAAcH;QAAgBF;;IACxC;EACF,CAAA;EACAb,cAAc;IACZC,IAAI,GAAGC,aAAAA;IACPC,MAAM;IACNC,QAAQ,CAACC,SAA0CC,aAAaa,YAAYd,KAAKG,OAAO;IACxFC,WAAW,CAAC,EAAEJ,MAAM,EAAEG,SAASO,OAAM,EAAE,MAAE;AACvC,YAAMF,QAAQC,SAASC,MAAAA;AACvB,UAAI,CAACF,SAAS,CAACE,QAAQ;AACrB,eAAO;MACT;AAEA,aAAO,sBAAA,cAACG,eAAAA;QAAcH;QAAgBF;;IACxC;EACF,CAAA;EACAb,cAAc;IACZC,IAAI,GAAGC,aAAAA;IACPC,MAAM;IACNC,QAAQ,CAACC,SACPA,KAAKG,YAAY,cAAcY,aAAaf,KAAKO,WAAW;;IAE9DH,WAAW,CAAC,EAAEJ,KAAI,MAAO,sBAAA,cAACgB,qBAAAA;MAAoBb,SAASH,KAAKO;;EAC9D,CAAA;EACAZ,cAAc;IACZC,IAAI,GAAGC,aAAAA;IACPC,MAAM;IACNC,QAAQ,CAACC,SACPA,KAAKG,mBAAmBc,iBAAiBjB,KAAKG,QAAQe,WAAWrB;IACnEO,WAAW,CAAC,EAAEJ,MAAM,EAAEG,QAAO,EAAE,MAAO,sBAAA,cAACgB,gBAAAA;MAAeC,UAAUjB,QAAQkB;;EAC1E,CAAA;EACA1B,cAAc;IACZC,IAAI,GAAGC,aAAAA;IACPC,MAAM;IACNM,WAAW,MAAM,sBAAA,cAACkB,aAAAA,IAAAA;EACpB,CAAA;EACA3B,cAAc;IACZC,IAAI,GAAGC,aAAAA;IACPC,MAAM;IACNM,WAAW,MAAA;AACT,YAAMmB,OAAOC,cAAcC,mBAAmBC,WAAW;AACzD,aAAO,sBAAA,cAACC,gBAAAA;QAAeC,OAAOL,KAAKK;;IACrC;EACF,CAAA;CACD;",
|
|
6
|
+
"names": ["React", "Capabilities", "contributes", "createSurface", "useCapability", "isInstanceOf", "SettingsStore", "getSpace", "isEchoObject", "contributes", "Capabilities", "ReactSurface", "createSurface", "id", "THREAD_PLUGIN", "role", "filter", "data", "isInstanceOf", "ChannelType", "subject", "component", "channel", "ChannelContainer", "companionTo", "space", "getSpace", "thread", "defaultThread", "target", "ChatContainer", "ThreadType", "isEchoObject", "ThreadComplementary", "SettingsStore", "prefix", "ThreadSettings", "settings", "value", "CallSidebar", "call", "useCapability", "ThreadCapabilities", "CallManager", "CallDebugPanel", "state"]
|
|
7
|
+
}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { createRequire } from 'node:module';const require = createRequire(import.meta.url);
|
|
2
2
|
import {
|
|
3
3
|
ThreadSettingsSchema
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-J323VQ4P.mjs";
|
|
5
5
|
import {
|
|
6
6
|
THREAD_PLUGIN
|
|
7
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-ESQC6SYE.mjs";
|
|
8
8
|
|
|
9
9
|
// packages/plugins/plugin-thread/src/capabilities/settings.ts
|
|
10
10
|
import { Capabilities, contributes } from "@dxos/app-framework";
|
|
@@ -20,4 +20,4 @@ var settings_default = () => {
|
|
|
20
20
|
export {
|
|
21
21
|
settings_default as default
|
|
22
22
|
};
|
|
23
|
-
//# sourceMappingURL=settings-
|
|
23
|
+
//# sourceMappingURL=settings-IJGUOU3F.mjs.map
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { createRequire } from 'node:module';const require = createRequire(import.meta.url);
|
|
2
2
|
import {
|
|
3
3
|
ThreadCapabilities
|
|
4
|
-
} from "./chunk-
|
|
5
|
-
import "./chunk-
|
|
4
|
+
} from "./chunk-K4KAUOKT.mjs";
|
|
5
|
+
import "./chunk-ESQC6SYE.mjs";
|
|
6
6
|
|
|
7
7
|
// packages/plugins/plugin-thread/src/capabilities/state.ts
|
|
8
8
|
import { contributes } from "@dxos/app-framework";
|
|
@@ -12,7 +12,7 @@ var initialViewState = {
|
|
|
12
12
|
};
|
|
13
13
|
var state_default = () => {
|
|
14
14
|
const state = live({
|
|
15
|
-
|
|
15
|
+
toolbar: {},
|
|
16
16
|
drafts: {}
|
|
17
17
|
});
|
|
18
18
|
const viewStore = live({});
|
|
@@ -32,4 +32,4 @@ var state_default = () => {
|
|
|
32
32
|
export {
|
|
33
33
|
state_default as default
|
|
34
34
|
};
|
|
35
|
-
//# sourceMappingURL=state-
|
|
35
|
+
//# sourceMappingURL=state-6AUTNROZ.mjs.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/capabilities/state.ts"],
|
|
4
|
-
"sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { contributes } from '@dxos/app-framework';\nimport { live } from '@dxos/live-object';\n\nimport { ThreadCapabilities } from './capabilities';\nimport { type ThreadState, type ViewStore } from '../types';\n\nconst initialViewState = { showResolvedThreads: false };\n\nexport default () => {\n const state = live<ThreadState>({
|
|
5
|
-
"mappings": ";;;;;;;AAIA,SAASA,mBAAmB;AAC5B,SAASC,YAAY;AAKrB,IAAMC,mBAAmB;EAAEC,qBAAqB;AAAM;AAEtD,IAAA,gBAAe,MAAA;AACb,QAAMC,QAAQC,KAAkB;IAAEC,
|
|
6
|
-
"names": ["contributes", "live", "initialViewState", "showResolvedThreads", "state", "live", "
|
|
4
|
+
"sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { contributes } from '@dxos/app-framework';\nimport { live } from '@dxos/live-object';\n\nimport { ThreadCapabilities } from './capabilities';\nimport { type ThreadState, type ViewStore } from '../types';\n\nconst initialViewState = { showResolvedThreads: false };\n\nexport default () => {\n const state = live<ThreadState>({ toolbar: {}, drafts: {} });\n const viewStore = live<ViewStore>({});\n\n const getViewState = (subjectId: string) => {\n if (!viewStore[subjectId]) {\n viewStore[subjectId] = { ...initialViewState };\n }\n return viewStore[subjectId];\n };\n\n return contributes(ThreadCapabilities.State, { state, getViewState });\n};\n"],
|
|
5
|
+
"mappings": ";;;;;;;AAIA,SAASA,mBAAmB;AAC5B,SAASC,YAAY;AAKrB,IAAMC,mBAAmB;EAAEC,qBAAqB;AAAM;AAEtD,IAAA,gBAAe,MAAA;AACb,QAAMC,QAAQC,KAAkB;IAAEC,SAAS,CAAC;IAAGC,QAAQ,CAAC;EAAE,CAAA;AAC1D,QAAMC,YAAYH,KAAgB,CAAC,CAAA;AAEnC,QAAMI,eAAe,CAACC,cAAAA;AACpB,QAAI,CAACF,UAAUE,SAAAA,GAAY;AACzBF,gBAAUE,SAAAA,IAAa;QAAE,GAAGR;MAAiB;IAC/C;AACA,WAAOM,UAAUE,SAAAA;EACnB;AAEA,SAAOC,YAAYC,mBAAmBC,OAAO;IAAET;IAAOK;EAAa,CAAA;AACrE;",
|
|
6
|
+
"names": ["contributes", "live", "initialViewState", "showResolvedThreads", "state", "live", "toolbar", "drafts", "viewStore", "getViewState", "subjectId", "contributes", "ThreadCapabilities", "State"]
|
|
7
7
|
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { createRequire } from 'node:module';const require = createRequire(import.meta.url);
|
|
2
|
+
import {
|
|
3
|
+
ChannelType,
|
|
4
|
+
ThreadAction,
|
|
5
|
+
ThreadSettingsSchema,
|
|
6
|
+
ThreadStatus,
|
|
7
|
+
ThreadType
|
|
8
|
+
} from "../chunk-J323VQ4P.mjs";
|
|
9
|
+
import "../chunk-ESQC6SYE.mjs";
|
|
10
|
+
export {
|
|
11
|
+
ChannelType,
|
|
12
|
+
ThreadAction,
|
|
13
|
+
ThreadSettingsSchema,
|
|
14
|
+
ThreadStatus,
|
|
15
|
+
ThreadType
|
|
16
|
+
};
|
|
17
|
+
//# sourceMappingURL=index.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ThreadPlugin.d.ts","sourceRoot":"","sources":["../../../src/ThreadPlugin.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ThreadPlugin.d.ts","sourceRoot":"","sources":["../../../src/ThreadPlugin.tsx"],"names":[],"mappings":"AA+BA,eAAO,MAAM,YAAY,4CAmHrB,CAAC"}
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
import { Event } from '@dxos/async';
|
|
2
|
+
import { type Client } from '@dxos/client';
|
|
3
|
+
import { Resource } from '@dxos/context';
|
|
4
|
+
import { type Tracks } from '@dxos/protocols/proto/dxos/edge/calls';
|
|
5
|
+
import { type CallState } from './call-swarm-synchronizer';
|
|
6
|
+
import { type MediaState } from './media-manager';
|
|
7
|
+
import { type ActivityState, type EncodedTrackName, type UserState } from './types';
|
|
8
|
+
export type GlobalState = {
|
|
9
|
+
call: CallState;
|
|
10
|
+
media: MediaState;
|
|
11
|
+
};
|
|
12
|
+
/**
|
|
13
|
+
* Top level manager for call state.
|
|
14
|
+
*/
|
|
15
|
+
export declare class CallManager extends Resource {
|
|
16
|
+
private readonly _client;
|
|
17
|
+
readonly callStateUpdated: Event<CallState>;
|
|
18
|
+
readonly mediaStateUpdated: Event<[MediaState, boolean]>;
|
|
19
|
+
readonly left: Event<string>;
|
|
20
|
+
/**
|
|
21
|
+
* Live object state. Is changed on internal events.
|
|
22
|
+
* CAUTION: Do not change directly.
|
|
23
|
+
*/
|
|
24
|
+
private readonly _state;
|
|
25
|
+
private readonly _raisedHandSignal;
|
|
26
|
+
private readonly _speakingSignal;
|
|
27
|
+
private readonly _joinedSignal;
|
|
28
|
+
private readonly _swarmSynchronizer;
|
|
29
|
+
private readonly _mediaManager;
|
|
30
|
+
/** @reactive */
|
|
31
|
+
get roomId(): string | undefined;
|
|
32
|
+
/** @reactive */
|
|
33
|
+
get raisedHand(): boolean;
|
|
34
|
+
/** @reactive */
|
|
35
|
+
get speaking(): boolean;
|
|
36
|
+
/** @reactive */
|
|
37
|
+
get joined(): boolean;
|
|
38
|
+
/** @reactive */
|
|
39
|
+
get self(): UserState;
|
|
40
|
+
/** @reactive */
|
|
41
|
+
get tracks(): Tracks;
|
|
42
|
+
/** @reactive */
|
|
43
|
+
get users(): UserState[];
|
|
44
|
+
/** @reactive */
|
|
45
|
+
get media(): MediaState;
|
|
46
|
+
/** @reactive */
|
|
47
|
+
get pulledAudioTracks(): MediaStreamTrack[];
|
|
48
|
+
/** @reactive */
|
|
49
|
+
get state(): import("@dxos/live-object").Live<GlobalState>;
|
|
50
|
+
/** @reactive */
|
|
51
|
+
getVideoStream(name?: EncodedTrackName): MediaStream | undefined;
|
|
52
|
+
/** @reactive */
|
|
53
|
+
getActivity(key: string): ActivityState | undefined;
|
|
54
|
+
setRoomId(roomId: string): void;
|
|
55
|
+
setSpeaking(speaking: boolean): void;
|
|
56
|
+
setRaisedHand(raisedHand: boolean): void;
|
|
57
|
+
setActivity(key: string, payload: ActivityState['payload']): void;
|
|
58
|
+
turnAudioOn(): Promise<void>;
|
|
59
|
+
turnAudioOff(): Promise<void>;
|
|
60
|
+
turnVideoOn(): Promise<void>;
|
|
61
|
+
turnVideoOff(): Promise<void>;
|
|
62
|
+
turnScreenshareOn(): Promise<void>;
|
|
63
|
+
turnScreenshareOff(): Promise<void>;
|
|
64
|
+
constructor(_client: Client);
|
|
65
|
+
protected _open(): Promise<void>;
|
|
66
|
+
protected _close(): Promise<void>;
|
|
67
|
+
peek(roomId: string): Promise<number>;
|
|
68
|
+
join(): Promise<void>;
|
|
69
|
+
leave(): Promise<void>;
|
|
70
|
+
private _onCallStateUpdated;
|
|
71
|
+
private _onMediaStateUpdated;
|
|
72
|
+
/**
|
|
73
|
+
* Only this method is allowed to change state.
|
|
74
|
+
*/
|
|
75
|
+
private _updateState;
|
|
76
|
+
}
|
|
77
|
+
//# sourceMappingURL=call-manager.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"call-manager.d.ts","sourceRoot":"","sources":["../../../../src/calls/call-manager.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,KAAK,EAAgB,MAAM,aAAa,CAAC;AAClD,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAGzC,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,uCAAuC,CAAC;AAGpE,OAAO,EAAyB,KAAK,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAClF,OAAO,EAAgB,KAAK,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAChE,OAAO,EAAE,KAAK,aAAa,EAAa,KAAK,gBAAgB,EAAkB,KAAK,SAAS,EAAE,MAAM,SAAS,CAAC;AAE/G,MAAM,MAAM,WAAW,GAAG;IACxB,IAAI,EAAE,SAAS,CAAC;IAChB,KAAK,EAAE,UAAU,CAAC;CACnB,CAAC;AAEF;;GAEG;AACH,qBAAa,WAAY,SAAQ,QAAQ;IA4H3B,OAAO,CAAC,QAAQ,CAAC,OAAO;IA3HpC,SAAgB,gBAAgB,mBAA0B;IAE1D,SAAgB,iBAAiB,+BAAsC;IACvE,SAAgB,IAAI,gBAAuB;IAE3C;;;OAGG;IACH,OAAO,CAAC,QAAQ,CAAC,MAAM,CAGpB;IAGH,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAwD;IAC1F,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAsD;IACtF,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAoD;IAElF,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAwB;IAC3D,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAe;IAE7C,gBAAgB;IAChB,IAAI,MAAM,IAAI,MAAM,GAAG,SAAS,CAE/B;IAED,gBAAgB;IAChB,IAAI,UAAU,IAAI,OAAO,CAExB;IAED,gBAAgB;IAChB,IAAI,QAAQ,IAAI,OAAO,CAEtB;IAED,gBAAgB;IAChB,IAAI,MAAM,IAAI,OAAO,CAEpB;IAED,gBAAgB;IAChB,IAAI,IAAI,IAAI,SAAS,CAEpB;IAED,gBAAgB;IAChB,IAAI,MAAM,IAAI,MAAM,CAEnB;IAED,gBAAgB;IAChB,IAAI,KAAK,IAAI,SAAS,EAAE,CAEvB;IAED,gBAAgB;IAChB,IAAI,KAAK,eAER;IAED,gBAAgB;IAChB,IAAI,iBAAiB,uBAEpB;IAED,gBAAgB;IAChB,IAAI,KAAK,kDAER;IAED,gBAAgB;IAChB,cAAc,CAAC,IAAI,CAAC,EAAE,gBAAgB,GAAG,WAAW,GAAG,SAAS;IAIhE,gBAAgB;IAChB,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,aAAa,GAAG,SAAS;IAInD,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAI/B,WAAW,CAAC,QAAQ,EAAE,OAAO,GAAG,IAAI;IAIpC,aAAa,CAAC,UAAU,EAAE,OAAO,GAAG,IAAI;IAIxC,WAAW,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,aAAa,CAAC,SAAS,CAAC,GAAG,IAAI;IAIjE,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC;IAI5B,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC;IAI7B,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC;IAI5B,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC;IAI7B,iBAAiB,IAAI,OAAO,CAAC,IAAI,CAAC;IAIlC,kBAAkB,IAAI,OAAO,CAAC,IAAI,CAAC;gBAKN,OAAO,EAAE,MAAM;cASnB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;cAiBtB,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;IAM1C,IAAI,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAOrC,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAUrB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAO5B,OAAO,CAAC,mBAAmB;IAW3B,OAAO,CAAC,oBAAoB;IAiB5B;;OAEG;IACH,OAAO,CAAC,YAAY;CAIrB"}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
import { Event } from '@dxos/async';
|
|
2
|
+
import { Resource } from '@dxos/context';
|
|
3
|
+
import { type NetworkService } from '@dxos/protocols/proto/dxos/client/services';
|
|
4
|
+
import { type ActivityState, type UserState } from './types';
|
|
5
|
+
export type CallState = {
|
|
6
|
+
/**
|
|
7
|
+
* Room id.
|
|
8
|
+
*/
|
|
9
|
+
roomId?: string;
|
|
10
|
+
/**
|
|
11
|
+
* All users states in the swarm.
|
|
12
|
+
*/
|
|
13
|
+
users?: UserState[];
|
|
14
|
+
/**
|
|
15
|
+
* Self state inside swarm.
|
|
16
|
+
*/
|
|
17
|
+
self?: UserState;
|
|
18
|
+
/**
|
|
19
|
+
* Swarm synchronized CRDT transcription. Last write wins.
|
|
20
|
+
*/
|
|
21
|
+
activities?: Record<string, ActivityState>;
|
|
22
|
+
raisedHand?: boolean;
|
|
23
|
+
speaking?: boolean;
|
|
24
|
+
joined?: boolean;
|
|
25
|
+
/**
|
|
26
|
+
* Tracks pushed by self to calls service.
|
|
27
|
+
*/
|
|
28
|
+
tracks?: UserState['tracks'];
|
|
29
|
+
};
|
|
30
|
+
export type CallSwarmSynchronizerParams = {
|
|
31
|
+
networkService: NetworkService;
|
|
32
|
+
};
|
|
33
|
+
/**
|
|
34
|
+
* Sends and receives state to/from Swarm network.
|
|
35
|
+
*/
|
|
36
|
+
export declare class CallSwarmSynchronizer extends Resource {
|
|
37
|
+
readonly stateUpdated: Event<CallState>;
|
|
38
|
+
private readonly _state;
|
|
39
|
+
private readonly _networkService;
|
|
40
|
+
private _lastSwarmEvent?;
|
|
41
|
+
private _reconcileSwarmStateTask?;
|
|
42
|
+
private _identityKey?;
|
|
43
|
+
private _deviceKey?;
|
|
44
|
+
private _displayName?;
|
|
45
|
+
private _swarmCtx?;
|
|
46
|
+
private _sendStateTask?;
|
|
47
|
+
constructor({ networkService }: CallSwarmSynchronizerParams);
|
|
48
|
+
setRaisedHand(raisedHand: boolean): void;
|
|
49
|
+
setSpeaking(speaking: boolean): void;
|
|
50
|
+
setJoined(joined: boolean): void;
|
|
51
|
+
setTracks(tracks: UserState['tracks']): void;
|
|
52
|
+
setActivity(key: string, payload: ActivityState['payload']): void;
|
|
53
|
+
protected _open(): Promise<void>;
|
|
54
|
+
protected _close(): Promise<void>;
|
|
55
|
+
join(): Promise<void>;
|
|
56
|
+
leave(): Promise<void>;
|
|
57
|
+
querySwarm(roomId: string): Promise<import("@dxos/protocols/proto/dxos/edge/messenger").Peer[]>;
|
|
58
|
+
/**
|
|
59
|
+
* Notify and schedule send state task.
|
|
60
|
+
*/
|
|
61
|
+
private _notifyAndSchedule;
|
|
62
|
+
private _sendState;
|
|
63
|
+
private _processSwarmEvent;
|
|
64
|
+
private _reconcileSwarmState;
|
|
65
|
+
}
|
|
66
|
+
//# sourceMappingURL=call-swarm-synchronizer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"call-swarm-synchronizer.d.ts","sourceRoot":"","sources":["../../../../src/calls/call-swarm-synchronizer.ts"],"names":[],"mappings":"AAMA,OAAO,EAAgB,KAAK,EAAsC,MAAM,aAAa,CAAC;AAEtF,OAAO,EAAW,QAAQ,EAAE,MAAM,eAAe,CAAC;AAOlD,OAAO,EAAe,KAAK,cAAc,EAAE,MAAM,4CAA4C,CAAC;AAI9F,OAAO,EAAS,KAAK,aAAa,EAAE,KAAK,SAAS,EAAE,MAAM,SAAS,CAAC;AAEpE,MAAM,MAAM,SAAS,GAAG;IACtB;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB;;OAEG;IACH,KAAK,CAAC,EAAE,SAAS,EAAE,CAAC;IAEpB;;OAEG;IACH,IAAI,CAAC,EAAE,SAAS,CAAC;IAEjB;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;IAE3C,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,MAAM,CAAC,EAAE,OAAO,CAAC;IAEjB;;OAEG;IACH,MAAM,CAAC,EAAE,SAAS,CAAC,QAAQ,CAAC,CAAC;CAC9B,CAAC;AAEF,MAAM,MAAM,2BAA2B,GAAG;IAAE,cAAc,EAAE,cAAc,CAAA;CAAE,CAAC;AAO7E;;GAEG;AACH,qBAAa,qBAAsB,SAAQ,QAAQ;IACjD,SAAgB,YAAY,mBAA0B;IAEtD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAiC;IACxD,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAiB;IACjD,OAAO,CAAC,eAAe,CAAC,CAA4B;IACpD,OAAO,CAAC,wBAAwB,CAAC,CAA2B;IAE5D,OAAO,CAAC,YAAY,CAAC,CAAqB;IAC1C,OAAO,CAAC,UAAU,CAAC,CAAqB;IACxC,OAAO,CAAC,YAAY,CAAC,CAAqB;IAE1C,OAAO,CAAC,SAAS,CAAC,CAAsB;IAExC,OAAO,CAAC,cAAc,CAAC,CAA2B;gBAEtC,EAAE,cAAc,EAAE,EAAE,2BAA2B;IAY3D,aAAa,CAAC,UAAU,EAAE,OAAO,GAAG,IAAI;IASxC,WAAW,CAAC,QAAQ,EAAE,OAAO,GAAG,IAAI;IASpC,SAAS,CAAC,MAAM,EAAE,OAAO,GAAG,IAAI;IAShC,SAAS,CAAC,MAAM,EAAE,SAAS,CAAC,QAAQ,CAAC,GAAG,IAAI;IAK5C,WAAW,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,aAAa,CAAC,SAAS,CAAC,GAAG,IAAI;cAoCxC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;cAUtB,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;IAM1C,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IA8BrB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAYtB,UAAU,CAAC,MAAM,EAAE,MAAM;IAM/B;;OAEG;IACH,OAAO,CAAC,kBAAkB;YAOZ,UAAU;IA6BxB,OAAO,CAAC,kBAAkB;YASZ,oBAAoB;CAqDnC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/calls/index.ts"],"names":[],"mappings":"AAIA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,2BAA2B,CAAC;AAC1C,cAAc,iBAAiB,CAAC;AAChC,cAAc,oBAAoB,CAAC;AACnC,cAAc,SAAS,CAAC;AACxB,cAAc,QAAQ,CAAC"}
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
import { Event } from '@dxos/async';
|
|
2
|
+
import { type Context, Resource } from '@dxos/context';
|
|
3
|
+
import { type EncodedTrackName, type TrackObject } from './types';
|
|
4
|
+
import { type CallsServiceConfig, CallsServicePeer } from './util';
|
|
5
|
+
export type MediaState = {
|
|
6
|
+
audioDeviceId?: string;
|
|
7
|
+
audioEnabled?: boolean;
|
|
8
|
+
audioTrack?: MediaStreamTrack;
|
|
9
|
+
videoDeviceId?: string;
|
|
10
|
+
videoEnabled?: boolean;
|
|
11
|
+
videoTrack?: MediaStreamTrack;
|
|
12
|
+
videoStream?: MediaStream;
|
|
13
|
+
screenshareEnabled?: boolean;
|
|
14
|
+
screenshareTrack?: MediaStreamTrack;
|
|
15
|
+
screenshareVideoStream?: MediaStream;
|
|
16
|
+
pushedVideoTrack?: TrackObject;
|
|
17
|
+
pushedAudioTrack?: TrackObject;
|
|
18
|
+
pushedScreenshareTrack?: TrackObject;
|
|
19
|
+
peer?: CallsServicePeer;
|
|
20
|
+
pulledAudioTracks: Record<EncodedTrackName, {
|
|
21
|
+
track: MediaStreamTrack;
|
|
22
|
+
ctx: Context;
|
|
23
|
+
}>;
|
|
24
|
+
/**
|
|
25
|
+
* Includes video feeds and screenshare feeds of other participants.
|
|
26
|
+
*/
|
|
27
|
+
pulledVideoStreams: Record<EncodedTrackName, {
|
|
28
|
+
stream: MediaStream;
|
|
29
|
+
ctx: Context;
|
|
30
|
+
}>;
|
|
31
|
+
};
|
|
32
|
+
export type MediaManagerParams = {
|
|
33
|
+
serviceConfig: CallsServiceConfig;
|
|
34
|
+
};
|
|
35
|
+
export declare class MediaManager extends Resource {
|
|
36
|
+
readonly stateUpdated: Event<MediaState>;
|
|
37
|
+
private readonly _state;
|
|
38
|
+
private _speakingMonitor?;
|
|
39
|
+
private _trackToReconcile;
|
|
40
|
+
private _blackCanvasStreamTrack?;
|
|
41
|
+
private _inaudibleAudioStreamTrack?;
|
|
42
|
+
private _pushTracksTask?;
|
|
43
|
+
private _pullTracksTask?;
|
|
44
|
+
get isSpeaking(): boolean | undefined;
|
|
45
|
+
protected _open(): Promise<void>;
|
|
46
|
+
protected _close(): Promise<void>;
|
|
47
|
+
join(serviceConfig: CallsServiceConfig): Promise<void>;
|
|
48
|
+
leave(): Promise<void>;
|
|
49
|
+
turnVideoOn(): Promise<void>;
|
|
50
|
+
turnVideoOff(): Promise<void>;
|
|
51
|
+
turnAudioOn(): Promise<void>;
|
|
52
|
+
turnAudioOff(): Promise<void>;
|
|
53
|
+
turnScreenshareOn(): Promise<void>;
|
|
54
|
+
turnScreenshareOff(): Promise<void>;
|
|
55
|
+
private _reconcilePulledMedia;
|
|
56
|
+
private _pushTracks;
|
|
57
|
+
private _pullTrack;
|
|
58
|
+
private _pushTrack;
|
|
59
|
+
}
|
|
60
|
+
//# sourceMappingURL=media-manager.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"media-manager.d.ts","sourceRoot":"","sources":["../../../../src/calls/media-manager.ts"],"names":[],"mappings":"AAIA,OAAO,EAAgB,KAAK,EAAuB,MAAM,aAAa,CAAC;AACvE,OAAO,EAAqB,KAAK,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAI1E,OAAO,EAAkB,KAAK,gBAAgB,EAAE,KAAK,WAAW,EAAE,MAAM,SAAS,CAAC;AAClF,OAAO,EACL,KAAK,kBAAkB,EACvB,gBAAgB,EAKjB,MAAM,QAAQ,CAAC;AAEhB,MAAM,MAAM,UAAU,GAAG;IACvB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,UAAU,CAAC,EAAE,gBAAgB,CAAC;IAE9B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,UAAU,CAAC,EAAE,gBAAgB,CAAC;IAC9B,WAAW,CAAC,EAAE,WAAW,CAAC;IAE1B,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;IACpC,sBAAsB,CAAC,EAAE,WAAW,CAAC;IAErC,gBAAgB,CAAC,EAAE,WAAW,CAAC;IAC/B,gBAAgB,CAAC,EAAE,WAAW,CAAC;IAC/B,sBAAsB,CAAC,EAAE,WAAW,CAAC;IACrC,IAAI,CAAC,EAAE,gBAAgB,CAAC;IAExB,iBAAiB,EAAE,MAAM,CAAC,gBAAgB,EAAE;QAAE,KAAK,EAAE,gBAAgB,CAAC;QAAC,GAAG,EAAE,OAAO,CAAA;KAAE,CAAC,CAAC;IACvF;;OAEG;IACH,kBAAkB,EAAE,MAAM,CAAC,gBAAgB,EAAE;QAAE,MAAM,EAAE,WAAW,CAAC;QAAC,GAAG,EAAE,OAAO,CAAA;KAAE,CAAC,CAAC;CACrF,CAAC;AASF,MAAM,MAAM,kBAAkB,GAAG;IAC/B,aAAa,EAAE,kBAAkB,CAAC;CACnC,CAAC;AAEF,qBAAa,YAAa,SAAQ,QAAQ;IACxC,SAAgB,YAAY,oBAA2B;IACvD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAiE;IACxF,OAAO,CAAC,gBAAgB,CAAC,CAA8B;IAEvD,OAAO,CAAC,iBAAiB,CAA0B;IACnD,OAAO,CAAC,uBAAuB,CAAC,CAA+B;IAC/D,OAAO,CAAC,0BAA0B,CAAC,CAA+B;IAClE,OAAO,CAAC,eAAe,CAAC,CAA2B;IACnD,OAAO,CAAC,eAAe,CAAC,CAA2B;IAEnD,IAAI,UAAU,wBAEb;cASwB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;cAqBtB,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;IAW1C,IAAI,CAAC,aAAa,EAAE,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC;IAOtD,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAatB,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC;IAS5B,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC;IAc7B,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC;IAgB5B,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC;IAY7B,iBAAiB,IAAI,OAAO,CAAC,IAAI,CAAC;IASlC,kBAAkB,IAAI,OAAO,CAAC,IAAI,CAAC;YAuB3B,qBAAqB;YA0CrB,WAAW;YAiCX,UAAU;YAsCV,UAAU;CAezB"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { Event } from '@dxos/async';
|
|
2
|
+
import { Resource } from '@dxos/context';
|
|
3
|
+
export declare class SpeakingMonitor extends Resource {
|
|
4
|
+
private readonly _mediaStreamTrack;
|
|
5
|
+
/**
|
|
6
|
+
* Event that is emitted when the user starts or stops speaking.
|
|
7
|
+
* It is debounced to prevent rapid state changes.
|
|
8
|
+
*/
|
|
9
|
+
readonly speakingChanged: Event<boolean>;
|
|
10
|
+
/**
|
|
11
|
+
* Real state of the user speaking.
|
|
12
|
+
*/
|
|
13
|
+
private _isSpeaking;
|
|
14
|
+
private _lastEventTime;
|
|
15
|
+
private _deferredUpdate?;
|
|
16
|
+
constructor(_mediaStreamTrack: MediaStreamTrack);
|
|
17
|
+
get isSpeaking(): boolean;
|
|
18
|
+
protected _open(): Promise<void>;
|
|
19
|
+
/**
|
|
20
|
+
* Emits the speaking changed event with debouncing based on timing.
|
|
21
|
+
*/
|
|
22
|
+
private _emitSpeakingChanged;
|
|
23
|
+
}
|
|
24
|
+
//# sourceMappingURL=speaking-monitor.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"speaking-monitor.d.ts","sourceRoot":"","sources":["../../../../src/calls/speaking-monitor.ts"],"names":[],"mappings":"AAIA,OAAO,EAAgB,KAAK,EAAS,MAAM,aAAa,CAAC;AACzD,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AASzC,qBAAa,eAAgB,SAAQ,QAAQ;IAc/B,OAAO,CAAC,QAAQ,CAAC,iBAAiB;IAb9C;;;OAGG;IACH,SAAgB,eAAe,iBAAwB;IAEvD;;OAEG;IACH,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,cAAc,CAAK;IAC3B,OAAO,CAAC,eAAe,CAAC,CAA2B;gBAEtB,iBAAiB,EAAE,gBAAgB;IAIhE,IAAI,UAAU,IAAI,OAAO,CAExB;cAEwB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAoC/C;;OAEG;YACW,oBAAoB;CASnC"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import { buf } from '@dxos/protocols/buf';
|
|
2
|
+
import { type ActivitySchema, UserStateSchema, type UserState as UserStateProto } from '@dxos/protocols/buf/dxos/edge/calls_pb';
|
|
3
|
+
/**
|
|
4
|
+
* Endpoint to the calls service.
|
|
5
|
+
*/
|
|
6
|
+
export declare const CALLS_URL = "https://calls-service.dxos.workers.dev";
|
|
7
|
+
export type UserState = buf.MessageInitShape<typeof UserStateSchema>;
|
|
8
|
+
export type ActivityState = buf.MessageInitShape<typeof ActivitySchema>;
|
|
9
|
+
export declare const codec: {
|
|
10
|
+
encode: (message: UserState) => Uint8Array;
|
|
11
|
+
decode: (message: Uint8Array) => UserStateProto;
|
|
12
|
+
};
|
|
13
|
+
export type TrackObject = {
|
|
14
|
+
location?: 'local' | 'remote';
|
|
15
|
+
trackName?: string;
|
|
16
|
+
sessionId?: string;
|
|
17
|
+
mid?: string | null;
|
|
18
|
+
};
|
|
19
|
+
export type SessionDescription = {
|
|
20
|
+
type: 'offer' | 'answer';
|
|
21
|
+
sdp: string;
|
|
22
|
+
};
|
|
23
|
+
export interface ErrorResponse {
|
|
24
|
+
errorCode?: string;
|
|
25
|
+
errorDescription?: string;
|
|
26
|
+
}
|
|
27
|
+
export interface SessionResponse extends ErrorResponse {
|
|
28
|
+
sessionId: string;
|
|
29
|
+
sessionDescription: SessionDescription;
|
|
30
|
+
}
|
|
31
|
+
export interface TracksResponse extends ErrorResponse {
|
|
32
|
+
sessionDescription: SessionDescription;
|
|
33
|
+
requiresImmediateRenegotiation: boolean;
|
|
34
|
+
tracks?: (TrackObject & ErrorResponse)[];
|
|
35
|
+
}
|
|
36
|
+
export interface RenegotiationResponse extends ErrorResponse {
|
|
37
|
+
}
|
|
38
|
+
export type EncodedTrackName = string & {
|
|
39
|
+
__brand: 'EncodedTrackName';
|
|
40
|
+
};
|
|
41
|
+
export declare const TrackNameCodec: {
|
|
42
|
+
encode: (trackData: TrackObject) => EncodedTrackName;
|
|
43
|
+
decode: (name: EncodedTrackName) => TrackObject;
|
|
44
|
+
};
|
|
45
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/calls/types.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,GAAG,EAAE,MAAM,qBAAqB,CAAC;AAC1C,OAAO,EACL,KAAK,cAAc,EACnB,eAAe,EACf,KAAK,SAAS,IAAI,cAAc,EACjC,MAAM,wCAAwC,CAAC;AAEhD;;GAEG;AACH,eAAO,MAAM,SAAS,2CAA2C,CAAC;AAElE,MAAM,MAAM,SAAS,GAAG,GAAG,CAAC,gBAAgB,CAAC,OAAO,eAAe,CAAC,CAAC;AAErE,MAAM,MAAM,aAAa,GAAG,GAAG,CAAC,gBAAgB,CAAC,OAAO,cAAc,CAAC,CAAC;AAExE,eAAO,MAAM,KAAK;sBACE,SAAS,KAAG,UAAU;sBAGtB,UAAU,KAAG,cAAc;CAG9C,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG;IACxB,QAAQ,CAAC,EAAE,OAAO,GAAG,QAAQ,CAAC;IAC9B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACrB,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG;IAC/B,IAAI,EAAE,OAAO,GAAG,QAAQ,CAAC;IACzB,GAAG,EAAE,MAAM,CAAC;CACb,CAAC;AAEF,MAAM,WAAW,aAAa;IAC5B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED,MAAM,WAAW,eAAgB,SAAQ,aAAa;IACpD,SAAS,EAAE,MAAM,CAAC;IAClB,kBAAkB,EAAE,kBAAkB,CAAC;CACxC;AAED,MAAM,WAAW,cAAe,SAAQ,aAAa;IACnD,kBAAkB,EAAE,kBAAkB,CAAC;IACvC,8BAA8B,EAAE,OAAO,CAAC;IACxC,MAAM,CAAC,EAAE,CAAC,WAAW,GAAG,aAAa,CAAC,EAAE,CAAC;CAC1C;AAED,MAAM,WAAW,qBAAsB,SAAQ,aAAa;CAAG;AAE/D,MAAM,MAAM,gBAAgB,GAAG,MAAM,GAAG;IAAE,OAAO,EAAE,kBAAkB,CAAA;CAAE,CAAC;AAExE,eAAO,MAAM,cAAc;wBACL,WAAW,KAAG,gBAAgB;mBAGnC,gBAAgB,KAAG,WAAW;CAI9C,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"audio.d.ts","sourceRoot":"","sources":["../../../../../src/calls/util/audio.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,iBAAiB,GAAI,8CAI/B;IACD,gBAAgB,EAAE,gBAAgB,CAAC;IACnC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;CACpC,eA6CA,CAAC"}
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
import { type Context, Resource } from '@dxos/context';
|
|
2
|
+
import { HistoryCache } from './history-cache';
|
|
3
|
+
import { BulkRequestDispatcher, FIFOScheduler } from './task-scheduling';
|
|
4
|
+
import { type TrackObject } from '../types';
|
|
5
|
+
export type Session = {
|
|
6
|
+
sessionId: string;
|
|
7
|
+
peerConnection: RTCPeerConnection;
|
|
8
|
+
};
|
|
9
|
+
export type CallsServiceConfig = {
|
|
10
|
+
apiBase: string;
|
|
11
|
+
apiExtraParams?: string;
|
|
12
|
+
iceServers?: RTCIceServer[];
|
|
13
|
+
};
|
|
14
|
+
export type HistoryRecord = {
|
|
15
|
+
type: 'request';
|
|
16
|
+
time: string;
|
|
17
|
+
method: string;
|
|
18
|
+
body: any;
|
|
19
|
+
} | {
|
|
20
|
+
type: 'response';
|
|
21
|
+
time: string;
|
|
22
|
+
status: number;
|
|
23
|
+
text?: string;
|
|
24
|
+
json?: any;
|
|
25
|
+
};
|
|
26
|
+
/**
|
|
27
|
+
* Client for Cloudflare Calls service.
|
|
28
|
+
* API: https://developers.cloudflare.com/calls/https-api/
|
|
29
|
+
* Inspired by client from https://github.com/threepointone/partyserver/tree/main/packages/partytracks
|
|
30
|
+
*/
|
|
31
|
+
export declare class CallsServicePeer extends Resource {
|
|
32
|
+
readonly history: HistoryCache<HistoryRecord>;
|
|
33
|
+
private readonly _persistentLifecycle;
|
|
34
|
+
private readonly _config;
|
|
35
|
+
taskScheduler: FIFOScheduler;
|
|
36
|
+
pushTrackDispatcher: BulkRequestDispatcher<{
|
|
37
|
+
trackName: string;
|
|
38
|
+
transceiver: RTCRtpTransceiver;
|
|
39
|
+
}, {
|
|
40
|
+
tracks: TrackObject[];
|
|
41
|
+
}>;
|
|
42
|
+
pullTrackDispatcher: BulkRequestDispatcher<TrackObject, {
|
|
43
|
+
trackMap: Map<TrackObject, {
|
|
44
|
+
resolvedTrack: Promise<MediaStreamTrack>;
|
|
45
|
+
mid: string;
|
|
46
|
+
}>;
|
|
47
|
+
}>;
|
|
48
|
+
closeTrackDispatcher: BulkRequestDispatcher<unknown, unknown>;
|
|
49
|
+
constructor(config: CallsServiceConfig);
|
|
50
|
+
protected _open(ctx: Context): Promise<void>;
|
|
51
|
+
protected _close(): Promise<void>;
|
|
52
|
+
get session(): Session | undefined;
|
|
53
|
+
private _startSession;
|
|
54
|
+
private _stopSession;
|
|
55
|
+
private _createRtcConnection;
|
|
56
|
+
private _initiateCallSession;
|
|
57
|
+
private _fetch;
|
|
58
|
+
private _pushTrackInBulk;
|
|
59
|
+
pushTrack({ track, encodings, ctx, previousTrack, }: {
|
|
60
|
+
track: MediaStreamTrack | null;
|
|
61
|
+
encodings?: RTCRtpEncodingParameters[];
|
|
62
|
+
ctx?: Context;
|
|
63
|
+
previousTrack?: TrackObject;
|
|
64
|
+
}): Promise<TrackObject | undefined>;
|
|
65
|
+
private _pullTrackInBulk;
|
|
66
|
+
pullTrack({ ctx, trackData, }: {
|
|
67
|
+
trackData: TrackObject;
|
|
68
|
+
ctx?: Context;
|
|
69
|
+
}): Promise<MediaStreamTrack | undefined>;
|
|
70
|
+
_closeTrackInBulk(peerConnection: RTCPeerConnection, mid: string, sessionId: string): Promise<void>;
|
|
71
|
+
}
|
|
72
|
+
//# sourceMappingURL=calls-service.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"calls-service.d.ts","sourceRoot":"","sources":["../../../../../src/calls/util/calls-service.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,KAAK,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAIvD,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,qBAAqB,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AACzE,OAAO,EAIL,KAAK,WAAW,EAEjB,MAAM,UAAU,CAAC;AAIlB,MAAM,MAAM,OAAO,GAAG;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,EAAE,iBAAiB,CAAC;CACnC,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG;IAC/B,OAAO,EAAE,MAAM,CAAC;IAChB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,UAAU,CAAC,EAAE,YAAY,EAAE,CAAC;CAC7B,CAAC;AAEF,MAAM,MAAM,aAAa,GACrB;IACE,IAAI,EAAE,SAAS,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,GAAG,CAAC;CACX,GACD;IACE,IAAI,EAAE,UAAU,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,GAAG,CAAC;CACZ,CAAC;AAEN;;;;GAIG;AAEH,qBAAa,gBAAiB,SAAQ,QAAQ;IAC5C,SAAgB,OAAO,8BAAwC;IAE/D,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAGlC;IAEH,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAqB;IAE7C,aAAa,gBAAuB;IACpC,mBAAmB;mBAEJ,MAAM;qBACJ,iBAAiB;;gBAEtB,WAAW,EAAE;OACnB;IAEN,mBAAmB;kBAGL,GAAG,CAAC,WAAW,EAAE;YAAE,aAAa,EAAE,OAAO,CAAC,gBAAgB,CAAC,CAAC;YAAC,GAAG,EAAE,MAAM,CAAA;SAAE,CAAC;OAEnF;IAEN,oBAAoB,0CAAiC;gBACzC,MAAM,EAAE,kBAAkB;cAKb,KAAK,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;cAIlC,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;IAIhD,IAAI,OAAO,wBAEV;YAEa,aAAa;YAMb,YAAY;YAIZ,oBAAoB;YAsCpB,oBAAoB;YAMpB,MAAM;YA4CN,gBAAgB;IA6ExB,SAAS,CAAC,EACd,KAAK,EACL,SAAc,EACd,GAAG,EACH,aAAa,GACd,EAAE;QACD,KAAK,EAAE,gBAAgB,GAAG,IAAI,CAAC;QAC/B,SAAS,CAAC,EAAE,wBAAwB,EAAE,CAAC;QACvC,GAAG,CAAC,EAAE,OAAO,CAAC;QACd,aAAa,CAAC,EAAE,WAAW,CAAC;KAC7B,GAAG,OAAO,CAAC,WAAW,GAAG,SAAS,CAAC;YA0CtB,gBAAgB;IAiGxB,SAAS,CAAC,EACd,GAAG,EACH,SAAS,GACV,EAAE;QACD,SAAS,EAAE,WAAW,CAAC;QACvB,GAAG,CAAC,EAAE,OAAO,CAAC;KACf,GAAG,OAAO,CAAC,gBAAgB,GAAG,SAAS,CAAC;IAanC,iBAAiB,CAAC,cAAc,EAAE,iBAAiB,EAAE,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CA6C1G"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Array that holds the last N items.
|
|
3
|
+
*/
|
|
4
|
+
export declare class HistoryCache<T> {
|
|
5
|
+
private readonly _limit;
|
|
6
|
+
private readonly _messages;
|
|
7
|
+
constructor(limit?: number);
|
|
8
|
+
push(...messages: T[]): void;
|
|
9
|
+
get(): T[];
|
|
10
|
+
}
|
|
11
|
+
//# sourceMappingURL=history-cache.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"history-cache.d.ts","sourceRoot":"","sources":["../../../../../src/calls/util/history-cache.ts"],"names":[],"mappings":"AAIA;;GAEG;AACH,qBAAa,YAAY,CAAC,CAAC;IACzB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAChC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAM;gBAEpB,KAAK,SAAM;IAKvB,IAAI,CAAC,GAAG,QAAQ,EAAE,CAAC,EAAE,GAAG,IAAI;IAO5B,GAAG,IAAI,CAAC,EAAE;CAGX"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/calls/util/index.ts"],"names":[],"mappings":"AAIA,cAAc,SAAS,CAAC;AACxB,cAAc,iBAAiB,CAAC;AAChC,cAAc,SAAS,CAAC;AACxB,cAAc,sBAAsB,CAAC"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export declare const getUserMediaTrack: (kind: MediaDeviceKind, constraints?: MediaTrackConstraints, deviceList?: MediaDeviceInfo[]) => Promise<MediaStreamTrack>;
|
|
2
|
+
export declare const getDeviceList: () => Promise<MediaDeviceInfo[]>;
|
|
3
|
+
export declare const getScreenshare: ({ contentHint }: {
|
|
4
|
+
contentHint: string;
|
|
5
|
+
}) => Promise<MediaStream>;
|
|
6
|
+
//# sourceMappingURL=media.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"media.d.ts","sourceRoot":"","sources":["../../../../../src/calls/util/media.ts"],"names":[],"mappings":"AAMA,eAAO,MAAM,iBAAiB,GAC5B,MAAM,eAAe,EACrB,cAAa,qBAA0B,EACvC,aAAa,eAAe,EAAE,KAC7B,OAAO,CAAC,gBAAgB,CAQ1B,CAAC;AAaF,eAAO,MAAM,aAAa,kCAAkD,CAAC;AAU7E,eAAO,MAAM,cAAc,GAAU,iBAAiB;IAAE,WAAW,EAAE,MAAM,CAAA;CAAE,yBAU5E,CAAC"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { type Context } from '@dxos/context';
|
|
2
|
+
/**
|
|
3
|
+
* Creates a black canvas stream track.
|
|
4
|
+
* We need this to to have black rectangle video that is live (have frames) when video feed is disabled.
|
|
5
|
+
*/
|
|
6
|
+
export declare const createBlackCanvasStreamTrack: ({ ctx, width, height, }: {
|
|
7
|
+
ctx: Context;
|
|
8
|
+
width: number;
|
|
9
|
+
height: number;
|
|
10
|
+
}) => Promise<MediaStreamTrack>;
|
|
11
|
+
/**
|
|
12
|
+
* Creates an inaudible audio stream track.
|
|
13
|
+
* We need this to have audio track available when audio is disabled.
|
|
14
|
+
*/
|
|
15
|
+
export declare const createInaudibleAudioStreamTrack: ({ ctx }: {
|
|
16
|
+
ctx: Context;
|
|
17
|
+
}) => Promise<MediaStreamTrack>;
|
|
18
|
+
//# sourceMappingURL=stub-media-streams.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stub-media-streams.d.ts","sourceRoot":"","sources":["../../../../../src/calls/util/stub-media-streams.ts"],"names":[],"mappings":"AAMA,OAAO,EAAqB,KAAK,OAAO,EAAE,MAAM,eAAe,CAAC;AAGhE;;;GAGG;AACH,eAAO,MAAM,4BAA4B,GAAU,yBAIhD;IACD,GAAG,EAAE,OAAO,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAChB,KAAG,OAAO,CAAC,gBAAgB,CAmB3B,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,+BAA+B,GAAU,SAAS;IAAE,GAAG,EAAE,OAAO,CAAA;CAAE,KAAG,OAAO,CAAC,gBAAgB,CA0BzG,CAAC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
type Task<Value = unknown> = () => Promise<Value>;
|
|
2
|
+
export declare class FIFOScheduler {
|
|
3
|
+
#private;
|
|
4
|
+
constructor();
|
|
5
|
+
schedule<T>(task: Task<T>): Promise<T>;
|
|
6
|
+
}
|
|
7
|
+
export declare class BulkRequestDispatcher<RequestEntryParams, BulkResponse> {
|
|
8
|
+
#private;
|
|
9
|
+
constructor(batchSizeLimit?: number);
|
|
10
|
+
/**
|
|
11
|
+
* Returns a bulk response promise.
|
|
12
|
+
* At the event loop iteration end, the accumulated entries will be dispatched as a bulk request.
|
|
13
|
+
*/
|
|
14
|
+
doBulkRequest(params: RequestEntryParams, bulkRequestFunc: (bulkCopy: RequestEntryParams[]) => Promise<BulkResponse>): Promise<BulkResponse>;
|
|
15
|
+
}
|
|
16
|
+
export {};
|
|
17
|
+
//# sourceMappingURL=task-scheduling.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"task-scheduling.d.ts","sourceRoot":"","sources":["../../../../../src/calls/util/task-scheduling.ts"],"names":[],"mappings":"AAMA,KAAK,IAAI,CAAC,KAAK,GAAG,OAAO,IAAI,MAAM,OAAO,CAAC,KAAK,CAAC,CAAC;AAElD,qBAAa,aAAa;;;IAOxB,QAAQ,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;CAWvC;AAGD,qBAAa,qBAAqB,CAAC,kBAAkB,EAAE,YAAY;;gBAKrD,cAAc,GAAE,MAA8B;IAM1D;;;OAGG;IACH,aAAa,CACX,MAAM,EAAE,kBAAkB,EAC1B,eAAe,EAAE,CAAC,QAAQ,EAAE,kBAAkB,EAAE,KAAK,OAAO,CAAC,YAAY,CAAC,GACzE,OAAO,CAAC,YAAY,CAAC;CA4CzB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"app-graph-builder.d.ts","sourceRoot":"","sources":["../../../../src/capabilities/app-graph-builder.ts"],"names":[],"mappings":"AAOA,OAAO,
|
|
1
|
+
{"version":3,"file":"app-graph-builder.d.ts","sourceRoot":"","sources":["../../../../src/capabilities/app-graph-builder.ts"],"names":[],"mappings":"AAOA,OAAO,EAA2C,KAAK,aAAa,EAAE,MAAM,qBAAqB,CAAC;yBAYlF,SAAS,aAAa;AAAtC,wBAgKE"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { type PluginContext } from '@dxos/app-framework';
|
|
2
|
+
import { CallManager } from '../calls';
|
|
3
|
+
declare const _default: (context: PluginContext) => Promise<import("@dxos/app-framework").Capability<CallManager>>;
|
|
4
|
+
export default _default;
|
|
5
|
+
//# sourceMappingURL=call-manager.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"call-manager.d.ts","sourceRoot":"","sources":["../../../../src/capabilities/call-manager.ts"],"names":[],"mappings":"AAIA,OAAO,EAAe,KAAK,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAItE,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;yBAEjB,SAAS,aAAa;AAA5C,wBAQE"}
|