@dxos/plugin-thread 0.8.4-main.e098934 → 0.8.4-main.e8ec1fe
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-NDIH62Q4.mjs +17 -0
- package/dist/lib/browser/ChatContainer-6FVFME3R.mjs +16 -0
- package/dist/lib/browser/{app-graph-builder-FHAOPO57.mjs → app-graph-builder-URVQHGMR.mjs} +32 -32
- package/dist/lib/browser/app-graph-builder-URVQHGMR.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-RMPTWSTF.mjs → call-manager-4YFT4XA6.mjs} +8 -7
- package/dist/lib/{node-esm/call-manager-QAREJFVX.mjs.map → browser/call-manager-4YFT4XA6.mjs.map} +1 -1
- package/dist/lib/browser/{chunk-PBMNFG3B.mjs → chunk-6LWKNZUV.mjs} +18 -17
- package/dist/lib/browser/chunk-6LWKNZUV.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-7W7QK5ZP.mjs → chunk-F36NHPJG.mjs} +37 -34
- package/dist/lib/browser/chunk-F36NHPJG.mjs.map +7 -0
- package/dist/lib/browser/{chunk-ZH2WPTNP.mjs → chunk-HKI7FUMB.mjs} +65 -72
- package/dist/lib/browser/chunk-HKI7FUMB.mjs.map +7 -0
- package/dist/lib/browser/{chunk-XYUJXHYV.mjs → chunk-ISCHODBV.mjs} +1 -1
- package/dist/lib/browser/{chunk-XYUJXHYV.mjs.map → chunk-ISCHODBV.mjs.map} +2 -2
- package/dist/lib/browser/chunk-J5LGTIGS.mjs +10 -0
- package/dist/lib/browser/chunk-JDFDDUTH.mjs +23 -0
- package/dist/lib/browser/chunk-JDFDDUTH.mjs.map +7 -0
- package/dist/lib/browser/{chunk-RI3Z6MK3.mjs → chunk-KOBXMDCI.mjs} +68 -67
- package/dist/lib/browser/chunk-KOBXMDCI.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-KTWYVC5X.mjs → chunk-R5UOPOO7.mjs} +44 -49
- package/dist/lib/browser/chunk-R5UOPOO7.mjs.map +7 -0
- package/dist/lib/browser/{chunk-ZCEU5K23.mjs → chunk-ZCW3NSDZ.mjs} +139 -236
- package/dist/lib/browser/chunk-ZCW3NSDZ.mjs.map +7 -0
- package/dist/lib/browser/index.mjs +41 -42
- package/dist/lib/browser/index.mjs.map +3 -3
- package/dist/lib/browser/{intent-resolver-J7OCP2P6.mjs → intent-resolver-S3F7DVFM.mjs} +33 -99
- package/dist/lib/browser/intent-resolver-S3F7DVFM.mjs.map +7 -0
- package/dist/lib/browser/{markdown-Z677YORA.mjs → markdown-454GFKEZ.mjs} +25 -23
- package/dist/lib/browser/markdown-454GFKEZ.mjs.map +7 -0
- package/dist/lib/browser/meta.json +1 -1
- package/dist/lib/browser/react-root-ZB5ZA4I6.mjs +29 -0
- package/dist/lib/browser/react-root-ZB5ZA4I6.mjs.map +7 -0
- package/dist/lib/browser/{react-surface-GVGZRBDK.mjs → react-surface-MBLTXSOC.mjs} +38 -36
- package/dist/lib/browser/react-surface-MBLTXSOC.mjs.map +7 -0
- package/dist/lib/browser/{settings-GRKEID73.mjs → settings-JN2HHORY.mjs} +6 -5
- package/dist/lib/{node-esm/settings-F2ODVNNW.mjs.map → browser/settings-JN2HHORY.mjs.map} +1 -1
- package/dist/lib/browser/{state-2T4KDWBX.mjs → state-UYPLBGZJ.mjs} +6 -5
- package/dist/lib/{node-esm/state-62TQKQVB.mjs.map → browser/state-UYPLBGZJ.mjs.map} +1 -1
- package/dist/lib/browser/types/index.mjs +7 -10
- package/dist/lib/node-esm/ChannelContainer-NGSDMNEE.mjs +18 -0
- package/dist/lib/node-esm/ChatContainer-KWNON7EN.mjs +17 -0
- package/dist/lib/node-esm/ChatContainer-KWNON7EN.mjs.map +7 -0
- package/dist/lib/node-esm/{app-graph-builder-XEYWX5FC.mjs → app-graph-builder-2IH5RPR7.mjs} +32 -32
- package/dist/lib/node-esm/app-graph-builder-2IH5RPR7.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-QAREJFVX.mjs → call-manager-UMUXEYH5.mjs} +8 -7
- package/dist/lib/{browser/call-manager-RMPTWSTF.mjs.map → node-esm/call-manager-UMUXEYH5.mjs.map} +1 -1
- 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-3VRYXHKX.mjs +25 -0
- package/dist/lib/node-esm/chunk-3VRYXHKX.mjs.map +7 -0
- package/dist/lib/node-esm/{chunk-TIPIOH2J.mjs → chunk-7KZWZS2U.mjs} +139 -236
- package/dist/lib/node-esm/chunk-7KZWZS2U.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-HSLMI22Q.mjs +11 -0
- package/dist/lib/node-esm/chunk-HSLMI22Q.mjs.map +7 -0
- package/dist/lib/node-esm/{chunk-P6E247RF.mjs → chunk-MEIWWPR2.mjs} +44 -49
- package/dist/lib/node-esm/chunk-MEIWWPR2.mjs.map +7 -0
- package/dist/lib/node-esm/{chunk-LE2LIYGX.mjs → chunk-MM6HOX5W.mjs} +65 -72
- package/dist/lib/node-esm/chunk-MM6HOX5W.mjs.map +7 -0
- package/dist/lib/node-esm/{chunk-JNPKMT7O.mjs → chunk-PZH2EDU5.mjs} +68 -67
- 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-2V3WSLUZ.mjs → chunk-VBI32FGI.mjs} +1 -1
- package/dist/lib/node-esm/{chunk-2V3WSLUZ.mjs.map → chunk-VBI32FGI.mjs.map} +2 -2
- package/dist/lib/node-esm/{chunk-SNKFZQST.mjs → chunk-Y3F2SGNH.mjs} +37 -34
- package/dist/lib/node-esm/chunk-Y3F2SGNH.mjs.map +7 -0
- package/dist/lib/node-esm/{chunk-DKCQCENK.mjs → chunk-Z4GUSLWL.mjs} +18 -17
- package/dist/lib/node-esm/chunk-Z4GUSLWL.mjs.map +7 -0
- package/dist/lib/node-esm/index.mjs +41 -42
- package/dist/lib/node-esm/index.mjs.map +3 -3
- package/dist/lib/node-esm/{intent-resolver-SR2LW4HF.mjs → intent-resolver-UES35EMJ.mjs} +33 -99
- package/dist/lib/node-esm/intent-resolver-UES35EMJ.mjs.map +7 -0
- package/dist/lib/node-esm/{markdown-FL4IXLRP.mjs → markdown-7JUG6J7B.mjs} +25 -23
- package/dist/lib/node-esm/markdown-7JUG6J7B.mjs.map +7 -0
- package/dist/lib/node-esm/meta.json +1 -1
- package/dist/lib/node-esm/react-root-3XXULWUN.mjs +30 -0
- package/dist/lib/node-esm/react-root-3XXULWUN.mjs.map +7 -0
- package/dist/lib/node-esm/{react-surface-WLQUVRAX.mjs → react-surface-DCF4DD7B.mjs} +38 -36
- package/dist/lib/node-esm/react-surface-DCF4DD7B.mjs.map +7 -0
- package/dist/lib/node-esm/{settings-F2ODVNNW.mjs → settings-VSPM3BIM.mjs} +6 -5
- package/dist/lib/{browser/settings-GRKEID73.mjs.map → node-esm/settings-VSPM3BIM.mjs.map} +1 -1
- package/dist/lib/node-esm/{state-62TQKQVB.mjs → state-XNWOLBNE.mjs} +6 -5
- package/dist/lib/{browser/state-2T4KDWBX.mjs.map → node-esm/state-XNWOLBNE.mjs.map} +1 -1
- 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/media-manager.d.ts.map +1 -1
- package/dist/types/src/calls-service.stories.d.ts +0 -1
- package/dist/types/src/calls-service.stories.d.ts.map +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/capabilities.d.ts +2 -2
- package/dist/types/src/capabilities/capabilities.d.ts.map +1 -1
- package/dist/types/src/capabilities/index.d.ts +1 -1
- 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-surface.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.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 +73 -8
- package/dist/types/src/components/ChannelContainer.stories.d.ts.map +1 -1
- package/dist/types/src/components/Chat.stories.d.ts +73 -6
- 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 +1 -2
- 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 +8 -8
- package/dist/types/src/components/CommentsThreadContainer.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 +5 -3
- package/dist/types/src/components/Media/VideoObject.stories.d.ts.map +1 -1
- package/dist/types/src/components/MessageContainer.d.ts +2 -2
- package/dist/types/src/components/MessageContainer.d.ts.map +1 -1
- package/dist/types/src/components/ResponsiveGrid/ResponsiveContainer.stories.d.ts +2 -2
- package/dist/types/src/components/ResponsiveGrid/ResponsiveContainer.stories.d.ts.map +1 -1
- package/dist/types/src/components/ResponsiveGrid/ResponsiveGrid.stories.d.ts +2 -2
- 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/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 -3
- 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 -2
- package/dist/types/src/hooks/index.d.ts.map +1 -1
- 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 +72 -6
- 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 +30 -117
- package/dist/types/src/types/types.d.ts.map +1 -1
- package/dist/types/tsconfig.tsbuildinfo +1 -1
- package/package.json +62 -58
- package/src/ThreadPlugin.tsx +139 -132
- package/src/calls/media-manager.ts +9 -6
- package/src/calls/util/stub-media-streams.ts +2 -2
- package/src/calls-service.stories.tsx +2 -5
- package/src/capabilities/app-graph-builder.ts +41 -30
- package/src/capabilities/blueprint-definition.ts +38 -0
- package/src/capabilities/capabilities.ts +7 -7
- package/src/capabilities/index.ts +1 -1
- package/src/capabilities/intent-resolver.ts +22 -59
- package/src/capabilities/markdown.ts +5 -3
- package/src/capabilities/react-root.tsx +2 -2
- package/src/capabilities/react-surface.tsx +25 -23
- package/src/components/Call/Call.tsx +1 -1
- package/src/components/Call/Toolbar.tsx +5 -5
- package/src/components/CallDebugPanel.tsx +12 -14
- package/src/components/CallSidebar.tsx +1 -1
- package/src/components/ChannelContainer.stories.tsx +10 -10
- package/src/components/ChannelContainer.tsx +19 -15
- package/src/components/Chat.stories.tsx +14 -19
- package/src/components/ChatContainer.tsx +29 -21
- package/src/components/Comments.stories.tsx +11 -17
- package/src/components/CommentsContainer.tsx +5 -7
- package/src/components/CommentsThreadContainer.tsx +31 -27
- package/src/components/Lobby/Lobby.tsx +1 -1
- package/src/components/Media/VideoObject.stories.tsx +12 -7
- package/src/components/Media/VideoObject.tsx +1 -1
- package/src/components/MessageContainer.tsx +6 -6
- package/src/components/Participant/Participant.tsx +1 -1
- package/src/components/ResponsiveGrid/ResponsiveContainer.stories.tsx +3 -4
- package/src/components/ResponsiveGrid/ResponsiveContainer.tsx +2 -2
- package/src/components/ResponsiveGrid/ResponsiveGrid.stories.tsx +4 -5
- package/src/components/ResponsiveGrid/ResponsiveGrid.tsx +5 -5
- package/src/components/ResponsiveGrid/ResponsiveGridItem.tsx +5 -2
- package/src/components/{ThreadComplementary.tsx → ThreadCompanion.tsx} +41 -34
- package/src/components/ThreadSettings.tsx +4 -5
- package/src/components/index.ts +4 -4
- package/src/components/testing.ts +7 -9
- package/src/extensions/threads.ts +25 -16
- 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 -2
- package/src/hooks/useVideoStreamTrack.tsx +1 -1
- package/src/meta.ts +9 -5
- package/src/testing/stories.ts +3 -6
- package/src/translations.ts +4 -3
- package/src/types/Channel.ts +26 -0
- package/src/types/index.ts +1 -1
- package/src/types/types.ts +18 -27
- package/src/util.ts +1 -1
- package/dist/lib/browser/ChannelContainer-4PYFOIDK.mjs +0 -16
- package/dist/lib/browser/ChatContainer-EXNNREYB.mjs +0 -15
- package/dist/lib/browser/app-graph-builder-FHAOPO57.mjs.map +0 -7
- package/dist/lib/browser/chunk-4APCDRSH.mjs +0 -18
- package/dist/lib/browser/chunk-4APCDRSH.mjs.map +0 -7
- package/dist/lib/browser/chunk-7W7QK5ZP.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-G4CNILRR.mjs +0 -23
- package/dist/lib/browser/chunk-G4CNILRR.mjs.map +0 -7
- package/dist/lib/browser/chunk-GERVMFQW.mjs.map +0 -7
- package/dist/lib/browser/chunk-KTWYVC5X.mjs.map +0 -7
- package/dist/lib/browser/chunk-PBMNFG3B.mjs.map +0 -7
- package/dist/lib/browser/chunk-RI3Z6MK3.mjs.map +0 -7
- package/dist/lib/browser/chunk-ZCEU5K23.mjs.map +0 -7
- package/dist/lib/browser/chunk-ZH2WPTNP.mjs.map +0 -7
- package/dist/lib/browser/intent-resolver-J7OCP2P6.mjs.map +0 -7
- package/dist/lib/browser/markdown-Z677YORA.mjs.map +0 -7
- package/dist/lib/browser/react-root-XKOD4KRB.mjs +0 -28
- package/dist/lib/browser/react-root-XKOD4KRB.mjs.map +0 -7
- package/dist/lib/browser/react-surface-GVGZRBDK.mjs.map +0 -7
- package/dist/lib/browser/toolkit-KUPIIFC6.mjs +0 -80
- package/dist/lib/browser/toolkit-KUPIIFC6.mjs.map +0 -7
- package/dist/lib/node-esm/ChannelContainer-KQQEZWUN.mjs +0 -17
- package/dist/lib/node-esm/ChatContainer-QVQKFBWA.mjs +0 -16
- package/dist/lib/node-esm/app-graph-builder-XEYWX5FC.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-4T45PCKP.mjs +0 -25
- package/dist/lib/node-esm/chunk-4T45PCKP.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-57XR3LEF.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-DKCQCENK.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-JNPKMT7O.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-LE2LIYGX.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-P6E247RF.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-PYTVBN5J.mjs +0 -19
- package/dist/lib/node-esm/chunk-PYTVBN5J.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-SNKFZQST.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-TIPIOH2J.mjs.map +0 -7
- package/dist/lib/node-esm/intent-resolver-SR2LW4HF.mjs.map +0 -7
- package/dist/lib/node-esm/markdown-FL4IXLRP.mjs.map +0 -7
- package/dist/lib/node-esm/react-root-4JWDRIQB.mjs +0 -29
- package/dist/lib/node-esm/react-root-4JWDRIQB.mjs.map +0 -7
- package/dist/lib/node-esm/react-surface-WLQUVRAX.mjs.map +0 -7
- package/dist/lib/node-esm/toolkit-KZIS7G36.mjs +0 -81
- package/dist/lib/node-esm/toolkit-KZIS7G36.mjs.map +0 -7
- package/dist/types/src/capabilities/toolkit.d.ts +0 -5
- package/dist/types/src/capabilities/toolkit.d.ts.map +0 -1
- 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 -177
- package/dist/types/src/types/schema.d.ts.map +0 -1
- package/src/capabilities/toolkit.ts +0 -78
- package/src/types/schema.ts +0 -33
- /package/dist/lib/browser/{ChannelContainer-4PYFOIDK.mjs.map → ChannelContainer-NDIH62Q4.mjs.map} +0 -0
- /package/dist/lib/browser/{ChatContainer-EXNNREYB.mjs.map → ChatContainer-6FVFME3R.mjs.map} +0 -0
- /package/dist/lib/{node-esm/ChannelContainer-KQQEZWUN.mjs.map → browser/chunk-J5LGTIGS.mjs.map} +0 -0
- /package/dist/lib/node-esm/{ChatContainer-QVQKFBWA.mjs.map → ChannelContainer-NGSDMNEE.mjs.map} +0 -0
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/capabilities/react-root.tsx"],
|
|
4
|
+
"sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport React from 'react';\n\nimport { Capabilities, contributes } from '@dxos/app-framework';\n\nimport { Call } from '../components';\nimport { meta } from '../meta';\n\nexport default () => {\n return contributes(Capabilities.ReactRoot, {\n id: meta.id,\n root: () => <Call.Audio />,\n });\n};\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;AAIA,OAAOA,WAAW;AAElB,SAASC,cAAcC,mBAAmB;AAK1C,IAAA,sBAAe,MAAA;AACb,SAAOC,YAAYC,aAAaC,WAAW;IACzCC,IAAIC,KAAKD;IACTE,MAAM,MAAM,sBAAA,cAACC,KAAKC,OAAK,IAAA;EACzB,CAAA;AACF;",
|
|
6
|
+
"names": ["React", "Capabilities", "contributes", "contributes", "Capabilities", "ReactRoot", "id", "meta", "root", "Call", "Audio"]
|
|
7
|
+
}
|
|
@@ -3,46 +3,48 @@ import {
|
|
|
3
3
|
CallSidebar,
|
|
4
4
|
ChannelContainer,
|
|
5
5
|
ChatContainer,
|
|
6
|
-
|
|
6
|
+
ThreadCompanion,
|
|
7
7
|
ThreadSettings
|
|
8
|
-
} from "./chunk-
|
|
8
|
+
} from "./chunk-HKI7FUMB.mjs";
|
|
9
|
+
import "./chunk-F36NHPJG.mjs";
|
|
10
|
+
import "./chunk-JDFDDUTH.mjs";
|
|
9
11
|
import {
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
} from "./chunk-KTWYVC5X.mjs";
|
|
13
|
-
import "./chunk-7W7QK5ZP.mjs";
|
|
14
|
-
import "./chunk-G4CNILRR.mjs";
|
|
12
|
+
Channel_exports
|
|
13
|
+
} from "./chunk-R5UOPOO7.mjs";
|
|
15
14
|
import {
|
|
16
15
|
ThreadCapabilities
|
|
17
|
-
} from "./chunk-
|
|
18
|
-
import "./chunk-
|
|
19
|
-
import "./chunk-
|
|
20
|
-
import "./chunk-
|
|
21
|
-
import "./chunk-
|
|
16
|
+
} from "./chunk-CFC7LEPD.mjs";
|
|
17
|
+
import "./chunk-6LWKNZUV.mjs";
|
|
18
|
+
import "./chunk-KOBXMDCI.mjs";
|
|
19
|
+
import "./chunk-CP7E2HRE.mjs";
|
|
20
|
+
import "./chunk-ISCHODBV.mjs";
|
|
22
21
|
import {
|
|
23
|
-
|
|
24
|
-
} from "./chunk-
|
|
22
|
+
meta
|
|
23
|
+
} from "./chunk-QM34EZQK.mjs";
|
|
24
|
+
import "./chunk-J5LGTIGS.mjs";
|
|
25
25
|
|
|
26
26
|
// src/capabilities/react-surface.tsx
|
|
27
27
|
import React from "react";
|
|
28
|
-
import { Capabilities, contributes, createSurface
|
|
28
|
+
import { Capabilities, contributes, createSurface } from "@dxos/app-framework";
|
|
29
|
+
import { useCapability } from "@dxos/app-framework/react";
|
|
29
30
|
import { Obj } from "@dxos/echo";
|
|
30
31
|
import { SettingsStore } from "@dxos/local-storage";
|
|
31
32
|
import { getSpace } from "@dxos/react-client/echo";
|
|
32
|
-
|
|
33
|
+
import { Thread } from "@dxos/types";
|
|
34
|
+
var react_surface_default = (() => contributes(Capabilities.ReactSurface, [
|
|
33
35
|
createSurface({
|
|
34
|
-
id: `${
|
|
36
|
+
id: `${meta.id}/channel`,
|
|
35
37
|
role: "article",
|
|
36
|
-
filter: (data) => Obj.instanceOf(
|
|
37
|
-
component: ({ data: { subject
|
|
38
|
-
channel,
|
|
38
|
+
filter: (data) => Obj.instanceOf(Channel_exports.Channel, data.subject),
|
|
39
|
+
component: ({ data: { subject }, role }) => /* @__PURE__ */ React.createElement(ChannelContainer, {
|
|
40
|
+
channel: subject,
|
|
39
41
|
role
|
|
40
42
|
})
|
|
41
43
|
}),
|
|
42
44
|
createSurface({
|
|
43
|
-
id: `${
|
|
45
|
+
id: `${meta.id}/chat-companion`,
|
|
44
46
|
role: "article",
|
|
45
|
-
filter: (data) => Obj.instanceOf(
|
|
47
|
+
filter: (data) => Obj.instanceOf(Channel_exports.Channel, data.companionTo) && data.subject === "chat",
|
|
46
48
|
component: ({ data: { companionTo: channel } }) => {
|
|
47
49
|
const space = getSpace(channel);
|
|
48
50
|
const thread = channel.defaultThread.target;
|
|
@@ -56,44 +58,44 @@ var react_surface_default = () => contributes(Capabilities.ReactSurface, [
|
|
|
56
58
|
}
|
|
57
59
|
}),
|
|
58
60
|
createSurface({
|
|
59
|
-
id: `${
|
|
61
|
+
id: `${meta.id}/thread`,
|
|
60
62
|
role: "article",
|
|
61
|
-
filter: (data) => Obj.instanceOf(
|
|
62
|
-
component: ({ data: { subject
|
|
63
|
-
const space = getSpace(
|
|
64
|
-
if (!space || !
|
|
63
|
+
filter: (data) => Obj.instanceOf(Thread.Thread, data.subject),
|
|
64
|
+
component: ({ data: { subject } }) => {
|
|
65
|
+
const space = getSpace(subject);
|
|
66
|
+
if (!space || !subject) {
|
|
65
67
|
return null;
|
|
66
68
|
}
|
|
67
69
|
return /* @__PURE__ */ React.createElement(ChatContainer, {
|
|
68
|
-
thread,
|
|
70
|
+
thread: subject,
|
|
69
71
|
space
|
|
70
72
|
});
|
|
71
73
|
}
|
|
72
74
|
}),
|
|
73
75
|
createSurface({
|
|
74
|
-
id: `${
|
|
76
|
+
id: `${meta.id}/comments`,
|
|
75
77
|
role: "article",
|
|
76
78
|
filter: (data) => data.subject === "comments" && Obj.isObject(data.companionTo),
|
|
77
79
|
// TODO(wittjosiah): This isn't scrolling properly in a plank.
|
|
78
|
-
component: ({ data }) => /* @__PURE__ */ React.createElement(
|
|
80
|
+
component: ({ data }) => /* @__PURE__ */ React.createElement(ThreadCompanion, {
|
|
79
81
|
subject: data.companionTo
|
|
80
82
|
})
|
|
81
83
|
}),
|
|
82
84
|
createSurface({
|
|
83
|
-
id: `${
|
|
85
|
+
id: `${meta.id}/plugin-settings`,
|
|
84
86
|
role: "article",
|
|
85
|
-
filter: (data) => data.subject instanceof SettingsStore && data.subject.prefix ===
|
|
87
|
+
filter: (data) => data.subject instanceof SettingsStore && data.subject.prefix === meta.id,
|
|
86
88
|
component: ({ data: { subject } }) => /* @__PURE__ */ React.createElement(ThreadSettings, {
|
|
87
89
|
settings: subject.value
|
|
88
90
|
})
|
|
89
91
|
}),
|
|
90
92
|
createSurface({
|
|
91
|
-
id: `${
|
|
93
|
+
id: `${meta.id}/assistant`,
|
|
92
94
|
role: "deck-companion--active-call",
|
|
93
95
|
component: () => /* @__PURE__ */ React.createElement(CallSidebar, null)
|
|
94
96
|
}),
|
|
95
97
|
createSurface({
|
|
96
|
-
id: `${
|
|
98
|
+
id: `${meta.id}/devtools-overview`,
|
|
97
99
|
role: "devtools-overview",
|
|
98
100
|
component: () => {
|
|
99
101
|
const call = useCapability(ThreadCapabilities.CallManager);
|
|
@@ -102,8 +104,8 @@ var react_surface_default = () => contributes(Capabilities.ReactSurface, [
|
|
|
102
104
|
});
|
|
103
105
|
}
|
|
104
106
|
})
|
|
105
|
-
]);
|
|
107
|
+
]));
|
|
106
108
|
export {
|
|
107
109
|
react_surface_default as default
|
|
108
110
|
};
|
|
109
|
-
//# sourceMappingURL=react-surface-
|
|
111
|
+
//# sourceMappingURL=react-surface-MBLTXSOC.mjs.map
|
|
@@ -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 } from '@dxos/app-framework';\nimport { useCapability } from '@dxos/app-framework/react';\nimport { Obj, type Ref } from '@dxos/echo';\nimport { SettingsStore } from '@dxos/local-storage';\nimport { getSpace } from '@dxos/react-client/echo';\nimport { Thread } from '@dxos/types';\n\nimport {\n CallDebugPanel,\n CallSidebar,\n ChannelContainer,\n ChatContainer,\n ThreadCompanion,\n ThreadSettings,\n} from '../components';\nimport { meta } from '../meta';\nimport { Channel, type ThreadSettingsProps } from '../types';\n\nimport { ThreadCapabilities } from './capabilities';\n\nexport default () =>\n contributes(Capabilities.ReactSurface, [\n createSurface({\n id: `${meta.id}/channel`,\n role: 'article',\n filter: (data): data is { subject: Channel.Channel } => Obj.instanceOf(Channel.Channel, data.subject),\n component: ({ data: { subject }, role }) => <ChannelContainer channel={subject} role={role} />,\n }),\n createSurface({\n id: `${meta.id}/chat-companion`,\n role: 'article',\n filter: (data): data is { companionTo: Channel.Channel; subject: 'chat' } =>\n Obj.instanceOf(Channel.Channel, 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: `${meta.id}/thread`,\n role: 'article',\n filter: (data): data is { subject: Thread.Thread } => Obj.instanceOf(Thread.Thread, data.subject),\n component: ({ data: { subject } }) => {\n const space = getSpace(subject);\n if (!space || !subject) {\n return null;\n }\n\n return <ChatContainer thread={subject} space={space} />;\n },\n }),\n createSurface({\n id: `${meta.id}/comments`,\n role: 'article',\n filter: (data): data is { companionTo: { threads: Ref.Ref<Thread.Thread>[] } } =>\n data.subject === 'comments' && Obj.isObject(data.companionTo),\n // TODO(wittjosiah): This isn't scrolling properly in a plank.\n component: ({ data }) => <ThreadCompanion subject={data.companionTo} />,\n }),\n createSurface({\n id: `${meta.id}/plugin-settings`,\n role: 'article',\n filter: (data): data is { subject: SettingsStore<ThreadSettingsProps> } =>\n data.subject instanceof SettingsStore && data.subject.prefix === meta.id,\n component: ({ data: { subject } }) => <ThreadSettings settings={subject.value} />,\n }),\n createSurface({\n id: `${meta.id}/assistant`,\n role: 'deck-companion--active-call',\n component: () => <CallSidebar />,\n }),\n createSurface({\n id: `${meta.id}/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,qBAAqB;AACzD,SAASC,qBAAqB;AAC9B,SAASC,WAAqB;AAC9B,SAASC,qBAAqB;AAC9B,SAASC,gBAAgB;AACzB,SAASC,cAAc;AAevB,IAAA,yBAAe,MACbC,YAAYC,aAAaC,cAAc;EACrCC,cAAc;IACZC,IAAI,GAAGC,KAAKD,EAAE;IACdE,MAAM;IACNC,QAAQ,CAACC,SAA+CC,IAAIC,WAAWC,gBAAQA,SAASH,KAAKI,OAAO;IACpGC,WAAW,CAAC,EAAEL,MAAM,EAAEI,QAAO,GAAIN,KAAI,MAAO,sBAAA,cAACQ,kBAAAA;MAAiBC,SAASH;MAASN;;EAClF,CAAA;EACAH,cAAc;IACZC,IAAI,GAAGC,KAAKD,EAAE;IACdE,MAAM;IACNC,QAAQ,CAACC,SACPC,IAAIC,WAAWC,gBAAQA,SAASH,KAAKQ,WAAW,KAAKR,KAAKI,YAAY;IACxEC,WAAW,CAAC,EAAEL,MAAM,EAAEQ,aAAaD,QAAO,EAAE,MAAE;AAC5C,YAAME,QAAQC,SAASH,OAAAA;AACvB,YAAMI,SAASJ,QAAQK,cAAcC;AACrC,UAAI,CAACJ,SAAS,CAACE,QAAQ;AACrB,eAAO;MACT;AAEA,aAAO,sBAAA,cAACG,eAAAA;QAAcH;QAAgBF;;IACxC;EACF,CAAA;EACAd,cAAc;IACZC,IAAI,GAAGC,KAAKD,EAAE;IACdE,MAAM;IACNC,QAAQ,CAACC,SAA6CC,IAAIC,WAAWa,OAAOA,QAAQf,KAAKI,OAAO;IAChGC,WAAW,CAAC,EAAEL,MAAM,EAAEI,QAAO,EAAE,MAAE;AAC/B,YAAMK,QAAQC,SAASN,OAAAA;AACvB,UAAI,CAACK,SAAS,CAACL,SAAS;AACtB,eAAO;MACT;AAEA,aAAO,sBAAA,cAACU,eAAAA;QAAcH,QAAQP;QAASK;;IACzC;EACF,CAAA;EACAd,cAAc;IACZC,IAAI,GAAGC,KAAKD,EAAE;IACdE,MAAM;IACNC,QAAQ,CAACC,SACPA,KAAKI,YAAY,cAAcH,IAAIe,SAAShB,KAAKQ,WAAW;;IAE9DH,WAAW,CAAC,EAAEL,KAAI,MAAO,sBAAA,cAACiB,iBAAAA;MAAgBb,SAASJ,KAAKQ;;EAC1D,CAAA;EACAb,cAAc;IACZC,IAAI,GAAGC,KAAKD,EAAE;IACdE,MAAM;IACNC,QAAQ,CAACC,SACPA,KAAKI,mBAAmBc,iBAAiBlB,KAAKI,QAAQe,WAAWtB,KAAKD;IACxES,WAAW,CAAC,EAAEL,MAAM,EAAEI,QAAO,EAAE,MAAO,sBAAA,cAACgB,gBAAAA;MAAeC,UAAUjB,QAAQkB;;EAC1E,CAAA;EACA3B,cAAc;IACZC,IAAI,GAAGC,KAAKD,EAAE;IACdE,MAAM;IACNO,WAAW,MAAM,sBAAA,cAACkB,aAAAA,IAAAA;EACpB,CAAA;EACA5B,cAAc;IACZC,IAAI,GAAGC,KAAKD,EAAE;IACdE,MAAM;IACNO,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", "Obj", "SettingsStore", "getSpace", "Thread", "contributes", "Capabilities", "ReactSurface", "createSurface", "id", "meta", "role", "filter", "data", "Obj", "instanceOf", "Channel", "subject", "component", "ChannelContainer", "channel", "companionTo", "space", "getSpace", "thread", "defaultThread", "target", "ChatContainer", "Thread", "isObject", "ThreadCompanion", "SettingsStore", "prefix", "ThreadSettings", "settings", "value", "CallSidebar", "call", "useCapability", "ThreadCapabilities", "CallManager", "CallDebugPanel", "state"]
|
|
7
|
+
}
|
|
@@ -1,22 +1,23 @@
|
|
|
1
1
|
import {
|
|
2
2
|
ThreadSettingsSchema
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-R5UOPOO7.mjs";
|
|
4
4
|
import {
|
|
5
5
|
meta
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-QM34EZQK.mjs";
|
|
7
|
+
import "./chunk-J5LGTIGS.mjs";
|
|
7
8
|
|
|
8
9
|
// src/capabilities/settings.ts
|
|
9
10
|
import { Capabilities, contributes } from "@dxos/app-framework";
|
|
10
11
|
import { live } from "@dxos/live-object";
|
|
11
|
-
var settings_default = () => {
|
|
12
|
+
var settings_default = (() => {
|
|
12
13
|
const settings = live({});
|
|
13
14
|
return contributes(Capabilities.Settings, {
|
|
14
15
|
prefix: meta.id,
|
|
15
16
|
schema: ThreadSettingsSchema,
|
|
16
17
|
value: settings
|
|
17
18
|
});
|
|
18
|
-
};
|
|
19
|
+
});
|
|
19
20
|
export {
|
|
20
21
|
settings_default as default
|
|
21
22
|
};
|
|
22
|
-
//# sourceMappingURL=settings-
|
|
23
|
+
//# sourceMappingURL=settings-JN2HHORY.mjs.map
|
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/capabilities/settings.ts"],
|
|
4
4
|
"sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { Capabilities, contributes } from '@dxos/app-framework';\nimport { live } from '@dxos/live-object';\n\nimport { meta } from '../meta';\nimport { type ThreadSettingsProps, ThreadSettingsSchema } from '../types';\n\nexport default () => {\n const settings = live<ThreadSettingsProps>({});\n\n return contributes(Capabilities.Settings, {\n prefix: meta.id,\n schema: ThreadSettingsSchema,\n value: settings,\n });\n};\n"],
|
|
5
|
-
"mappings": ";;;;;;;;;AAIA,SAASA,cAAcC,mBAAmB;AAC1C,SAASC,YAAY;AAKrB,IAAA,
|
|
5
|
+
"mappings": ";;;;;;;;;AAIA,SAASA,cAAcC,mBAAmB;AAC1C,SAASC,YAAY;AAKrB,IAAA,oBAAe,MAAA;AACb,QAAMC,WAAWC,KAA0B,CAAC,CAAA;AAE5C,SAAOC,YAAYC,aAAaC,UAAU;IACxCC,QAAQC,KAAKC;IACbC,QAAQC;IACRC,OAAOV;EACT,CAAA;AACF;",
|
|
6
6
|
"names": ["Capabilities", "contributes", "live", "settings", "live", "contributes", "Capabilities", "Settings", "prefix", "meta", "id", "schema", "ThreadSettingsSchema", "value"]
|
|
7
7
|
}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import {
|
|
2
2
|
ThreadCapabilities
|
|
3
|
-
} from "./chunk-
|
|
4
|
-
import "./chunk-
|
|
3
|
+
} from "./chunk-CFC7LEPD.mjs";
|
|
4
|
+
import "./chunk-QM34EZQK.mjs";
|
|
5
|
+
import "./chunk-J5LGTIGS.mjs";
|
|
5
6
|
|
|
6
7
|
// src/capabilities/state.ts
|
|
7
8
|
import { contributes } from "@dxos/app-framework";
|
|
@@ -9,7 +10,7 @@ import { live } from "@dxos/live-object";
|
|
|
9
10
|
var initialViewState = {
|
|
10
11
|
showResolvedThreads: false
|
|
11
12
|
};
|
|
12
|
-
var state_default = () => {
|
|
13
|
+
var state_default = (() => {
|
|
13
14
|
const state = live({
|
|
14
15
|
toolbar: {},
|
|
15
16
|
drafts: {}
|
|
@@ -27,8 +28,8 @@ var state_default = () => {
|
|
|
27
28
|
state,
|
|
28
29
|
getViewState
|
|
29
30
|
});
|
|
30
|
-
};
|
|
31
|
+
});
|
|
31
32
|
export {
|
|
32
33
|
state_default as default
|
|
33
34
|
};
|
|
34
|
-
//# sourceMappingURL=state-
|
|
35
|
+
//# sourceMappingURL=state-UYPLBGZJ.mjs.map
|
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/capabilities/state.ts"],
|
|
4
4
|
"sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { contributes } from '@dxos/app-framework';\nimport { live } from '@dxos/live-object';\n\nimport { type ThreadState, type ViewStore } from '../types';\n\nimport { ThreadCapabilities } from './capabilities';\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;AAMrB,IAAMC,mBAAmB;EAAEC,qBAAqB;AAAM;AAEtD,IAAA,
|
|
5
|
+
"mappings": ";;;;;;;AAIA,SAASA,mBAAmB;AAC5B,SAASC,YAAY;AAMrB,IAAMC,mBAAmB;EAAEC,qBAAqB;AAAM;AAEtD,IAAA,iBAAe,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
6
|
"names": ["contributes", "live", "initialViewState", "showResolvedThreads", "state", "live", "toolbar", "drafts", "viewStore", "getViewState", "subjectId", "contributes", "ThreadCapabilities", "State"]
|
|
7
7
|
}
|
|
@@ -1,16 +1,13 @@
|
|
|
1
1
|
import {
|
|
2
|
-
|
|
2
|
+
Channel_exports,
|
|
3
3
|
ThreadAction,
|
|
4
|
-
ThreadSettingsSchema
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
import "../chunk-EV4JWI7L.mjs";
|
|
4
|
+
ThreadSettingsSchema
|
|
5
|
+
} from "../chunk-R5UOPOO7.mjs";
|
|
6
|
+
import "../chunk-QM34EZQK.mjs";
|
|
7
|
+
import "../chunk-J5LGTIGS.mjs";
|
|
9
8
|
export {
|
|
10
|
-
|
|
9
|
+
Channel_exports as Channel,
|
|
11
10
|
ThreadAction,
|
|
12
|
-
ThreadSettingsSchema
|
|
13
|
-
ThreadStatus,
|
|
14
|
-
ThreadType
|
|
11
|
+
ThreadSettingsSchema
|
|
15
12
|
};
|
|
16
13
|
//# sourceMappingURL=index.mjs.map
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { createRequire } from 'node:module';const require = createRequire(import.meta.url);
|
|
2
|
+
import {
|
|
3
|
+
ChannelContainer,
|
|
4
|
+
ChannelContainer_default
|
|
5
|
+
} from "./chunk-Y3F2SGNH.mjs";
|
|
6
|
+
import "./chunk-3VRYXHKX.mjs";
|
|
7
|
+
import "./chunk-RT6NRL2I.mjs";
|
|
8
|
+
import "./chunk-Z4GUSLWL.mjs";
|
|
9
|
+
import "./chunk-PZH2EDU5.mjs";
|
|
10
|
+
import "./chunk-ABUFOZVX.mjs";
|
|
11
|
+
import "./chunk-VBI32FGI.mjs";
|
|
12
|
+
import "./chunk-2AEIN5MI.mjs";
|
|
13
|
+
import "./chunk-HSLMI22Q.mjs";
|
|
14
|
+
export {
|
|
15
|
+
ChannelContainer,
|
|
16
|
+
ChannelContainer_default as default
|
|
17
|
+
};
|
|
18
|
+
//# sourceMappingURL=ChannelContainer-NGSDMNEE.mjs.map
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { createRequire } from 'node:module';const require = createRequire(import.meta.url);
|
|
2
|
+
import {
|
|
3
|
+
ChatContainer,
|
|
4
|
+
ChatContainer_default,
|
|
5
|
+
ChatHeading
|
|
6
|
+
} from "./chunk-Z4GUSLWL.mjs";
|
|
7
|
+
import "./chunk-PZH2EDU5.mjs";
|
|
8
|
+
import "./chunk-ABUFOZVX.mjs";
|
|
9
|
+
import "./chunk-VBI32FGI.mjs";
|
|
10
|
+
import "./chunk-2AEIN5MI.mjs";
|
|
11
|
+
import "./chunk-HSLMI22Q.mjs";
|
|
12
|
+
export {
|
|
13
|
+
ChatContainer,
|
|
14
|
+
ChatHeading,
|
|
15
|
+
ChatContainer_default as default
|
|
16
|
+
};
|
|
17
|
+
//# sourceMappingURL=ChatContainer-KWNON7EN.mjs.map
|
|
@@ -1,36 +1,36 @@
|
|
|
1
1
|
import { createRequire } from 'node:module';const require = createRequire(import.meta.url);
|
|
2
2
|
import {
|
|
3
|
-
|
|
3
|
+
Channel_exports,
|
|
4
4
|
ThreadAction
|
|
5
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-MEIWWPR2.mjs";
|
|
6
6
|
import {
|
|
7
7
|
ThreadCapabilities
|
|
8
|
-
} from "./chunk-
|
|
8
|
+
} from "./chunk-RT6NRL2I.mjs";
|
|
9
9
|
import {
|
|
10
10
|
getAnchor
|
|
11
|
-
} from "./chunk-
|
|
11
|
+
} from "./chunk-ABUFOZVX.mjs";
|
|
12
12
|
import {
|
|
13
|
-
THREAD_PLUGIN,
|
|
14
13
|
meta
|
|
15
|
-
} from "./chunk-
|
|
14
|
+
} from "./chunk-2AEIN5MI.mjs";
|
|
15
|
+
import "./chunk-HSLMI22Q.mjs";
|
|
16
16
|
|
|
17
17
|
// src/capabilities/app-graph-builder.ts
|
|
18
|
-
import {
|
|
19
|
-
import
|
|
18
|
+
import { Atom } from "@effect-atom/atom-react";
|
|
19
|
+
import * as Function from "effect/Function";
|
|
20
|
+
import * as Option from "effect/Option";
|
|
20
21
|
import { Capabilities, contributes, createIntent } from "@dxos/app-framework";
|
|
21
22
|
import { Obj } from "@dxos/echo";
|
|
22
23
|
import { AttentionCapabilities } from "@dxos/plugin-attention";
|
|
23
24
|
import { ATTENDABLE_PATH_SEPARATOR, DECK_COMPANION_TYPE, PLANK_COMPANION_TYPE } from "@dxos/plugin-deck/types";
|
|
24
|
-
import { ROOT_ID,
|
|
25
|
-
|
|
26
|
-
var app_graph_builder_default = (context) => {
|
|
25
|
+
import { ROOT_ID, atomFromSignal, createExtension } from "@dxos/plugin-graph";
|
|
26
|
+
var app_graph_builder_default = ((context) => {
|
|
27
27
|
const resolve = (typename) => context.getCapabilities(Capabilities.Metadata).find(({ id }) => id === typename)?.metadata ?? {};
|
|
28
28
|
return contributes(Capabilities.AppGraphBuilder, [
|
|
29
29
|
createExtension({
|
|
30
|
-
id: `${
|
|
31
|
-
connector: (node) =>
|
|
30
|
+
id: `${meta.id}/active-call`,
|
|
31
|
+
connector: (node) => Atom.make((get) => Function.pipe(get(node), Option.flatMap((node2) => node2.id === ROOT_ID ? Option.some(node2) : Option.none()), Option.map((node2) => {
|
|
32
32
|
const [call] = get(context.capabilities(ThreadCapabilities.CallManager));
|
|
33
|
-
return get(
|
|
33
|
+
return get(atomFromSignal(() => call?.joined ? [
|
|
34
34
|
{
|
|
35
35
|
id: `${node2.id}${ATTENDABLE_PATH_SEPARATOR}active-call`,
|
|
36
36
|
type: DECK_COMPANION_TYPE,
|
|
@@ -39,7 +39,7 @@ var app_graph_builder_default = (context) => {
|
|
|
39
39
|
label: [
|
|
40
40
|
"call panel label",
|
|
41
41
|
{
|
|
42
|
-
ns:
|
|
42
|
+
ns: meta.id
|
|
43
43
|
}
|
|
44
44
|
],
|
|
45
45
|
icon: "ph--video-conference--regular",
|
|
@@ -53,25 +53,25 @@ var app_graph_builder_default = (context) => {
|
|
|
53
53
|
// TODO(wittjosiah): The channel shouldn't become the companion during a call.
|
|
54
54
|
// Alternative: the call/meeting/thread should be a child node of the channel and that should be opened.
|
|
55
55
|
createExtension({
|
|
56
|
-
id: `${
|
|
56
|
+
id: `${meta.id}/channel-chat-companion`,
|
|
57
57
|
connector: (node) => {
|
|
58
|
-
return
|
|
59
|
-
return pipe(get(node), Option.flatMap((node2) => Obj.instanceOf(
|
|
58
|
+
return Atom.make((get) => {
|
|
59
|
+
return Function.pipe(get(node), Option.flatMap((node2) => Obj.instanceOf(Channel_exports.Channel, node2.data) ? Option.some(node2.data) : Option.none()), Option.map((channel) => {
|
|
60
60
|
const callManager = context.getCapability(ThreadCapabilities.CallManager);
|
|
61
|
-
const joined = get(
|
|
61
|
+
const joined = get(atomFromSignal(() => callManager.joined && callManager.roomId === Obj.getDXN(channel).toString()));
|
|
62
62
|
if (!joined) {
|
|
63
63
|
return [];
|
|
64
64
|
}
|
|
65
65
|
return [
|
|
66
66
|
{
|
|
67
|
-
id: `${
|
|
67
|
+
id: `${Obj.getDXN(channel).toString()}${ATTENDABLE_PATH_SEPARATOR}chat`,
|
|
68
68
|
type: PLANK_COMPANION_TYPE,
|
|
69
69
|
data: "chat",
|
|
70
70
|
properties: {
|
|
71
71
|
label: [
|
|
72
72
|
"channel companion label",
|
|
73
73
|
{
|
|
74
|
-
ns:
|
|
74
|
+
ns: meta.id
|
|
75
75
|
}
|
|
76
76
|
],
|
|
77
77
|
icon: "ph--hash--regular",
|
|
@@ -86,8 +86,8 @@ var app_graph_builder_default = (context) => {
|
|
|
86
86
|
}),
|
|
87
87
|
createExtension({
|
|
88
88
|
id: `${meta.id}/comments-companion`,
|
|
89
|
-
connector: (node) =>
|
|
90
|
-
if (!Obj.isObject(node2.data) || Obj.instanceOf(
|
|
89
|
+
connector: (node) => Atom.make((get) => Function.pipe(get(node), Option.flatMap((node2) => {
|
|
90
|
+
if (!Obj.isObject(node2.data) || Obj.instanceOf(Channel_exports.Channel, node2.data)) {
|
|
91
91
|
return Option.none();
|
|
92
92
|
}
|
|
93
93
|
const metadata = resolve(Obj.getTypename(node2.data));
|
|
@@ -116,8 +116,8 @@ var app_graph_builder_default = (context) => {
|
|
|
116
116
|
}),
|
|
117
117
|
createExtension({
|
|
118
118
|
id: `${meta.id}/comment-toolbar`,
|
|
119
|
-
actions: (node) =>
|
|
120
|
-
if (!Obj.isObject(node2.data) || Obj.instanceOf(
|
|
119
|
+
actions: (node) => Atom.make((get) => Function.pipe(get(node), Option.flatMap((node2) => {
|
|
120
|
+
if (!Obj.isObject(node2.data) || Obj.instanceOf(Channel_exports.Channel, node2.data)) {
|
|
121
121
|
return Option.none();
|
|
122
122
|
}
|
|
123
123
|
const metadata = resolve(Obj.getTypename(node2.data));
|
|
@@ -125,21 +125,21 @@ var app_graph_builder_default = (context) => {
|
|
|
125
125
|
}), Option.map((object) => {
|
|
126
126
|
const selectionManager = context.getCapability(AttentionCapabilities.Selection);
|
|
127
127
|
const toolbar = get(context.capabilities(ThreadCapabilities.State))[0]?.state.toolbar ?? {};
|
|
128
|
-
const disabled = get(
|
|
128
|
+
const disabled = get(atomFromSignal(() => {
|
|
129
129
|
const metadata = resolve(Obj.getTypename(object));
|
|
130
|
-
const selection = selectionManager.getSelection(
|
|
130
|
+
const selection = selectionManager.getSelection(Obj.getDXN(object).toString(), metadata.selectionMode);
|
|
131
131
|
const anchor = getAnchor(selection);
|
|
132
132
|
const invalidSelection = !anchor;
|
|
133
|
-
const overlappingComment = toolbar[
|
|
133
|
+
const overlappingComment = toolbar[Obj.getDXN(object).toString()];
|
|
134
134
|
return metadata.comments === "anchored" && invalidSelection || overlappingComment;
|
|
135
135
|
}));
|
|
136
136
|
return [
|
|
137
137
|
{
|
|
138
|
-
id: `${
|
|
138
|
+
id: `${Obj.getDXN(object).toString()}/comment`,
|
|
139
139
|
data: () => {
|
|
140
140
|
const { dispatchPromise: dispatch } = context.getCapability(Capabilities.IntentDispatcher);
|
|
141
141
|
const metadata = resolve(Obj.getTypename(object));
|
|
142
|
-
const selection = selectionManager.getSelection(
|
|
142
|
+
const selection = selectionManager.getSelection(Obj.getDXN(object).toString());
|
|
143
143
|
const anchor = metadata.comments === "anchored" ? getAnchor(selection) : Date.now().toString();
|
|
144
144
|
const name = metadata.getAnchorLabel?.(object, anchor);
|
|
145
145
|
void dispatch(createIntent(ThreadAction.Create, {
|
|
@@ -165,8 +165,8 @@ var app_graph_builder_default = (context) => {
|
|
|
165
165
|
}), Option.getOrElse(() => [])))
|
|
166
166
|
})
|
|
167
167
|
]);
|
|
168
|
-
};
|
|
168
|
+
});
|
|
169
169
|
export {
|
|
170
170
|
app_graph_builder_default as default
|
|
171
171
|
};
|
|
172
|
-
//# sourceMappingURL=app-graph-builder-
|
|
172
|
+
//# sourceMappingURL=app-graph-builder-2IH5RPR7.mjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/capabilities/app-graph-builder.ts"],
|
|
4
|
+
"sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { Atom } from '@effect-atom/atom-react';\nimport * as Function from 'effect/Function';\nimport * as Option from 'effect/Option';\n\nimport { Capabilities, type PluginContext, contributes, createIntent } from '@dxos/app-framework';\nimport { Obj } from '@dxos/echo';\nimport { AttentionCapabilities } from '@dxos/plugin-attention';\nimport { ATTENDABLE_PATH_SEPARATOR, DECK_COMPANION_TYPE, PLANK_COMPANION_TYPE } from '@dxos/plugin-deck/types';\nimport { ROOT_ID, atomFromSignal, createExtension } from '@dxos/plugin-graph';\n\nimport { meta } from '../meta';\nimport { Channel, ThreadAction } from '../types';\nimport { getAnchor } from '../util';\n\nimport { ThreadCapabilities } from './capabilities';\n\n// TODO(wittjosiah): Highlight active calls in L1.\n// Track active meetings by subscribing to meetings query and polling the swarms of recent meetings in the space.\nexport default (context: PluginContext) => {\n const resolve = (typename: string) =>\n context.getCapabilities(Capabilities.Metadata).find(({ id }) => id === typename)?.metadata ?? {};\n\n return contributes(Capabilities.AppGraphBuilder, [\n createExtension({\n id: `${meta.id}/active-call`,\n connector: (node) =>\n Atom.make((get) =>\n Function.pipe(\n get(node),\n Option.flatMap((node) => (node.id === ROOT_ID ? Option.some(node) : Option.none())),\n Option.map((node) => {\n const [call] = get(context.capabilities(ThreadCapabilities.CallManager));\n return get(\n atomFromSignal(() =>\n call?.joined\n ? [\n {\n id: `${node.id}${ATTENDABLE_PATH_SEPARATOR}active-call`,\n type: DECK_COMPANION_TYPE,\n data: null,\n properties: {\n label: ['call panel label', { ns: meta.id }],\n icon: 'ph--video-conference--regular',\n position: 'hoist',\n disposition: 'hidden',\n },\n },\n ]\n : [],\n ),\n );\n }),\n Option.getOrElse(() => []),\n ),\n ),\n }),\n // TODO(wittjosiah): The channel shouldn't become the companion during a call.\n // Alternative: the call/meeting/thread should be a child node of the channel and that should be opened.\n createExtension({\n id: `${meta.id}/channel-chat-companion`,\n connector: (node) => {\n return Atom.make((get) => {\n return Function.pipe(\n get(node),\n Option.flatMap((node) =>\n Obj.instanceOf(Channel.Channel, node.data) ? Option.some(node.data) : Option.none(),\n ),\n Option.map((channel) => {\n const callManager = context.getCapability(ThreadCapabilities.CallManager);\n const joined = get(\n atomFromSignal(() => callManager.joined && callManager.roomId === Obj.getDXN(channel).toString()),\n );\n if (!joined) {\n return [];\n }\n\n return [\n {\n id: `${Obj.getDXN(channel).toString()}${ATTENDABLE_PATH_SEPARATOR}chat`,\n type: PLANK_COMPANION_TYPE,\n data: 'chat',\n properties: {\n label: ['channel companion label', { ns: meta.id }],\n icon: 'ph--hash--regular',\n position: 'hoist',\n disposition: 'hidden',\n },\n },\n ];\n }),\n Option.getOrElse(() => []),\n );\n });\n },\n }),\n createExtension({\n id: `${meta.id}/comments-companion`,\n connector: (node) =>\n Atom.make((get) =>\n Function.pipe(\n get(node),\n Option.flatMap((node) => {\n if (!Obj.isObject(node.data) || Obj.instanceOf(Channel.Channel, node.data)) {\n return Option.none();\n }\n const metadata = resolve(Obj.getTypename(node.data)!);\n return typeof metadata.comments === 'string' ? Option.some(node) : Option.none();\n }),\n Option.map((node) => [\n {\n id: [node.id, 'comments'].join(ATTENDABLE_PATH_SEPARATOR),\n type: PLANK_COMPANION_TYPE,\n data: 'comments',\n properties: {\n label: ['comments label', { ns: meta.id }],\n icon: 'ph--chat-text--regular',\n disposition: 'hidden',\n position: 'hoist',\n },\n },\n ]),\n Option.getOrElse(() => []),\n ),\n ),\n }),\n createExtension({\n id: `${meta.id}/comment-toolbar`,\n actions: (node) =>\n Atom.make((get) =>\n Function.pipe(\n get(node),\n Option.flatMap((node) => {\n if (!Obj.isObject(node.data) || Obj.instanceOf(Channel.Channel, node.data)) {\n return Option.none();\n }\n const metadata = resolve(Obj.getTypename(node.data)!);\n return typeof metadata.comments === 'string' ? Option.some(node.data) : Option.none();\n }),\n Option.map((object) => {\n const selectionManager = context.getCapability(AttentionCapabilities.Selection);\n const toolbar = get(context.capabilities(ThreadCapabilities.State))[0]?.state.toolbar ?? {};\n const disabled = get(\n atomFromSignal(() => {\n const metadata = resolve(Obj.getTypename(object)!);\n const selection = selectionManager.getSelection(\n Obj.getDXN(object).toString(),\n metadata.selectionMode,\n );\n const anchor = getAnchor(selection);\n const invalidSelection = !anchor;\n const overlappingComment = toolbar[Obj.getDXN(object).toString()];\n return (metadata.comments === 'anchored' && invalidSelection) || overlappingComment;\n }),\n );\n\n return [\n {\n id: `${Obj.getDXN(object).toString()}/comment`,\n data: () => {\n const { dispatchPromise: dispatch } = context.getCapability(Capabilities.IntentDispatcher);\n const metadata = resolve(Obj.getTypename(object)!);\n const selection = selectionManager.getSelection(Obj.getDXN(object).toString());\n // TODO(wittjosiah): Use presence of selection to determine if the comment should be anchored.\n // Requires all components which support selection (e.g. table/kanban) to support anchored comments.\n const anchor = metadata.comments === 'anchored' ? getAnchor(selection) : Date.now().toString();\n const name = metadata.getAnchorLabel?.(object, anchor);\n void dispatch(\n createIntent(ThreadAction.Create, {\n anchor,\n name,\n subject: object,\n }),\n );\n },\n properties: {\n label: ['add comment label', { ns: meta.id }],\n icon: 'ph--chat-text--regular',\n disposition: 'toolbar',\n disabled,\n testId: 'thread.comment.add',\n },\n },\n ];\n }),\n Option.getOrElse(() => []),\n ),\n ),\n }),\n ]);\n};\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;AAIA,SAASA,YAAY;AACrB,YAAYC,cAAc;AAC1B,YAAYC,YAAY;AAExB,SAASC,cAAkCC,aAAaC,oBAAoB;AAC5E,SAASC,WAAW;AACpB,SAASC,6BAA6B;AACtC,SAASC,2BAA2BC,qBAAqBC,4BAA4B;AACrF,SAASC,SAASC,gBAAgBC,uBAAuB;AAUzD,IAAA,6BAAe,CAACC,YAAAA;AACd,QAAMC,UAAU,CAACC,aACfF,QAAQG,gBAAgBC,aAAaC,QAAQ,EAAEC,KAAK,CAAC,EAAEC,GAAE,MAAOA,OAAOL,QAAAA,GAAWM,YAAY,CAAC;AAEjG,SAAOC,YAAYL,aAAaM,iBAAiB;IAC/CC,gBAAgB;MACdJ,IAAI,GAAGK,KAAKL,EAAE;MACdM,WAAW,CAACC,SACVC,KAAKC,KAAK,CAACC,QACAC,cACPD,IAAIH,IAAAA,GACGK,eAAQ,CAACL,UAAUA,MAAKP,OAAOa,UAAiBC,YAAKP,KAAAA,IAAeQ,YAAI,CAAA,GACxEC,WAAI,CAACT,UAAAA;AACV,cAAM,CAACU,IAAAA,IAAQP,IAAIjB,QAAQyB,aAAaC,mBAAmBC,WAAW,CAAA;AACtE,eAAOV,IACLW,eAAe,MACbJ,MAAMK,SACF;UACE;YACEtB,IAAI,GAAGO,MAAKP,EAAE,GAAGuB,yBAAAA;YACjBC,MAAMC;YACNC,MAAM;YACNC,YAAY;cACVC,OAAO;gBAAC;gBAAoB;kBAAEC,IAAIxB,KAAKL;gBAAG;;cAC1C8B,MAAM;cACNC,UAAU;cACVC,aAAa;YACf;UACF;YAEF,CAAA,CAAE,CAAA;MAGZ,CAAA,GACOC,iBAAU,MAAM,CAAA,CAAE,CAAA,CAAA;IAGjC,CAAA;;;IAGA7B,gBAAgB;MACdJ,IAAI,GAAGK,KAAKL,EAAE;MACdM,WAAW,CAACC,SAAAA;AACV,eAAOC,KAAKC,KAAK,CAACC,QAAAA;AAChB,iBAAgBC,cACdD,IAAIH,IAAAA,GACGK,eAAQ,CAACL,UACd2B,IAAIC,WAAWC,gBAAQA,SAAS7B,MAAKmB,IAAI,IAAWZ,YAAKP,MAAKmB,IAAI,IAAWX,YAAI,CAAA,GAE5EC,WAAI,CAACqB,YAAAA;AACV,kBAAMC,cAAc7C,QAAQ8C,cAAcpB,mBAAmBC,WAAW;AACxE,kBAAME,SAASZ,IACbW,eAAe,MAAMiB,YAAYhB,UAAUgB,YAAYE,WAAWN,IAAIO,OAAOJ,OAAAA,EAASK,SAAQ,CAAA,CAAA;AAEhG,gBAAI,CAACpB,QAAQ;AACX,qBAAO,CAAA;YACT;AAEA,mBAAO;cACL;gBACEtB,IAAI,GAAGkC,IAAIO,OAAOJ,OAAAA,EAASK,SAAQ,CAAA,GAAKnB,yBAAAA;gBACxCC,MAAMmB;gBACNjB,MAAM;gBACNC,YAAY;kBACVC,OAAO;oBAAC;oBAA2B;sBAAEC,IAAIxB,KAAKL;oBAAG;;kBACjD8B,MAAM;kBACNC,UAAU;kBACVC,aAAa;gBACf;cACF;;UAEJ,CAAA,GACOC,iBAAU,MAAM,CAAA,CAAE,CAAA;QAE7B,CAAA;MACF;IACF,CAAA;IACA7B,gBAAgB;MACdJ,IAAI,GAAGK,KAAKL,EAAE;MACdM,WAAW,CAACC,SACVC,KAAKC,KAAK,CAACC,QACAC,cACPD,IAAIH,IAAAA,GACGK,eAAQ,CAACL,UAAAA;AACd,YAAI,CAAC2B,IAAIU,SAASrC,MAAKmB,IAAI,KAAKQ,IAAIC,WAAWC,gBAAQA,SAAS7B,MAAKmB,IAAI,GAAG;AAC1E,iBAAcX,YAAI;QACpB;AACA,cAAMd,WAAWP,QAAQwC,IAAIW,YAAYtC,MAAKmB,IAAI,CAAA;AAClD,eAAO,OAAOzB,SAAS6C,aAAa,WAAkBhC,YAAKP,KAAAA,IAAeQ,YAAI;MAChF,CAAA,GACOC,WAAI,CAACT,UAAS;QACnB;UACEP,IAAI;YAACO,MAAKP;YAAI;YAAY+C,KAAKxB,yBAAAA;UAC/BC,MAAMmB;UACNjB,MAAM;UACNC,YAAY;YACVC,OAAO;cAAC;cAAkB;gBAAEC,IAAIxB,KAAKL;cAAG;;YACxC8B,MAAM;YACNE,aAAa;YACbD,UAAU;UACZ;QACF;OACD,GACME,iBAAU,MAAM,CAAA,CAAE,CAAA,CAAA;IAGjC,CAAA;IACA7B,gBAAgB;MACdJ,IAAI,GAAGK,KAAKL,EAAE;MACdgD,SAAS,CAACzC,SACRC,KAAKC,KAAK,CAACC,QACAC,cACPD,IAAIH,IAAAA,GACGK,eAAQ,CAACL,UAAAA;AACd,YAAI,CAAC2B,IAAIU,SAASrC,MAAKmB,IAAI,KAAKQ,IAAIC,WAAWC,gBAAQA,SAAS7B,MAAKmB,IAAI,GAAG;AAC1E,iBAAcX,YAAI;QACpB;AACA,cAAMd,WAAWP,QAAQwC,IAAIW,YAAYtC,MAAKmB,IAAI,CAAA;AAClD,eAAO,OAAOzB,SAAS6C,aAAa,WAAkBhC,YAAKP,MAAKmB,IAAI,IAAWX,YAAI;MACrF,CAAA,GACOC,WAAI,CAACiC,WAAAA;AACV,cAAMC,mBAAmBzD,QAAQ8C,cAAcY,sBAAsBC,SAAS;AAC9E,cAAMC,UAAU3C,IAAIjB,QAAQyB,aAAaC,mBAAmBmC,KAAK,CAAA,EAAG,CAAA,GAAIC,MAAMF,WAAW,CAAC;AAC1F,cAAMG,WAAW9C,IACfW,eAAe,MAAA;AACb,gBAAMpB,WAAWP,QAAQwC,IAAIW,YAAYI,MAAAA,CAAAA;AACzC,gBAAMQ,YAAYP,iBAAiBQ,aACjCxB,IAAIO,OAAOQ,MAAAA,EAAQP,SAAQ,GAC3BzC,SAAS0D,aAAa;AAExB,gBAAMC,SAASC,UAAUJ,SAAAA;AACzB,gBAAMK,mBAAmB,CAACF;AAC1B,gBAAMG,qBAAqBV,QAAQnB,IAAIO,OAAOQ,MAAAA,EAAQP,SAAQ,CAAA;AAC9D,iBAAQzC,SAAS6C,aAAa,cAAcgB,oBAAqBC;QACnE,CAAA,CAAA;AAGF,eAAO;UACL;YACE/D,IAAI,GAAGkC,IAAIO,OAAOQ,MAAAA,EAAQP,SAAQ,CAAA;YAClChB,MAAM,MAAA;AACJ,oBAAM,EAAEsC,iBAAiBC,SAAQ,IAAKxE,QAAQ8C,cAAc1C,aAAaqE,gBAAgB;AACzF,oBAAMjE,WAAWP,QAAQwC,IAAIW,YAAYI,MAAAA,CAAAA;AACzC,oBAAMQ,YAAYP,iBAAiBQ,aAAaxB,IAAIO,OAAOQ,MAAAA,EAAQP,SAAQ,CAAA;AAG3E,oBAAMkB,SAAS3D,SAAS6C,aAAa,aAAae,UAAUJ,SAAAA,IAAaU,KAAKC,IAAG,EAAG1B,SAAQ;AAC5F,oBAAM2B,OAAOpE,SAASqE,iBAAiBrB,QAAQW,MAAAA;AAC/C,mBAAKK,SACHM,aAAaC,aAAaC,QAAQ;gBAChCb;gBACAS;gBACAK,SAASzB;cACX,CAAA,CAAA;YAEJ;YACAtB,YAAY;cACVC,OAAO;gBAAC;gBAAqB;kBAAEC,IAAIxB,KAAKL;gBAAG;;cAC3C8B,MAAM;cACNE,aAAa;cACbwB;cACAmB,QAAQ;YACV;UACF;;MAEJ,CAAA,GACO1C,iBAAU,MAAM,CAAA,CAAE,CAAA,CAAA;IAGjC,CAAA;GACD;AACH;",
|
|
6
|
+
"names": ["Atom", "Function", "Option", "Capabilities", "contributes", "createIntent", "Obj", "AttentionCapabilities", "ATTENDABLE_PATH_SEPARATOR", "DECK_COMPANION_TYPE", "PLANK_COMPANION_TYPE", "ROOT_ID", "atomFromSignal", "createExtension", "context", "resolve", "typename", "getCapabilities", "Capabilities", "Metadata", "find", "id", "metadata", "contributes", "AppGraphBuilder", "createExtension", "meta", "connector", "node", "Atom", "make", "get", "pipe", "flatMap", "ROOT_ID", "some", "none", "map", "call", "capabilities", "ThreadCapabilities", "CallManager", "atomFromSignal", "joined", "ATTENDABLE_PATH_SEPARATOR", "type", "DECK_COMPANION_TYPE", "data", "properties", "label", "ns", "icon", "position", "disposition", "getOrElse", "Obj", "instanceOf", "Channel", "channel", "callManager", "getCapability", "roomId", "getDXN", "toString", "PLANK_COMPANION_TYPE", "isObject", "getTypename", "comments", "join", "actions", "object", "selectionManager", "AttentionCapabilities", "Selection", "toolbar", "State", "state", "disabled", "selection", "getSelection", "selectionMode", "anchor", "getAnchor", "invalidSelection", "overlappingComment", "dispatchPromise", "dispatch", "IntentDispatcher", "Date", "now", "name", "getAnchorLabel", "createIntent", "ThreadAction", "Create", "subject", "testId"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
import { createRequire } from 'node:module';const require = createRequire(import.meta.url);
|
|
2
|
+
import "./chunk-HSLMI22Q.mjs";
|
|
3
|
+
|
|
4
|
+
// src/capabilities/blueprint-definition.ts
|
|
5
|
+
import { Capabilities, contributes } from "@dxos/app-framework";
|
|
6
|
+
import { Blueprint, Template } from "@dxos/blueprints";
|
|
7
|
+
import { trim } from "@dxos/util";
|
|
8
|
+
|
|
9
|
+
// src/functions/create-proposals.ts
|
|
10
|
+
import * as Array from "effect/Array";
|
|
11
|
+
import * as Effect from "effect/Effect";
|
|
12
|
+
import * as Function from "effect/Function";
|
|
13
|
+
import * as Schema from "effect/Schema";
|
|
14
|
+
import { ArtifactId, computeDiffsWithCursors } from "@dxos/assistant";
|
|
15
|
+
import { Obj, Ref, Relation } from "@dxos/echo";
|
|
16
|
+
import { createDocAccessor } from "@dxos/echo-db";
|
|
17
|
+
import { DatabaseService, defineFunction } from "@dxos/functions";
|
|
18
|
+
import { DXN } from "@dxos/keys";
|
|
19
|
+
import { Markdown } from "@dxos/plugin-markdown/types";
|
|
20
|
+
import { AnchoredTo, Message, Thread } from "@dxos/types";
|
|
21
|
+
var create_proposals_default = defineFunction({
|
|
22
|
+
key: "dxos.org/function/thread/create-proposals",
|
|
23
|
+
name: "Create Proposals",
|
|
24
|
+
description: "Proposes a set of changes to a document.",
|
|
25
|
+
inputSchema: Schema.Struct({
|
|
26
|
+
id: ArtifactId,
|
|
27
|
+
diffs: Schema.Array(Schema.String).annotations({
|
|
28
|
+
description: "The diffs to propose for the document."
|
|
29
|
+
})
|
|
30
|
+
}),
|
|
31
|
+
outputSchema: Schema.Void,
|
|
32
|
+
handler: Effect.fn(function* ({ data: { id, diffs: _diffs } }) {
|
|
33
|
+
const object = yield* DatabaseService.resolve(DXN.parse(id), Markdown.Document);
|
|
34
|
+
const content = yield* Effect.promise(() => object.content.load());
|
|
35
|
+
const accessor = createDocAccessor(content, [
|
|
36
|
+
"content"
|
|
37
|
+
]);
|
|
38
|
+
yield* Function.pipe(computeDiffsWithCursors(accessor, _diffs), Array.map(Effect.fnUntraced(function* ({ cursor, text }) {
|
|
39
|
+
const proposal = Obj.make(Message.Message, {
|
|
40
|
+
created: (/* @__PURE__ */ new Date()).toISOString(),
|
|
41
|
+
sender: {
|
|
42
|
+
role: "assistant"
|
|
43
|
+
},
|
|
44
|
+
blocks: [
|
|
45
|
+
{
|
|
46
|
+
_tag: "proposal",
|
|
47
|
+
text
|
|
48
|
+
}
|
|
49
|
+
]
|
|
50
|
+
});
|
|
51
|
+
const thread = Thread.make({
|
|
52
|
+
name: "Proposal",
|
|
53
|
+
messages: [
|
|
54
|
+
Ref.make(proposal)
|
|
55
|
+
],
|
|
56
|
+
status: "active"
|
|
57
|
+
});
|
|
58
|
+
const relation = Relation.make(AnchoredTo.AnchoredTo, {
|
|
59
|
+
[Relation.Source]: thread,
|
|
60
|
+
[Relation.Target]: object,
|
|
61
|
+
anchor: cursor
|
|
62
|
+
});
|
|
63
|
+
yield* DatabaseService.add(thread);
|
|
64
|
+
yield* DatabaseService.add(relation);
|
|
65
|
+
})), Effect.allWith({
|
|
66
|
+
concurrency: "unbounded"
|
|
67
|
+
}));
|
|
68
|
+
})
|
|
69
|
+
});
|
|
70
|
+
|
|
71
|
+
// src/capabilities/blueprint-definition.ts
|
|
72
|
+
var functions = [
|
|
73
|
+
create_proposals_default
|
|
74
|
+
];
|
|
75
|
+
var ASSISTANT_BLUEPRINT_KEY = "dxos.org/blueprint/thread";
|
|
76
|
+
var blueprint_definition_default = (() => [
|
|
77
|
+
contributes(Capabilities.Functions, functions),
|
|
78
|
+
contributes(Capabilities.BlueprintDefinition, Blueprint.make({
|
|
79
|
+
key: ASSISTANT_BLUEPRINT_KEY,
|
|
80
|
+
name: "Thread",
|
|
81
|
+
tools: Blueprint.toolDefinitions({
|
|
82
|
+
functions
|
|
83
|
+
}),
|
|
84
|
+
instructions: Template.make({
|
|
85
|
+
// TODO(wittjosiah): Move example to function input schema annotation.
|
|
86
|
+
source: trim`
|
|
87
|
+
You can update markdown documents via proposals.
|
|
88
|
+
For each diff, respond with the smallest possible matching span.
|
|
89
|
+
For example:
|
|
90
|
+
- "There is a tyop in this sentence."
|
|
91
|
+
+ "There is a typo in this sentence."
|
|
92
|
+
- "This id goof."
|
|
93
|
+
+ "This is good."
|
|
94
|
+
`
|
|
95
|
+
})
|
|
96
|
+
}))
|
|
97
|
+
]);
|
|
98
|
+
export {
|
|
99
|
+
ASSISTANT_BLUEPRINT_KEY,
|
|
100
|
+
blueprint_definition_default as default
|
|
101
|
+
};
|
|
102
|
+
//# sourceMappingURL=blueprint-definition-TSX5HHW7.mjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/capabilities/blueprint-definition.ts", "../../../src/functions/create-proposals.ts"],
|
|
4
|
+
"sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { Capabilities, type Capability, contributes } from '@dxos/app-framework';\nimport { Blueprint, Template } from '@dxos/blueprints';\nimport { type FunctionDefinition } from '@dxos/functions';\nimport { trim } from '@dxos/util';\n\nimport { createProposals } from '../functions';\n\nconst functions: FunctionDefinition[] = [createProposals];\n\nexport const ASSISTANT_BLUEPRINT_KEY = 'dxos.org/blueprint/thread';\n\nexport default (): Capability<any>[] => [\n contributes(Capabilities.Functions, functions),\n contributes(\n Capabilities.BlueprintDefinition,\n Blueprint.make({\n key: ASSISTANT_BLUEPRINT_KEY,\n name: 'Thread',\n tools: Blueprint.toolDefinitions({ functions }),\n instructions: Template.make({\n // TODO(wittjosiah): Move example to function input schema annotation.\n source: trim`\n You can update markdown documents via proposals.\n For each diff, respond with the smallest possible matching span.\n For example:\n - \"There is a tyop in this sentence.\"\n + \"There is a typo in this sentence.\"\n - \"This id goof.\"\n + \"This is good.\"\n `,\n }),\n }),\n ),\n];\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport * as Array from 'effect/Array';\nimport * as Effect from 'effect/Effect';\nimport * as Function from 'effect/Function';\nimport * as Schema from 'effect/Schema';\n\nimport { ArtifactId, computeDiffsWithCursors } from '@dxos/assistant';\nimport { Obj, Ref, Relation } from '@dxos/echo';\nimport { createDocAccessor } from '@dxos/echo-db';\nimport { DatabaseService, defineFunction } from '@dxos/functions';\nimport { DXN } from '@dxos/keys';\nimport { Markdown } from '@dxos/plugin-markdown/types';\nimport { AnchoredTo, Message, Thread } from '@dxos/types';\n\nexport default defineFunction({\n key: 'dxos.org/function/thread/create-proposals',\n name: 'Create Proposals',\n description: 'Proposes a set of changes to a document.',\n inputSchema: Schema.Struct({\n id: ArtifactId,\n diffs: Schema.Array(Schema.String).annotations({\n description: 'The diffs to propose for the document.',\n }),\n }),\n outputSchema: Schema.Void,\n handler: Effect.fn(function* ({ data: { id, diffs: _diffs } }) {\n const object = yield* DatabaseService.resolve(DXN.parse(id), Markdown.Document);\n const content = yield* Effect.promise(() => object.content.load());\n const accessor = createDocAccessor(content, ['content']);\n\n yield* Function.pipe(\n computeDiffsWithCursors(accessor, _diffs),\n Array.map(\n Effect.fnUntraced(function* ({ cursor, text }) {\n const proposal = Obj.make(Message.Message, {\n created: new Date().toISOString(),\n sender: { role: 'assistant' },\n blocks: [{ _tag: 'proposal', text }],\n });\n const thread = Thread.make({ name: 'Proposal', messages: [Ref.make(proposal)], status: 'active' });\n const relation = Relation.make(AnchoredTo.AnchoredTo, {\n [Relation.Source]: thread,\n [Relation.Target]: object,\n anchor: cursor,\n });\n yield* DatabaseService.add(thread);\n yield* DatabaseService.add(relation);\n }),\n ),\n Effect.allWith({ concurrency: 'unbounded' }),\n );\n }),\n});\n"],
|
|
5
|
+
"mappings": ";;;;AAIA,SAASA,cAA+BC,mBAAmB;AAC3D,SAASC,WAAWC,gBAAgB;AAEpC,SAASC,YAAY;;;ACHrB,YAAYC,WAAW;AACvB,YAAYC,YAAY;AACxB,YAAYC,cAAc;AAC1B,YAAYC,YAAY;AAExB,SAASC,YAAYC,+BAA+B;AACpD,SAASC,KAAKC,KAAKC,gBAAgB;AACnC,SAASC,yBAAyB;AAClC,SAASC,iBAAiBC,sBAAsB;AAChD,SAASC,WAAW;AACpB,SAASC,gBAAgB;AACzB,SAASC,YAAYC,SAASC,cAAc;AAE5C,IAAA,2BAAeC,eAAe;EAC5BC,KAAK;EACLC,MAAM;EACNC,aAAa;EACbC,aAAoBC,cAAO;IACzBC,IAAIC;IACJC,OAAcC,aAAaC,aAAM,EAAEC,YAAY;MAC7CR,aAAa;IACf,CAAA;EACF,CAAA;EACAS,cAAqBC;EACrBC,SAAgBC,UAAG,WAAW,EAAEC,MAAM,EAAEV,IAAIE,OAAOS,OAAM,EAAE,GAAE;AAC3D,UAAMC,SAAS,OAAOC,gBAAgBC,QAAQC,IAAIC,MAAMhB,EAAAA,GAAKiB,SAASC,QAAQ;AAC9E,UAAMC,UAAU,OAAcC,eAAQ,MAAMR,OAAOO,QAAQE,KAAI,CAAA;AAC/D,UAAMC,WAAWC,kBAAkBJ,SAAS;MAAC;KAAU;AAEvD,WAAgBK,cACdC,wBAAwBH,UAAUX,MAAAA,GAC5Be,UACGC,kBAAW,WAAW,EAAEC,QAAQC,KAAI,GAAE;AAC3C,YAAMC,WAAWC,IAAIC,KAAKC,QAAQA,SAAS;QACzCC,UAAS,oBAAIC,KAAAA,GAAOC,YAAW;QAC/BC,QAAQ;UAAEC,MAAM;QAAY;QAC5BC,QAAQ;UAAC;YAAEC,MAAM;YAAYX;UAAK;;MACpC,CAAA;AACA,YAAMY,SAASC,OAAOV,KAAK;QAAEpC,MAAM;QAAY+C,UAAU;UAACC,IAAIZ,KAAKF,QAAAA;;QAAYe,QAAQ;MAAS,CAAA;AAChG,YAAMC,WAAWC,SAASf,KAAKgB,WAAWA,YAAY;QACpD,CAACD,SAASE,MAAM,GAAGR;QACnB,CAACM,SAASG,MAAM,GAAGtC;QACnBuC,QAAQvB;MACV,CAAA;AACA,aAAOf,gBAAgBuC,IAAIX,MAAAA;AAC3B,aAAO5B,gBAAgBuC,IAAIN,QAAAA;IAC7B,CAAA,CAAA,GAEKO,eAAQ;MAAEC,aAAa;IAAY,CAAA,CAAA;EAE9C,CAAA;AACF,CAAA;;;AD5CA,IAAMC,YAAkC;EAACC;;AAElC,IAAMC,0BAA0B;AAEvC,IAAA,gCAAe,MAAyB;EACtCC,YAAYC,aAAaC,WAAWL,SAAAA;EACpCG,YACEC,aAAaE,qBACbC,UAAUC,KAAK;IACbC,KAAKP;IACLQ,MAAM;IACNC,OAAOJ,UAAUK,gBAAgB;MAAEZ;IAAU,CAAA;IAC7Ca,cAAcC,SAASN,KAAK;;MAE1BO,QAAQC;;;;;;;;;IASV,CAAA;EACF,CAAA,CAAA;;",
|
|
6
|
+
"names": ["Capabilities", "contributes", "Blueprint", "Template", "trim", "Array", "Effect", "Function", "Schema", "ArtifactId", "computeDiffsWithCursors", "Obj", "Ref", "Relation", "createDocAccessor", "DatabaseService", "defineFunction", "DXN", "Markdown", "AnchoredTo", "Message", "Thread", "defineFunction", "key", "name", "description", "inputSchema", "Struct", "id", "ArtifactId", "diffs", "Array", "String", "annotations", "outputSchema", "Void", "handler", "fn", "data", "_diffs", "object", "DatabaseService", "resolve", "DXN", "parse", "Markdown", "Document", "content", "promise", "load", "accessor", "createDocAccessor", "pipe", "computeDiffsWithCursors", "map", "fnUntraced", "cursor", "text", "proposal", "Obj", "make", "Message", "created", "Date", "toISOString", "sender", "role", "blocks", "_tag", "thread", "Thread", "messages", "Ref", "status", "relation", "Relation", "AnchoredTo", "Source", "Target", "anchor", "add", "allWith", "concurrency", "functions", "createProposals", "ASSISTANT_BLUEPRINT_KEY", "contributes", "Capabilities", "Functions", "BlueprintDefinition", "Blueprint", "make", "key", "name", "tools", "toolDefinitions", "instructions", "Template", "source", "trim"]
|
|
7
|
+
}
|