@dxos/plugin-thread 0.8.4-main.bc674ce → 0.8.4-main.c351d160a8
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/CallDebugPanel-BO3SLD4E.mjs +182 -0
- package/dist/lib/browser/CallDebugPanel-BO3SLD4E.mjs.map +7 -0
- package/dist/lib/browser/CallSidebar-KSOBZJGD.mjs +36 -0
- package/dist/lib/browser/CallSidebar-KSOBZJGD.mjs.map +7 -0
- package/dist/lib/browser/ChannelContainer-EQZXMQMV.mjs +17 -0
- package/dist/lib/browser/ChannelContainer-EQZXMQMV.mjs.map +7 -0
- package/dist/lib/browser/ChatContainer-VPCJ2AMF.mjs +18 -0
- package/dist/lib/browser/ChatContainer-VPCJ2AMF.mjs.map +7 -0
- package/dist/lib/browser/ThreadCompanion-7GTSEJQT.mjs +209 -0
- package/dist/lib/browser/ThreadCompanion-7GTSEJQT.mjs.map +7 -0
- package/dist/lib/browser/ThreadSettings-VL3HBE62.mjs +20 -0
- package/dist/lib/browser/ThreadSettings-VL3HBE62.mjs.map +7 -0
- package/dist/lib/browser/{app-graph-builder-7C2QW32W.mjs → app-graph-builder-ECTCB36F.mjs} +25 -24
- package/dist/lib/browser/app-graph-builder-ECTCB36F.mjs.map +7 -0
- package/dist/lib/browser/blueprint-definition-UJ4QH3LV.mjs +17 -0
- package/dist/lib/browser/blueprint-definition-UJ4QH3LV.mjs.map +7 -0
- package/dist/lib/browser/blueprints/index.mjs +3 -3
- package/dist/lib/browser/{call-manager-4P536YNX.mjs → call-manager-3P6D7IH7.mjs} +5 -4
- package/dist/lib/browser/call-manager-3P6D7IH7.mjs.map +7 -0
- package/dist/lib/browser/chunk-2M2HV5K4.mjs +35 -0
- package/dist/lib/browser/chunk-2M2HV5K4.mjs.map +7 -0
- package/dist/lib/browser/chunk-7GONB2BI.mjs +219 -0
- package/dist/lib/browser/chunk-7GONB2BI.mjs.map +7 -0
- package/dist/lib/browser/chunk-D7PVIURR.mjs +1094 -0
- package/dist/lib/browser/chunk-D7PVIURR.mjs.map +7 -0
- package/dist/lib/browser/{chunk-2FIHSX35.mjs → chunk-FGEVENLN.mjs} +34 -47
- package/dist/lib/browser/chunk-FGEVENLN.mjs.map +7 -0
- package/dist/lib/browser/{chunk-DLO2G3DM.mjs → chunk-HDLDMR54.mjs} +2 -2
- package/dist/lib/browser/chunk-HDLDMR54.mjs.map +7 -0
- package/dist/lib/browser/{chunk-ZFLSTQSE.mjs → chunk-J75MXJZN.mjs} +26 -27
- package/dist/lib/browser/chunk-J75MXJZN.mjs.map +7 -0
- package/dist/lib/browser/chunk-JMH6UT5J.mjs +127 -0
- package/dist/lib/browser/chunk-JMH6UT5J.mjs.map +7 -0
- package/dist/lib/browser/{markdown-QMJLRR6R.mjs → chunk-PV5GYINX.mjs} +3 -78
- package/dist/lib/browser/chunk-PV5GYINX.mjs.map +7 -0
- package/dist/lib/browser/chunk-QVJO3VJ4.mjs +20 -0
- package/dist/lib/browser/chunk-QVJO3VJ4.mjs.map +7 -0
- package/dist/lib/browser/index.mjs +64 -83
- package/dist/lib/browser/index.mjs.map +4 -4
- package/dist/lib/browser/markdown-J6H6EIZE.mjs +83 -0
- package/dist/lib/browser/markdown-J6H6EIZE.mjs.map +7 -0
- package/dist/lib/browser/meta.json +1 -1
- package/dist/lib/browser/{operation-resolver-T63EP5TY.mjs → operation-resolver-3JHO5DFX.mjs} +22 -29
- package/dist/lib/browser/operation-resolver-3JHO5DFX.mjs.map +7 -0
- package/dist/lib/browser/{react-root-56MJI77R.mjs → react-root-AM3J34AK.mjs} +8 -6
- package/dist/lib/browser/react-root-AM3J34AK.mjs.map +7 -0
- package/dist/lib/browser/{react-surface-DMBHQOXJ.mjs → react-surface-VNGEEVYP.mjs} +40 -35
- package/dist/lib/browser/react-surface-VNGEEVYP.mjs.map +7 -0
- package/dist/lib/browser/{settings-WZMJMML3.mjs → settings-HYNYTOSX.mjs} +8 -5
- package/dist/lib/browser/settings-HYNYTOSX.mjs.map +7 -0
- package/dist/lib/browser/{state-SJR2GL5G.mjs → state-NQZQCDFD.mjs} +3 -2
- package/dist/lib/browser/types/index.mjs +2 -1
- package/dist/lib/node-esm/CallDebugPanel-7OIL5FVT.mjs +183 -0
- package/dist/lib/node-esm/CallDebugPanel-7OIL5FVT.mjs.map +7 -0
- package/dist/lib/node-esm/CallSidebar-Y2I3UBBA.mjs +37 -0
- package/dist/lib/node-esm/CallSidebar-Y2I3UBBA.mjs.map +7 -0
- package/dist/lib/node-esm/ChannelContainer-WB5YYZKU.mjs +18 -0
- package/dist/lib/node-esm/ChannelContainer-WB5YYZKU.mjs.map +7 -0
- package/dist/lib/node-esm/ChatContainer-CP6PNF53.mjs +19 -0
- package/dist/lib/node-esm/ChatContainer-CP6PNF53.mjs.map +7 -0
- package/dist/lib/node-esm/ThreadCompanion-5MM3XACT.mjs +210 -0
- package/dist/lib/node-esm/ThreadCompanion-5MM3XACT.mjs.map +7 -0
- package/dist/lib/node-esm/ThreadSettings-TCZMYH3J.mjs +21 -0
- package/dist/lib/node-esm/ThreadSettings-TCZMYH3J.mjs.map +7 -0
- package/dist/lib/node-esm/{app-graph-builder-JCSVFRVY.mjs → app-graph-builder-HSX4GHGQ.mjs} +25 -24
- package/dist/lib/node-esm/app-graph-builder-HSX4GHGQ.mjs.map +7 -0
- package/dist/lib/node-esm/{blueprint-definition-MZZXXL37.mjs → blueprint-definition-SABUBK23.mjs} +6 -6
- package/dist/lib/node-esm/blueprint-definition-SABUBK23.mjs.map +7 -0
- package/dist/lib/node-esm/blueprints/index.mjs +3 -3
- package/dist/lib/node-esm/{call-manager-FMLRR5S5.mjs → call-manager-ENAYC5L3.mjs} +5 -4
- package/dist/lib/node-esm/call-manager-ENAYC5L3.mjs.map +7 -0
- package/dist/lib/node-esm/chunk-35G7Q243.mjs +1095 -0
- package/dist/lib/node-esm/chunk-35G7Q243.mjs.map +7 -0
- package/dist/lib/node-esm/chunk-4BOUHFEC.mjs +128 -0
- package/dist/lib/node-esm/chunk-4BOUHFEC.mjs.map +7 -0
- package/dist/lib/node-esm/chunk-A3SWGVF3.mjs +37 -0
- package/dist/lib/node-esm/chunk-A3SWGVF3.mjs.map +7 -0
- package/dist/lib/node-esm/{markdown-L6LLQLIN.mjs → chunk-B7POKKGL.mjs} +3 -78
- package/dist/lib/node-esm/chunk-B7POKKGL.mjs.map +7 -0
- package/dist/lib/node-esm/chunk-CSIDVJEC.mjs +220 -0
- package/dist/lib/node-esm/chunk-CSIDVJEC.mjs.map +7 -0
- package/dist/lib/node-esm/{chunk-WMWUXWAS.mjs → chunk-HGIUKAXD.mjs} +34 -47
- package/dist/lib/node-esm/chunk-HGIUKAXD.mjs.map +7 -0
- package/dist/lib/node-esm/chunk-N2T5KLKB.mjs +22 -0
- package/dist/lib/node-esm/chunk-N2T5KLKB.mjs.map +7 -0
- package/dist/lib/node-esm/{chunk-AQHPP6ZX.mjs → chunk-NDSI2G7B.mjs} +26 -26
- package/dist/lib/node-esm/chunk-NDSI2G7B.mjs.map +7 -0
- package/dist/lib/node-esm/{chunk-KRBZBJRI.mjs → chunk-YN2Y7GPW.mjs} +2 -2
- package/dist/lib/node-esm/chunk-YN2Y7GPW.mjs.map +7 -0
- package/dist/lib/node-esm/index.mjs +64 -83
- package/dist/lib/node-esm/index.mjs.map +4 -4
- package/dist/lib/node-esm/markdown-P2WSGZJB.mjs +84 -0
- package/dist/lib/node-esm/markdown-P2WSGZJB.mjs.map +7 -0
- package/dist/lib/node-esm/meta.json +1 -1
- package/dist/lib/node-esm/{operation-resolver-G6GZPBRP.mjs → operation-resolver-I3RCYCC4.mjs} +22 -29
- package/dist/lib/node-esm/operation-resolver-I3RCYCC4.mjs.map +7 -0
- package/dist/lib/node-esm/{react-root-V4W4X5GL.mjs → react-root-TFDOAH6Z.mjs} +8 -6
- package/dist/lib/node-esm/react-root-TFDOAH6Z.mjs.map +7 -0
- package/dist/lib/node-esm/{react-surface-ELDSTUA3.mjs → react-surface-3C7PBXXD.mjs} +40 -35
- package/dist/lib/node-esm/react-surface-3C7PBXXD.mjs.map +7 -0
- package/dist/lib/node-esm/{settings-37CO3SNR.mjs → settings-FV2O6HDY.mjs} +8 -5
- package/dist/lib/node-esm/settings-FV2O6HDY.mjs.map +7 -0
- package/dist/lib/node-esm/{state-5R3TZJQE.mjs → state-IODNXJEB.mjs} +3 -2
- package/dist/lib/{browser/state-SJR2GL5G.mjs.map → node-esm/state-IODNXJEB.mjs.map} +1 -1
- package/dist/lib/node-esm/types/index.mjs +2 -1
- package/dist/types/src/ThreadPlugin.d.ts.map +1 -1
- package/dist/types/src/blueprints/index.d.ts +1 -1
- package/dist/types/src/blueprints/index.d.ts.map +1 -1
- package/dist/types/src/blueprints/thread-blueprint.d.ts +3 -20
- package/dist/types/src/blueprints/thread-blueprint.d.ts.map +1 -1
- package/dist/types/src/capabilities/app-graph-builder/app-graph-builder.d.ts +1 -1
- package/dist/types/src/capabilities/app-graph-builder/app-graph-builder.d.ts.map +1 -1
- package/dist/types/src/capabilities/blueprint-definition/blueprint-definition.d.ts +3 -6
- package/dist/types/src/capabilities/blueprint-definition/blueprint-definition.d.ts.map +1 -1
- package/dist/types/src/capabilities/blueprint-definition/index.d.ts +1 -1
- package/dist/types/src/capabilities/blueprint-definition/index.d.ts.map +1 -1
- package/dist/types/src/capabilities/call-manager/call-manager.d.ts +1 -1
- package/dist/types/src/capabilities/call-manager/call-manager.d.ts.map +1 -1
- package/dist/types/src/capabilities/index.d.ts +0 -1
- package/dist/types/src/capabilities/index.d.ts.map +1 -1
- package/dist/types/src/capabilities/markdown/markdown.d.ts +1 -1
- package/dist/types/src/capabilities/markdown/markdown.d.ts.map +1 -1
- package/dist/types/src/capabilities/operation-resolver/index.d.ts +1 -1
- package/dist/types/src/capabilities/operation-resolver/index.d.ts.map +1 -1
- package/dist/types/src/capabilities/operation-resolver/operation-resolver.d.ts +2 -2
- package/dist/types/src/capabilities/operation-resolver/operation-resolver.d.ts.map +1 -1
- package/dist/types/src/capabilities/react-root/react-root.d.ts +1 -1
- package/dist/types/src/capabilities/react-root/react-root.d.ts.map +1 -1
- package/dist/types/src/capabilities/react-surface/index.d.ts +1 -1
- package/dist/types/src/capabilities/react-surface/index.d.ts.map +1 -1
- package/dist/types/src/capabilities/react-surface/react-surface.d.ts +2 -2
- package/dist/types/src/capabilities/react-surface/react-surface.d.ts.map +1 -1
- package/dist/types/src/capabilities/settings/index.d.ts +1 -1
- package/dist/types/src/capabilities/settings/index.d.ts.map +1 -1
- package/dist/types/src/capabilities/settings/settings.d.ts +3 -2
- package/dist/types/src/capabilities/settings/settings.d.ts.map +1 -1
- package/dist/types/src/capabilities/state/state.d.ts +1 -1
- package/dist/types/src/components/Call/Toolbar.d.ts.map +1 -1
- package/dist/types/src/components/CommentsPanel/CommentsPanel.d.ts +13 -0
- package/dist/types/src/components/CommentsPanel/CommentsPanel.d.ts.map +1 -0
- package/dist/types/src/components/{Comments.stories.d.ts → CommentsPanel/CommentsPanel.stories.d.ts} +4 -2
- package/dist/types/src/components/CommentsPanel/CommentsPanel.stories.d.ts.map +1 -0
- package/dist/types/src/components/{CommentsThreadContainer.d.ts → CommentsPanel/CommentsThread.d.ts} +3 -3
- package/dist/types/src/components/CommentsPanel/CommentsThread.d.ts.map +1 -0
- package/dist/types/src/components/CommentsPanel/index.d.ts +3 -0
- package/dist/types/src/components/CommentsPanel/index.d.ts.map +1 -0
- package/dist/types/src/components/MessagePanel/MessagePanel.d.ts +15 -0
- package/dist/types/src/components/MessagePanel/MessagePanel.d.ts.map +1 -0
- package/dist/types/src/components/MessagePanel/index.d.ts +2 -0
- package/dist/types/src/components/MessagePanel/index.d.ts.map +1 -0
- package/dist/types/src/components/ResponsiveGrid/ResponsiveGrid.stories.d.ts +2 -0
- package/dist/types/src/components/ResponsiveGrid/ResponsiveGrid.stories.d.ts.map +1 -1
- package/dist/types/src/components/ResponsiveGrid/{ResponsiveContainer.d.ts → ResponsivePanel.d.ts} +4 -4
- package/dist/types/src/components/ResponsiveGrid/ResponsivePanel.d.ts.map +1 -0
- package/dist/types/src/components/ResponsiveGrid/{ResponsiveContainer.stories.d.ts → ResponsivePanel.stories.d.ts} +5 -3
- package/dist/types/src/components/ResponsiveGrid/ResponsivePanel.stories.d.ts.map +1 -0
- package/dist/types/src/components/ResponsiveGrid/index.d.ts +1 -1
- package/dist/types/src/components/ResponsiveGrid/index.d.ts.map +1 -1
- package/dist/types/src/components/index.d.ts +2 -9
- package/dist/types/src/components/index.d.ts.map +1 -1
- package/dist/types/src/{components → containers/CallDebugPanel}/CallDebugPanel.d.ts +1 -1
- package/dist/types/src/containers/CallDebugPanel/CallDebugPanel.d.ts.map +1 -0
- package/dist/types/src/containers/CallDebugPanel/index.d.ts +3 -0
- package/dist/types/src/containers/CallDebugPanel/index.d.ts.map +1 -0
- package/dist/types/src/{components → containers/CallSidebar}/CallSidebar.d.ts +0 -1
- package/dist/types/src/containers/CallSidebar/CallSidebar.d.ts.map +1 -0
- package/dist/types/src/containers/CallSidebar/index.d.ts +3 -0
- package/dist/types/src/containers/CallSidebar/index.d.ts.map +1 -0
- package/dist/types/src/{components → containers/ChannelContainer}/ChannelContainer.d.ts +3 -4
- package/dist/types/src/containers/ChannelContainer/ChannelContainer.d.ts.map +1 -0
- package/dist/types/src/{components → containers/ChannelContainer}/ChannelContainer.stories.d.ts +4 -2
- package/dist/types/src/containers/ChannelContainer/ChannelContainer.stories.d.ts.map +1 -0
- package/dist/types/src/containers/ChannelContainer/index.d.ts +3 -0
- package/dist/types/src/containers/ChannelContainer/index.d.ts.map +1 -0
- package/dist/types/src/{components → containers/ChatContainer}/ChatContainer.d.ts +4 -5
- package/dist/types/src/containers/ChatContainer/ChatContainer.d.ts.map +1 -0
- package/dist/types/src/{components/Chat.stories.d.ts → containers/ChatContainer/ChatContainer.stories.d.ts} +4 -2
- package/dist/types/src/containers/ChatContainer/ChatContainer.stories.d.ts.map +1 -0
- package/dist/types/src/containers/ChatContainer/index.d.ts +4 -0
- package/dist/types/src/containers/ChatContainer/index.d.ts.map +1 -0
- package/dist/types/src/containers/ThreadCompanion/ThreadCompanion.d.ts +6 -0
- package/dist/types/src/containers/ThreadCompanion/ThreadCompanion.d.ts.map +1 -0
- package/dist/types/src/containers/ThreadCompanion/index.d.ts +3 -0
- package/dist/types/src/containers/ThreadCompanion/index.d.ts.map +1 -0
- package/dist/types/src/{components → containers/ThreadSettings}/ThreadSettings.d.ts +1 -1
- package/dist/types/src/containers/ThreadSettings/ThreadSettings.d.ts.map +1 -0
- package/dist/types/src/containers/ThreadSettings/index.d.ts +3 -0
- package/dist/types/src/containers/ThreadSettings/index.d.ts.map +1 -0
- package/dist/types/src/containers/index.d.ts +8 -0
- package/dist/types/src/containers/index.d.ts.map +1 -0
- package/dist/types/src/{components/command-extension.d.ts → extensions/command.d.ts} +1 -1
- package/dist/types/src/extensions/command.d.ts.map +1 -0
- package/dist/types/src/extensions/index.d.ts +1 -0
- package/dist/types/src/extensions/index.d.ts.map +1 -1
- package/dist/types/src/functions/create-proposals.d.ts +8 -1
- package/dist/types/src/functions/create-proposals.d.ts.map +1 -1
- package/dist/types/src/functions/index.d.ts +13 -1
- package/dist/types/src/functions/index.d.ts.map +1 -1
- package/dist/types/src/hooks/analytics.d.ts.map +1 -1
- package/dist/types/src/{components/testing.d.ts → testing/data.d.ts} +1 -1
- package/dist/types/src/testing/data.d.ts.map +1 -0
- package/dist/types/src/testing/stories.d.ts.map +1 -1
- package/dist/types/src/translations.d.ts +2 -0
- package/dist/types/src/translations.d.ts.map +1 -1
- package/dist/types/src/types/Channel.d.ts +25 -9
- package/dist/types/src/types/Channel.d.ts.map +1 -1
- package/dist/types/src/types/types.d.ts +182 -105
- package/dist/types/src/types/types.d.ts.map +1 -1
- package/dist/types/tsconfig.tsbuildinfo +1 -1
- package/package.json +67 -65
- package/src/ThreadPlugin.tsx +33 -49
- package/src/blueprints/index.ts +1 -1
- package/src/blueprints/thread-blueprint.ts +14 -6
- package/src/calls-service.stories.tsx +2 -2
- package/src/capabilities/app-graph-builder/app-graph-builder.ts +20 -18
- package/src/capabilities/blueprint-definition/blueprint-definition.ts +6 -12
- package/src/capabilities/call-manager/call-manager.ts +2 -2
- package/src/capabilities/index.ts +0 -1
- package/src/capabilities/markdown/markdown.ts +11 -13
- package/src/capabilities/operation-resolver/operation-resolver.ts +13 -21
- package/src/capabilities/react-root/react-root.tsx +2 -2
- package/src/capabilities/react-surface/react-surface.tsx +28 -24
- package/src/capabilities/settings/settings.ts +3 -2
- package/src/components/Call/Call.tsx +1 -1
- package/src/components/Call/Toolbar.tsx +6 -7
- package/src/components/{Comments.stories.tsx → CommentsPanel/CommentsPanel.stories.tsx} +12 -12
- package/src/components/{CommentsContainer.tsx → CommentsPanel/CommentsPanel.tsx} +14 -13
- package/src/components/{CommentsThreadContainer.tsx → CommentsPanel/CommentsThread.tsx} +12 -13
- package/src/components/CommentsPanel/index.ts +6 -0
- package/src/components/Lobby/Lobby.tsx +4 -4
- package/src/components/Media/VideoObject.stories.tsx +6 -6
- package/src/components/Media/VideoObject.tsx +1 -1
- package/src/components/{MessageContainer.tsx → MessagePanel/MessagePanel.tsx} +16 -16
- package/src/components/MessagePanel/index.ts +5 -0
- package/src/components/Participant/Participant.tsx +1 -1
- package/src/components/ResponsiveGrid/ResponsiveGrid.stories.tsx +4 -4
- package/src/components/ResponsiveGrid/ResponsiveGrid.tsx +8 -8
- package/src/components/ResponsiveGrid/ResponsiveGridItem.tsx +5 -5
- package/src/components/ResponsiveGrid/{ResponsiveContainer.stories.tsx → ResponsivePanel.stories.tsx} +7 -7
- package/src/components/ResponsiveGrid/{ResponsiveContainer.tsx → ResponsivePanel.tsx} +5 -5
- package/src/components/ResponsiveGrid/index.ts +1 -1
- package/src/components/index.ts +2 -10
- package/src/{components → containers/CallDebugPanel}/CallDebugPanel.tsx +4 -4
- package/src/containers/CallDebugPanel/index.ts +7 -0
- package/src/{components → containers/CallSidebar}/CallSidebar.tsx +4 -7
- package/src/containers/CallSidebar/index.ts +7 -0
- package/src/{components → containers/ChannelContainer}/ChannelContainer.stories.tsx +11 -13
- package/src/{components → containers/ChannelContainer}/ChannelContainer.tsx +58 -43
- package/src/containers/ChannelContainer/index.ts +7 -0
- package/src/{components/Chat.stories.tsx → containers/ChatContainer/ChatContainer.stories.tsx} +20 -18
- package/src/{components → containers/ChatContainer}/ChatContainer.tsx +27 -37
- package/src/containers/ChatContainer/index.ts +8 -0
- package/src/{components → containers/ThreadCompanion}/ThreadCompanion.tsx +50 -44
- package/src/containers/ThreadCompanion/index.ts +7 -0
- package/src/{components → containers/ThreadSettings}/ThreadSettings.tsx +5 -4
- package/src/containers/ThreadSettings/index.ts +7 -0
- package/src/containers/index.ts +12 -0
- package/src/{components/command-extension.ts → extensions/command.ts} +1 -1
- package/src/extensions/index.ts +1 -0
- package/src/functions/create-proposals.ts +10 -10
- package/src/functions/index.ts +5 -1
- package/src/hooks/analytics.ts +2 -1
- package/src/meta.ts +2 -2
- package/src/testing/stories.ts +2 -1
- package/src/translations.ts +1 -0
- package/src/types/Channel.ts +10 -4
- package/src/types/capabilities.ts +5 -5
- package/src/types/types.ts +18 -18
- package/dist/lib/browser/app-graph-builder-7C2QW32W.mjs.map +0 -7
- package/dist/lib/browser/blueprint-definition-UQ63QKQG.mjs +0 -17
- package/dist/lib/browser/blueprint-definition-UQ63QKQG.mjs.map +0 -7
- package/dist/lib/browser/call-manager-4P536YNX.mjs.map +0 -7
- package/dist/lib/browser/chunk-2FIHSX35.mjs.map +0 -7
- package/dist/lib/browser/chunk-DLO2G3DM.mjs.map +0 -7
- package/dist/lib/browser/chunk-YSHXWAL3.mjs +0 -1815
- package/dist/lib/browser/chunk-YSHXWAL3.mjs.map +0 -7
- package/dist/lib/browser/chunk-ZFLSTQSE.mjs.map +0 -7
- package/dist/lib/browser/markdown-QMJLRR6R.mjs.map +0 -7
- package/dist/lib/browser/operation-resolver-T63EP5TY.mjs.map +0 -7
- package/dist/lib/browser/react-root-56MJI77R.mjs.map +0 -7
- package/dist/lib/browser/react-surface-DMBHQOXJ.mjs.map +0 -7
- package/dist/lib/browser/repair-6OZ75AUU.mjs +0 -38
- package/dist/lib/browser/repair-6OZ75AUU.mjs.map +0 -7
- package/dist/lib/browser/settings-WZMJMML3.mjs.map +0 -7
- package/dist/lib/node-esm/app-graph-builder-JCSVFRVY.mjs.map +0 -7
- package/dist/lib/node-esm/blueprint-definition-MZZXXL37.mjs.map +0 -7
- package/dist/lib/node-esm/call-manager-FMLRR5S5.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-7XQLXMX7.mjs +0 -1816
- package/dist/lib/node-esm/chunk-7XQLXMX7.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-AQHPP6ZX.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-KRBZBJRI.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-WMWUXWAS.mjs.map +0 -7
- package/dist/lib/node-esm/markdown-L6LLQLIN.mjs.map +0 -7
- package/dist/lib/node-esm/operation-resolver-G6GZPBRP.mjs.map +0 -7
- package/dist/lib/node-esm/react-root-V4W4X5GL.mjs.map +0 -7
- package/dist/lib/node-esm/react-surface-ELDSTUA3.mjs.map +0 -7
- package/dist/lib/node-esm/repair-6777EPOM.mjs +0 -39
- package/dist/lib/node-esm/repair-6777EPOM.mjs.map +0 -7
- package/dist/lib/node-esm/settings-37CO3SNR.mjs.map +0 -7
- package/dist/types/src/capabilities/repair/index.d.ts +0 -3
- package/dist/types/src/capabilities/repair/index.d.ts.map +0 -1
- package/dist/types/src/capabilities/repair/repair.d.ts +0 -6
- package/dist/types/src/capabilities/repair/repair.d.ts.map +0 -1
- package/dist/types/src/components/CallDebugPanel.d.ts.map +0 -1
- package/dist/types/src/components/CallSidebar.d.ts.map +0 -1
- package/dist/types/src/components/ChannelContainer.d.ts.map +0 -1
- package/dist/types/src/components/ChannelContainer.stories.d.ts.map +0 -1
- package/dist/types/src/components/Chat.stories.d.ts.map +0 -1
- package/dist/types/src/components/ChatContainer.d.ts.map +0 -1
- package/dist/types/src/components/Comments.stories.d.ts.map +0 -1
- package/dist/types/src/components/CommentsContainer.d.ts +0 -13
- package/dist/types/src/components/CommentsContainer.d.ts.map +0 -1
- package/dist/types/src/components/CommentsThreadContainer.d.ts.map +0 -1
- package/dist/types/src/components/MessageContainer.d.ts +0 -15
- package/dist/types/src/components/MessageContainer.d.ts.map +0 -1
- package/dist/types/src/components/ResponsiveGrid/ResponsiveContainer.d.ts.map +0 -1
- package/dist/types/src/components/ResponsiveGrid/ResponsiveContainer.stories.d.ts.map +0 -1
- package/dist/types/src/components/ThreadCompanion.d.ts +0 -5
- package/dist/types/src/components/ThreadCompanion.d.ts.map +0 -1
- package/dist/types/src/components/ThreadSettings.d.ts.map +0 -1
- package/dist/types/src/components/command-extension.d.ts.map +0 -1
- package/dist/types/src/components/testing.d.ts.map +0 -1
- package/src/capabilities/repair/index.ts +0 -7
- package/src/capabilities/repair/repair.ts +0 -51
- /package/dist/lib/{node-esm/state-5R3TZJQE.mjs.map → browser/state-NQZQCDFD.mjs.map} +0 -0
- /package/src/{components/testing.ts → testing/data.ts} +0 -0
|
@@ -1,14 +1,4 @@
|
|
|
1
|
-
import {
|
|
2
|
-
__export
|
|
3
|
-
} from "./chunk-J5LGTIGS.mjs";
|
|
4
|
-
|
|
5
1
|
// src/blueprints/thread-blueprint.ts
|
|
6
|
-
var thread_blueprint_exports = {};
|
|
7
|
-
__export(thread_blueprint_exports, {
|
|
8
|
-
Key: () => Key,
|
|
9
|
-
functions: () => functions,
|
|
10
|
-
make: () => make
|
|
11
|
-
});
|
|
12
2
|
import { Blueprint, Template } from "@dxos/blueprints";
|
|
13
3
|
import { trim } from "@dxos/util";
|
|
14
4
|
|
|
@@ -17,27 +7,27 @@ import * as Array from "effect/Array";
|
|
|
17
7
|
import * as Effect from "effect/Effect";
|
|
18
8
|
import * as Function from "effect/Function";
|
|
19
9
|
import * as Schema from "effect/Schema";
|
|
20
|
-
import {
|
|
21
|
-
import { Obj, Ref, Relation } from "@dxos/echo";
|
|
22
|
-
import { Database } from "@dxos/echo";
|
|
10
|
+
import { computeDiffsWithCursors } from "@dxos/assistant";
|
|
11
|
+
import { Database, Obj, Ref, Relation } from "@dxos/echo";
|
|
23
12
|
import { createDocAccessor } from "@dxos/echo-db";
|
|
24
13
|
import { defineFunction } from "@dxos/functions";
|
|
25
|
-
import { DXN } from "@dxos/keys";
|
|
26
14
|
import { Markdown } from "@dxos/plugin-markdown/types";
|
|
27
15
|
import { AnchoredTo, Message, Thread } from "@dxos/types";
|
|
28
16
|
var create_proposals_default = defineFunction({
|
|
29
|
-
key: "dxos.
|
|
17
|
+
key: "org.dxos.function.thread.create-proposals",
|
|
30
18
|
name: "Create Proposals",
|
|
31
19
|
description: "Proposes a set of changes to a document.",
|
|
32
20
|
inputSchema: Schema.Struct({
|
|
33
|
-
|
|
21
|
+
doc: Ref.Ref(Markdown.Document).annotations({
|
|
22
|
+
description: "The ID of the document."
|
|
23
|
+
}),
|
|
34
24
|
diffs: Schema.Array(Schema.String).annotations({
|
|
35
25
|
description: "The diffs to propose for the document."
|
|
36
26
|
})
|
|
37
27
|
}),
|
|
38
28
|
outputSchema: Schema.Void,
|
|
39
|
-
handler: Effect.fn(function* ({ data: {
|
|
40
|
-
const object = yield* Database.
|
|
29
|
+
handler: Effect.fn(function* ({ data: { doc, diffs: _diffs } }) {
|
|
30
|
+
const object = yield* Database.load(doc);
|
|
41
31
|
const content = yield* Effect.promise(() => object.content.load());
|
|
42
32
|
const accessor = createDocAccessor(content, [
|
|
43
33
|
"content"
|
|
@@ -67,21 +57,24 @@ var create_proposals_default = defineFunction({
|
|
|
67
57
|
[Relation.Target]: object,
|
|
68
58
|
anchor: cursor
|
|
69
59
|
});
|
|
70
|
-
yield* Database.
|
|
71
|
-
yield* Database.
|
|
60
|
+
yield* Database.add(thread);
|
|
61
|
+
yield* Database.add(relation);
|
|
72
62
|
})), Effect.allWith({
|
|
73
63
|
concurrency: "unbounded"
|
|
74
64
|
}));
|
|
75
65
|
})
|
|
76
66
|
});
|
|
77
67
|
|
|
68
|
+
// src/functions/index.ts
|
|
69
|
+
var ThreadFunctions = {
|
|
70
|
+
CreateProposals: create_proposals_default
|
|
71
|
+
};
|
|
72
|
+
|
|
78
73
|
// src/blueprints/thread-blueprint.ts
|
|
79
|
-
var
|
|
80
|
-
|
|
81
|
-
];
|
|
82
|
-
var Key = "dxos.org/blueprint/thread";
|
|
74
|
+
var BLUEPRINT_KEY = "org.dxos.blueprint.thread";
|
|
75
|
+
var functions = Object.values(ThreadFunctions);
|
|
83
76
|
var make = () => Blueprint.make({
|
|
84
|
-
key:
|
|
77
|
+
key: BLUEPRINT_KEY,
|
|
85
78
|
name: "Thread",
|
|
86
79
|
tools: Blueprint.toolDefinitions({
|
|
87
80
|
functions
|
|
@@ -99,8 +92,14 @@ var make = () => Blueprint.make({
|
|
|
99
92
|
`
|
|
100
93
|
})
|
|
101
94
|
});
|
|
95
|
+
var blueprint = {
|
|
96
|
+
key: BLUEPRINT_KEY,
|
|
97
|
+
functions,
|
|
98
|
+
make
|
|
99
|
+
};
|
|
100
|
+
var thread_blueprint_default = blueprint;
|
|
102
101
|
|
|
103
102
|
export {
|
|
104
|
-
|
|
103
|
+
thread_blueprint_default
|
|
105
104
|
};
|
|
106
|
-
//# sourceMappingURL=chunk-
|
|
105
|
+
//# sourceMappingURL=chunk-J75MXJZN.mjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/blueprints/thread-blueprint.ts", "../../../src/functions/create-proposals.ts", "../../../src/functions/index.ts"],
|
|
4
|
+
"sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { type AppCapabilities } from '@dxos/app-toolkit';\nimport { Blueprint, Template } from '@dxos/blueprints';\nimport { trim } from '@dxos/util';\n\nimport { ThreadFunctions } from '../functions';\n\nconst BLUEPRINT_KEY = 'org.dxos.blueprint.thread';\n\nconst functions = Object.values(ThreadFunctions);\n\nconst make = () =>\n Blueprint.make({\n key: BLUEPRINT_KEY,\n name: 'Thread',\n tools: Blueprint.toolDefinitions({ functions }),\n instructions: Template.make({\n // TODO(wittjosiah): Move example to function input schema annotation.\n source: trim`\n You can update markdown documents via proposals.\n For each diff, respond with the smallest possible matching span.\n For example:\n - \"There is a tyop in this sentence.\"\n + \"There is a typo in this sentence.\"\n - \"This id goof.\"\n + \"This is good.\"\n `,\n }),\n });\n\nconst blueprint: AppCapabilities.BlueprintDefinition = {\n key: BLUEPRINT_KEY,\n functions,\n make,\n};\n\nexport default blueprint;\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport * as Array from 'effect/Array';\nimport * as Effect from 'effect/Effect';\nimport * as Function from 'effect/Function';\nimport * as Schema from 'effect/Schema';\n\nimport { computeDiffsWithCursors } from '@dxos/assistant';\nimport { Database, Obj, Ref, Relation } from '@dxos/echo';\nimport { createDocAccessor } from '@dxos/echo-db';\nimport { defineFunction } from '@dxos/functions';\nimport { Markdown } from '@dxos/plugin-markdown/types';\nimport { AnchoredTo, Message, Thread } from '@dxos/types';\n\nexport default defineFunction({\n key: 'org.dxos.function.thread.create-proposals',\n name: 'Create Proposals',\n description: 'Proposes a set of changes to a document.',\n inputSchema: Schema.Struct({\n doc: Ref.Ref(Markdown.Document).annotations({\n description: 'The ID of the document.',\n }),\n diffs: Schema.Array(Schema.String).annotations({\n description: 'The diffs to propose for the document.',\n }),\n }),\n outputSchema: Schema.Void,\n handler: Effect.fn(function* ({ data: { doc, diffs: _diffs } }) {\n const object = yield* Database.load(doc);\n const content = yield* Effect.promise(() => object.content.load());\n const accessor = createDocAccessor(content, ['content']);\n\n yield* Function.pipe(\n computeDiffsWithCursors(accessor, _diffs),\n Array.map(\n Effect.fnUntraced(function* ({ cursor, text }) {\n const proposal = Obj.make(Message.Message, {\n created: new Date().toISOString(),\n sender: { role: 'assistant' },\n blocks: [{ _tag: 'proposal', text }],\n });\n const thread = Thread.make({ name: 'Proposal', messages: [Ref.make(proposal)], status: 'active' });\n const relation = Relation.make(AnchoredTo.AnchoredTo, {\n [Relation.Source]: thread,\n [Relation.Target]: object,\n anchor: cursor,\n });\n yield* Database.add(thread);\n yield* Database.add(relation);\n }),\n ),\n Effect.allWith({ concurrency: 'unbounded' }),\n );\n }),\n});\n", "//\n// Copyright 2024 DXOS.org\n//\n\nimport CreateProposals from './create-proposals';\n\nexport const ThreadFunctions = {\n CreateProposals,\n};\n"],
|
|
5
|
+
"mappings": ";AAKA,SAASA,WAAWC,gBAAgB;AACpC,SAASC,YAAY;;;ACFrB,YAAYC,WAAW;AACvB,YAAYC,YAAY;AACxB,YAAYC,cAAc;AAC1B,YAAYC,YAAY;AAExB,SAASC,+BAA+B;AACxC,SAASC,UAAUC,KAAKC,KAAKC,gBAAgB;AAC7C,SAASC,yBAAyB;AAClC,SAASC,sBAAsB;AAC/B,SAASC,gBAAgB;AACzB,SAASC,YAAYC,SAASC,cAAc;AAE5C,IAAA,2BAAeC,eAAe;EAC5BC,KAAK;EACLC,MAAM;EACNC,aAAa;EACbC,aAAoBC,cAAO;IACzBC,KAAKC,IAAIA,IAAIC,SAASC,QAAQ,EAAEC,YAAY;MAC1CP,aAAa;IACf,CAAA;IACAQ,OAAcC,aAAaC,aAAM,EAAEH,YAAY;MAC7CP,aAAa;IACf,CAAA;EACF,CAAA;EACAW,cAAqBC;EACrBC,SAAgBC,UAAG,WAAW,EAAEC,MAAM,EAAEZ,KAAKK,OAAOQ,OAAM,EAAE,GAAE;AAC5D,UAAMC,SAAS,OAAOC,SAASC,KAAKhB,GAAAA;AACpC,UAAMiB,UAAU,OAAcC,eAAQ,MAAMJ,OAAOG,QAAQD,KAAI,CAAA;AAC/D,UAAMG,WAAWC,kBAAkBH,SAAS;MAAC;KAAU;AAEvD,WAAgBI,cACdC,wBAAwBH,UAAUN,MAAAA,GAC5BU,UACGC,kBAAW,WAAW,EAAEC,QAAQC,KAAI,GAAE;AAC3C,YAAMC,WAAWC,IAAIC,KAAKC,QAAQA,SAAS;QACzCC,UAAS,oBAAIC,KAAAA,GAAOC,YAAW;QAC/BC,QAAQ;UAAEC,MAAM;QAAY;QAC5BC,QAAQ;UAAC;YAAEC,MAAM;YAAYX;UAAK;;MACpC,CAAA;AACA,YAAMY,SAASC,OAAOV,KAAK;QAAEjC,MAAM;QAAY4C,UAAU;UAACvC,IAAI4B,KAAKF,QAAAA;;QAAYc,QAAQ;MAAS,CAAA;AAChG,YAAMC,WAAWC,SAASd,KAAKe,WAAWA,YAAY;QACpD,CAACD,SAASE,MAAM,GAAGP;QACnB,CAACK,SAASG,MAAM,GAAGhC;QACnBiC,QAAQtB;MACV,CAAA;AACA,aAAOV,SAASiC,IAAIV,MAAAA;AACpB,aAAOvB,SAASiC,IAAIN,QAAAA;IACtB,CAAA,CAAA,GAEKO,eAAQ;MAAEC,aAAa;IAAY,CAAA,CAAA;EAE9C,CAAA;AACF,CAAA;;;AClDO,IAAMC,kBAAkB;EAC7BC;AACF;;;AFEA,IAAMC,gBAAgB;AAEtB,IAAMC,YAAYC,OAAOC,OAAOC,eAAAA;AAEhC,IAAMC,OAAO,MACXC,UAAUD,KAAK;EACbE,KAAKP;EACLQ,MAAM;EACNC,OAAOH,UAAUI,gBAAgB;IAAET;EAAU,CAAA;EAC7CU,cAAcC,SAASP,KAAK;;IAE1BQ,QAAQC;;;;;;;;;EASV,CAAA;AACF,CAAA;AAEF,IAAMC,YAAiD;EACrDR,KAAKP;EACLC;EACAI;AACF;AAEA,IAAA,2BAAeU;",
|
|
6
|
+
"names": ["Blueprint", "Template", "trim", "Array", "Effect", "Function", "Schema", "computeDiffsWithCursors", "Database", "Obj", "Ref", "Relation", "createDocAccessor", "defineFunction", "Markdown", "AnchoredTo", "Message", "Thread", "defineFunction", "key", "name", "description", "inputSchema", "Struct", "doc", "Ref", "Markdown", "Document", "annotations", "diffs", "Array", "String", "outputSchema", "Void", "handler", "fn", "data", "_diffs", "object", "Database", "load", "content", "promise", "accessor", "createDocAccessor", "pipe", "computeDiffsWithCursors", "map", "fnUntraced", "cursor", "text", "proposal", "Obj", "make", "Message", "created", "Date", "toISOString", "sender", "role", "blocks", "_tag", "thread", "Thread", "messages", "status", "relation", "Relation", "AnchoredTo", "Source", "Target", "anchor", "add", "allWith", "concurrency", "ThreadFunctions", "CreateProposals", "BLUEPRINT_KEY", "functions", "Object", "values", "ThreadFunctions", "make", "Blueprint", "key", "name", "tools", "toolDefinitions", "instructions", "Template", "source", "trim", "blueprint"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,127 @@
|
|
|
1
|
+
import {
|
|
2
|
+
MessagePanel
|
|
3
|
+
} from "./chunk-D7PVIURR.mjs";
|
|
4
|
+
import {
|
|
5
|
+
useStatus
|
|
6
|
+
} from "./chunk-HDLDMR54.mjs";
|
|
7
|
+
import {
|
|
8
|
+
getMessageMetadata
|
|
9
|
+
} from "./chunk-CP7E2HRE.mjs";
|
|
10
|
+
import {
|
|
11
|
+
command
|
|
12
|
+
} from "./chunk-2M2HV5K4.mjs";
|
|
13
|
+
import {
|
|
14
|
+
meta
|
|
15
|
+
} from "./chunk-QVJO3VJ4.mjs";
|
|
16
|
+
|
|
17
|
+
// src/containers/ChatContainer/ChatContainer.tsx
|
|
18
|
+
import React, { useLayoutEffect, useMemo, useRef, useState } from "react";
|
|
19
|
+
import { Obj, Ref } from "@dxos/echo";
|
|
20
|
+
import { useMembers } from "@dxos/react-client/echo";
|
|
21
|
+
import { useIdentity } from "@dxos/react-client/halo";
|
|
22
|
+
import { Icon, ScrollArea, useThemeContext, useTranslation } from "@dxos/react-ui";
|
|
23
|
+
import { StackItem } from "@dxos/react-ui-stack";
|
|
24
|
+
import { MessageTextbox, Thread as ThreadComponent, threadLayout } from "@dxos/react-ui-thread";
|
|
25
|
+
import { Message } from "@dxos/types";
|
|
26
|
+
import { createBasicExtensions, createThemeExtensions, listener } from "@dxos/ui-editor";
|
|
27
|
+
import { mx } from "@dxos/ui-theme";
|
|
28
|
+
import { isNonNullable } from "@dxos/util";
|
|
29
|
+
var ChatContainer = ({ classNames, space, thread, context, autoFocusTextbox, current }) => {
|
|
30
|
+
const { t } = useTranslation(meta.id);
|
|
31
|
+
const { themeMode } = useThemeContext();
|
|
32
|
+
const id = Obj.getDXN(thread).toString();
|
|
33
|
+
const identity = useIdentity();
|
|
34
|
+
const members = useMembers(space?.id);
|
|
35
|
+
const activity = useStatus(space, id);
|
|
36
|
+
const [autoFocus, setAutoFocus] = useState(autoFocusTextbox);
|
|
37
|
+
const threadScrollRef = useRef(null);
|
|
38
|
+
const [_count, _setCount] = useState(0);
|
|
39
|
+
const rerenderEditor = () => _setCount((count) => count + 1);
|
|
40
|
+
const textboxMetadata = getMessageMetadata(id, identity);
|
|
41
|
+
const messageRef = useRef("");
|
|
42
|
+
const extensions = useMemo(() => [
|
|
43
|
+
createBasicExtensions({
|
|
44
|
+
placeholder: t("message placeholder")
|
|
45
|
+
}),
|
|
46
|
+
createThemeExtensions({
|
|
47
|
+
themeMode
|
|
48
|
+
}),
|
|
49
|
+
listener({
|
|
50
|
+
onChange: ({ text }) => messageRef.current = text
|
|
51
|
+
}),
|
|
52
|
+
command
|
|
53
|
+
], [
|
|
54
|
+
themeMode,
|
|
55
|
+
_count
|
|
56
|
+
]);
|
|
57
|
+
const scrollToEnd = (behavior) => setTimeout(() => threadScrollRef.current?.scrollIntoView({
|
|
58
|
+
behavior,
|
|
59
|
+
block: "end"
|
|
60
|
+
}), 10);
|
|
61
|
+
useLayoutEffect(() => {
|
|
62
|
+
scrollToEnd("instant");
|
|
63
|
+
}, []);
|
|
64
|
+
const handleCreate = () => {
|
|
65
|
+
if (!messageRef.current?.length) {
|
|
66
|
+
return false;
|
|
67
|
+
}
|
|
68
|
+
Obj.change(thread, (t2) => {
|
|
69
|
+
t2.messages.push(Ref.make(Obj.make(Message.Message, {
|
|
70
|
+
created: (/* @__PURE__ */ new Date()).toISOString(),
|
|
71
|
+
sender: {
|
|
72
|
+
identityDid: identity.did
|
|
73
|
+
},
|
|
74
|
+
blocks: [
|
|
75
|
+
{
|
|
76
|
+
_tag: "text",
|
|
77
|
+
text: messageRef.current
|
|
78
|
+
}
|
|
79
|
+
],
|
|
80
|
+
properties: context ? {
|
|
81
|
+
context: Ref.make(context)
|
|
82
|
+
} : void 0
|
|
83
|
+
})));
|
|
84
|
+
});
|
|
85
|
+
messageRef.current = "";
|
|
86
|
+
setAutoFocus(true);
|
|
87
|
+
scrollToEnd("smooth");
|
|
88
|
+
rerenderEditor();
|
|
89
|
+
return true;
|
|
90
|
+
};
|
|
91
|
+
return /* @__PURE__ */ React.createElement(ThreadComponent.Root, {
|
|
92
|
+
id,
|
|
93
|
+
current,
|
|
94
|
+
classNames: [
|
|
95
|
+
"dx-container grid-rows-[1fr_min-content_min-content]",
|
|
96
|
+
classNames
|
|
97
|
+
]
|
|
98
|
+
}, /* @__PURE__ */ React.createElement(ScrollArea.Root, {
|
|
99
|
+
classNames: "col-span-2",
|
|
100
|
+
orientation: "vertical"
|
|
101
|
+
}, /* @__PURE__ */ React.createElement(ScrollArea.Viewport, {
|
|
102
|
+
ref: threadScrollRef
|
|
103
|
+
}, /* @__PURE__ */ React.createElement("div", {
|
|
104
|
+
role: "none",
|
|
105
|
+
className: mx(threadLayout, "place-self-end")
|
|
106
|
+
}, thread.messages.map((message) => message.target).filter(isNonNullable).map((message) => /* @__PURE__ */ React.createElement(MessagePanel, {
|
|
107
|
+
key: message.id,
|
|
108
|
+
message,
|
|
109
|
+
members
|
|
110
|
+
}))))), /* @__PURE__ */ React.createElement(MessageTextbox, {
|
|
111
|
+
extensions,
|
|
112
|
+
autoFocus,
|
|
113
|
+
onSend: handleCreate,
|
|
114
|
+
...textboxMetadata
|
|
115
|
+
}), /* @__PURE__ */ React.createElement(ThreadComponent.Status, {
|
|
116
|
+
activity
|
|
117
|
+
}, t("activity message")));
|
|
118
|
+
};
|
|
119
|
+
|
|
120
|
+
// src/containers/ChatContainer/index.ts
|
|
121
|
+
var ChatContainer_default = ChatContainer;
|
|
122
|
+
|
|
123
|
+
export {
|
|
124
|
+
ChatContainer,
|
|
125
|
+
ChatContainer_default
|
|
126
|
+
};
|
|
127
|
+
//# sourceMappingURL=chunk-JMH6UT5J.mjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/containers/ChatContainer/ChatContainer.tsx", "../../../src/containers/ChatContainer/index.ts"],
|
|
4
|
+
"sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nimport React, { useLayoutEffect, useMemo, useRef, useState } from 'react';\n\nimport { Obj, Ref } from '@dxos/echo';\nimport { type Space, useMembers } from '@dxos/react-client/echo';\nimport { useIdentity } from '@dxos/react-client/halo';\nimport { Icon, ScrollArea, type ThemedClassName, useThemeContext, useTranslation } from '@dxos/react-ui';\nimport { StackItem } from '@dxos/react-ui-stack';\nimport {\n MessageTextbox,\n type MessageTextboxProps,\n Thread as ThreadComponent,\n type ThreadRootProps,\n threadLayout,\n} from '@dxos/react-ui-thread';\nimport { Message, type Thread } from '@dxos/types';\nimport { createBasicExtensions, createThemeExtensions, listener } from '@dxos/ui-editor';\nimport { mx } from '@dxos/ui-theme';\nimport { isNonNullable } from '@dxos/util';\n\nimport { MessagePanel } from '../../components';\nimport { command } from '../../extensions';\nimport { useStatus } from '../../hooks';\nimport { meta } from '../../meta';\nimport { getMessageMetadata } from '../../util';\n\nexport type ChatContainerProps = ThemedClassName<\n {\n space: Space;\n thread: Thread.Thread;\n context?: Obj.Unknown;\n autoFocusTextbox?: boolean;\n } & Pick<ThreadRootProps, 'current'>\n>;\n\nexport const ChatContainer = ({\n classNames,\n space,\n thread,\n context,\n autoFocusTextbox,\n current,\n}: ChatContainerProps) => {\n const { t } = useTranslation(meta.id);\n const { themeMode } = useThemeContext();\n\n const id = Obj.getDXN(thread).toString();\n const identity = useIdentity()!;\n const members = useMembers(space?.id);\n const activity = useStatus(space, id);\n const [autoFocus, setAutoFocus] = useState(autoFocusTextbox);\n const threadScrollRef = useRef<HTMLDivElement | null>(null);\n\n // TODO(wittjosiah): This is a hack to reset the editor after a message is sent.\n const [_count, _setCount] = useState(0);\n const rerenderEditor = () => _setCount((count) => count + 1);\n\n const textboxMetadata = getMessageMetadata(id, identity);\n const messageRef = useRef('');\n const extensions = useMemo(\n () => [\n createBasicExtensions({ placeholder: t('message placeholder') }),\n createThemeExtensions({ themeMode }),\n listener({ onChange: ({ text }) => (messageRef.current = text) }),\n command,\n ],\n [themeMode, _count],\n );\n\n // TODO(thure): Factor out.\n // TODO(thure): `flex-col-reverse` does not work to start the container scrolled to the end while also using\n // `ScrollArea`. This is the least-bad way I found to scroll to the end on mount. Note that 0ms was insufficient\n // for the desired effect; this is likely hardware-dependent and should be reevaluated.\n const scrollToEnd = (behavior: ScrollBehavior) =>\n setTimeout(() => threadScrollRef.current?.scrollIntoView({ behavior, block: 'end' }), 10);\n\n useLayoutEffect(() => {\n scrollToEnd('instant');\n }, []);\n\n // TODO(burdon): Change to model.\n const handleCreate: MessageTextboxProps['onSend'] = () => {\n if (!messageRef.current?.length) {\n return false;\n }\n\n Obj.change(thread, (t) => {\n t.messages.push(\n Ref.make(\n Obj.make(Message.Message, {\n created: new Date().toISOString(),\n sender: { identityDid: identity.did },\n blocks: [{ _tag: 'text', text: messageRef.current }],\n properties: context ? { context: Ref.make(context) } : undefined,\n }),\n ),\n );\n });\n\n messageRef.current = '';\n setAutoFocus(true);\n scrollToEnd('smooth');\n rerenderEditor();\n return true;\n };\n\n return (\n <ThreadComponent.Root\n id={id}\n current={current}\n classNames={['dx-container grid-rows-[1fr_min-content_min-content]', classNames]}\n >\n <ScrollArea.Root classNames='col-span-2' orientation='vertical'>\n <ScrollArea.Viewport ref={threadScrollRef}>\n <div role='none' className={mx(threadLayout, 'place-self-end')}>\n {thread.messages\n .map((message) => message.target)\n .filter(isNonNullable)\n .map((message) => (\n <MessagePanel key={message.id} message={message} members={members} />\n ))}\n </div>\n </ScrollArea.Viewport>\n </ScrollArea.Root>\n\n <MessageTextbox extensions={extensions} autoFocus={autoFocus} onSend={handleCreate} {...textboxMetadata} />\n <ThreadComponent.Status activity={activity}>{t('activity message')}</ThreadComponent.Status>\n </ThreadComponent.Root>\n );\n};\n\nexport const ChatHeading = ({ attendableId }: { attendableId?: string }) => {\n const { t } = useTranslation(meta.id);\n return (\n <div role='none' className='flex items-center'>\n <StackItem.SigilButton attendableId={attendableId}>\n <Icon icon='ph--chat--regular' size={5} />\n </StackItem.SigilButton>\n <StackItem.HeadingLabel attendableId={attendableId}>{t('chat heading')}</StackItem.HeadingLabel>\n </div>\n );\n};\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport { ChatContainer } from './ChatContainer';\n\nexport { ChatContainer };\nexport default ChatContainer;\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": ["React", "useLayoutEffect", "useMemo", "useRef", "useState", "Obj", "Ref", "useMembers", "useIdentity", "Icon", "ScrollArea", "useThemeContext", "useTranslation", "StackItem", "MessageTextbox", "Thread", "ThreadComponent", "threadLayout", "Message", "createBasicExtensions", "createThemeExtensions", "listener", "mx", "isNonNullable", "ChatContainer", "classNames", "space", "thread", "context", "autoFocusTextbox", "current", "t", "useTranslation", "meta", "id", "themeMode", "useThemeContext", "Obj", "getDXN", "toString", "identity", "useIdentity", "members", "useMembers", "activity", "useStatus", "autoFocus", "setAutoFocus", "useState", "threadScrollRef", "useRef", "_count", "_setCount", "rerenderEditor", "count", "textboxMetadata", "getMessageMetadata", "messageRef", "extensions", "useMemo", "createBasicExtensions", "placeholder", "createThemeExtensions", "listener", "onChange", "text", "command", "scrollToEnd", "behavior", "setTimeout", "scrollIntoView", "block", "useLayoutEffect", "handleCreate", "length", "change", "messages", "push", "Ref", "make", "Message", "created", "Date", "toISOString", "sender", "identityDid", "did", "blocks", "_tag", "properties", "undefined", "ThreadComponent", "Root", "ScrollArea", "orientation", "Viewport", "ref", "div", "role", "className", "mx", "threadLayout", "map", "message", "target", "filter", "isNonNullable", "MessagePanel", "key", "MessageTextbox", "onSend", "Status", "ChatContainer"]
|
|
7
|
+
}
|
|
@@ -1,17 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
|
-
ThreadCapabilities,
|
|
3
2
|
ThreadOperation
|
|
4
|
-
} from "./chunk-
|
|
5
|
-
import "./chunk-J5LGTIGS.mjs";
|
|
6
|
-
|
|
7
|
-
// src/capabilities/markdown/markdown.ts
|
|
8
|
-
import { EditorView as EditorView2 } from "@codemirror/view";
|
|
9
|
-
import * as Effect from "effect/Effect";
|
|
10
|
-
import { Capability, Common } from "@dxos/app-framework";
|
|
11
|
-
import { Obj as Obj2 } from "@dxos/echo";
|
|
12
|
-
import { ATTENDABLE_PATH_SEPARATOR, DeckOperation } from "@dxos/plugin-deck/types";
|
|
13
|
-
import { MarkdownCapabilities } from "@dxos/plugin-markdown";
|
|
14
|
-
import { commentClickedEffect, commentsState, overlap } from "@dxos/ui-editor";
|
|
3
|
+
} from "./chunk-FGEVENLN.mjs";
|
|
15
4
|
|
|
16
5
|
// src/extensions/threads.ts
|
|
17
6
|
import { EditorView } from "@codemirror/view";
|
|
@@ -140,71 +129,7 @@ var threads = (store, doc, invokePromise) => {
|
|
|
140
129
|
];
|
|
141
130
|
};
|
|
142
131
|
|
|
143
|
-
// src/capabilities/markdown/markdown.ts
|
|
144
|
-
var markdown_default = Capability.makeModule(Effect.fnUntraced(function* () {
|
|
145
|
-
const capabilities = yield* Capability.Service;
|
|
146
|
-
return Capability.contributes(MarkdownCapabilities.Extensions, [
|
|
147
|
-
({ document: doc }) => {
|
|
148
|
-
const { invokePromise } = capabilities.get(Common.Capability.OperationInvoker);
|
|
149
|
-
const registry = capabilities.get(Common.Capability.AtomRegistry);
|
|
150
|
-
const stateAtom = capabilities.get(ThreadCapabilities.State);
|
|
151
|
-
return threads({
|
|
152
|
-
registry,
|
|
153
|
-
stateAtom
|
|
154
|
-
}, doc, invokePromise);
|
|
155
|
-
},
|
|
156
|
-
({ document: doc }) => {
|
|
157
|
-
if (!doc) return [];
|
|
158
|
-
const registry = capabilities.get(Common.Capability.AtomRegistry);
|
|
159
|
-
const stateAtom = capabilities.get(ThreadCapabilities.State);
|
|
160
|
-
return EditorView2.updateListener.of((update) => {
|
|
161
|
-
if (update.docChanged || update.selectionSet) {
|
|
162
|
-
const objectId = Obj2.getDXN(doc).toString();
|
|
163
|
-
const overlaps = selectionOverlapsComment(update.state);
|
|
164
|
-
const current = registry.get(stateAtom);
|
|
165
|
-
registry.set(stateAtom, {
|
|
166
|
-
...current,
|
|
167
|
-
toolbar: {
|
|
168
|
-
...current.toolbar,
|
|
169
|
-
[objectId]: overlaps
|
|
170
|
-
}
|
|
171
|
-
});
|
|
172
|
-
}
|
|
173
|
-
});
|
|
174
|
-
},
|
|
175
|
-
({ document: doc }) => {
|
|
176
|
-
if (!doc) return [];
|
|
177
|
-
const { invokePromise } = capabilities.get(Common.Capability.OperationInvoker);
|
|
178
|
-
const id = Obj2.getDXN(doc).toString();
|
|
179
|
-
return EditorView2.updateListener.of((update) => {
|
|
180
|
-
update.transactions.forEach((transaction) => {
|
|
181
|
-
transaction.effects.forEach(async (effect) => {
|
|
182
|
-
if (effect.is(commentClickedEffect)) {
|
|
183
|
-
void invokePromise(DeckOperation.ChangeCompanion, {
|
|
184
|
-
primary: id,
|
|
185
|
-
companion: `${id}${ATTENDABLE_PATH_SEPARATOR}comments`
|
|
186
|
-
});
|
|
187
|
-
}
|
|
188
|
-
});
|
|
189
|
-
});
|
|
190
|
-
});
|
|
191
|
-
}
|
|
192
|
-
]);
|
|
193
|
-
}));
|
|
194
|
-
var selectionOverlapsComment = (state) => {
|
|
195
|
-
const commentState = state.field(commentsState, false);
|
|
196
|
-
if (commentState === void 0) {
|
|
197
|
-
return false;
|
|
198
|
-
}
|
|
199
|
-
const { selection } = state;
|
|
200
|
-
for (const range of selection.ranges) {
|
|
201
|
-
if (commentState.comments.some(({ range: commentRange }) => overlap(commentRange, range))) {
|
|
202
|
-
return true;
|
|
203
|
-
}
|
|
204
|
-
}
|
|
205
|
-
return false;
|
|
206
|
-
};
|
|
207
132
|
export {
|
|
208
|
-
|
|
133
|
+
threads
|
|
209
134
|
};
|
|
210
|
-
//# sourceMappingURL=
|
|
135
|
+
//# sourceMappingURL=chunk-PV5GYINX.mjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/extensions/threads.ts"],
|
|
4
|
+
"sourcesContent": ["//\n// Copyright 2024 DXOS.org\n//\n\nimport { type Extension } from '@codemirror/state';\nimport { EditorView } from '@codemirror/view';\nimport { type Atom, type Registry } from '@effect-atom/atom-react';\n\nimport { Filter, Obj, Query, Relation } from '@dxos/echo';\nimport { createDocAccessor, getTextInRange } from '@dxos/echo-db';\nimport { type OperationInvoker } from '@dxos/operation';\nimport { type Markdown } from '@dxos/plugin-markdown/types';\nimport { AnchoredTo, Thread } from '@dxos/types';\nimport { comments, createExternalCommentSync } from '@dxos/ui-editor';\n\nimport { ThreadOperation, type ThreadState } from '../types';\n\n// TODO(burdon): Factor out.\nconst getName = (doc: Markdown.Document, anchor: string): string | undefined => {\n if (doc.content) {\n const [start, end] = anchor.split(':');\n return getTextInRange(createDocAccessor(doc.content.target!, ['content']), start, end);\n }\n};\n\nexport type ThreadStore = {\n registry: Registry.Registry;\n stateAtom: Atom.Writable<ThreadState>;\n};\n\n/**\n * Construct plugins.\n */\nexport const threads = (\n store: ThreadStore,\n doc?: Markdown.Document,\n invokePromise?: OperationInvoker.OperationInvoker['invokePromise'],\n): Extension => {\n const db = doc && Obj.getDatabase(doc);\n if (!doc || !db || !invokePromise) {\n // Include no-op comments extension here to ensure that the facets are always present when they are expected.\n // TODO(wittjosiah): The Editor should only look for these facets when comments are available.\n return [comments()];\n }\n\n const { registry, stateAtom } = store;\n const objectId = Obj.getDXN(doc).toString();\n const query = db.query(Query.select(Filter.id(doc.id)).targetOf(AnchoredTo.AnchoredTo));\n\n // Get current anchors by combining query results with store drafts.\n const getAnchors = () =>\n query.results\n .filter((anchor) => {\n const thread = Relation.getSource(anchor);\n return Obj.instanceOf(Thread.Thread, thread) && thread.status !== 'resolved';\n })\n .concat(registry.get(stateAtom).drafts[objectId] ?? []);\n\n return [\n EditorView.domEventHandlers({\n destroy: () => {\n // Note: cleanup functions for subscriptions are handled by createExternalCommentSync.\n },\n }),\n\n EditorView.updateListener.of((update) => {\n if (update.docChanged) {\n getAnchors().forEach((anchor) => {\n if (anchor.anchor) {\n // Only update if the name has changed, otherwise this will cause an infinite loop.\n // Skip if the name is empty; this means comment text was deleted, but thread name should remain.\n const name = getName(doc, anchor.anchor);\n const thread = Relation.getSource(anchor) as Thread.Thread;\n if (name && name !== thread.name) {\n Obj.change(thread, (t) => {\n t.name = name;\n });\n }\n }\n });\n }\n }),\n\n createExternalCommentSync(\n objectId,\n (sink) => {\n // Subscribe to both query changes and store state changes.\n const unsubQuery = query.subscribe(sink);\n const unsubStore = registry.subscribe(stateAtom, sink);\n return () => {\n unsubQuery();\n unsubStore();\n };\n },\n () =>\n getAnchors()\n .filter((anchor) => anchor.anchor)\n .map((anchor) => ({\n id: Obj.getDXN(Relation.getSource(anchor)).toString(),\n cursor: anchor.anchor,\n })),\n ),\n\n comments({\n id: objectId,\n onCreate: ({ cursor }) => {\n const name = getName(doc, cursor);\n void invokePromise(ThreadOperation.Create, {\n anchor: cursor,\n name,\n subject: doc,\n });\n },\n onDelete: ({ id }) => {\n const drafts = registry.get(stateAtom).drafts[objectId];\n if (drafts) {\n const index = drafts.findIndex((draft) => Relation.getDXN(draft).toString() === id);\n if (index !== -1) {\n const current = registry.get(stateAtom);\n registry.set(stateAtom, {\n ...current,\n drafts: {\n ...current.drafts,\n [objectId]: current.drafts[objectId]?.filter((_, i) => i !== index),\n },\n });\n }\n }\n\n const thread = query.results.find((object) => Relation.getSource(object).id === id);\n if (thread) {\n Relation.change(thread, (t) => {\n t.anchor = undefined;\n });\n }\n },\n onUpdate: ({ id, cursor }) => {\n const draft = registry.get(stateAtom).drafts[objectId]?.find((d) => Relation.getDXN(d).toString() === id);\n if (draft) {\n const thread = Relation.getSource(draft) as Thread.Thread;\n Obj.change(thread, (t) => {\n t.name = getName(doc, cursor);\n });\n Relation.change(draft, (d) => {\n d.anchor = cursor;\n });\n }\n\n const relation = query.results.find((object) => Relation.getSource(object).id === id);\n if (relation) {\n const thread = Relation.getSource(relation);\n if (Obj.instanceOf(Thread.Thread, thread)) {\n Obj.change(thread, (t) => {\n t.name = getName(doc, cursor);\n });\n Relation.change(relation, (r) => {\n r.anchor = cursor;\n });\n }\n }\n },\n onSelect: ({ selection }) => {\n const current = selection.current ?? selection.closest;\n if (current) {\n void invokePromise(ThreadOperation.Select, { current });\n }\n },\n }),\n ];\n};\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": ["EditorView", "Filter", "Obj", "Query", "Relation", "createDocAccessor", "getTextInRange", "AnchoredTo", "Thread", "comments", "createExternalCommentSync", "getName", "doc", "anchor", "content", "start", "end", "split", "getTextInRange", "createDocAccessor", "target", "threads", "store", "invokePromise", "db", "Obj", "getDatabase", "comments", "registry", "stateAtom", "objectId", "getDXN", "toString", "query", "Query", "select", "Filter", "id", "targetOf", "AnchoredTo", "getAnchors", "results", "filter", "thread", "Relation", "getSource", "instanceOf", "Thread", "status", "concat", "get", "drafts", "EditorView", "domEventHandlers", "destroy", "updateListener", "of", "update", "docChanged", "forEach", "name", "change", "t", "createExternalCommentSync", "sink", "unsubQuery", "subscribe", "unsubStore", "map", "cursor", "onCreate", "ThreadOperation", "Create", "subject", "onDelete", "index", "findIndex", "draft", "current", "set", "_", "i", "find", "object", "undefined", "onUpdate", "d", "relation", "r", "onSelect", "selection", "closest", "Select"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
// src/meta.ts
|
|
2
|
+
import { trim } from "@dxos/util";
|
|
3
|
+
var meta = {
|
|
4
|
+
id: "org.dxos.plugin.thread",
|
|
5
|
+
name: "Chat",
|
|
6
|
+
description: trim`
|
|
7
|
+
Multi-modal communication platform supporting text chat, voice, and video conferencing.
|
|
8
|
+
Create threaded conversations and add contextual comments directly on any workspace object.
|
|
9
|
+
`,
|
|
10
|
+
icon: "ph--video-conference--regular",
|
|
11
|
+
iconHue: "rose",
|
|
12
|
+
source: "https://github.com/dxos/dxos/tree/main/packages/plugins/plugin-thread"
|
|
13
|
+
};
|
|
14
|
+
var THREAD_ITEM = `${meta.id}.item`;
|
|
15
|
+
|
|
16
|
+
export {
|
|
17
|
+
meta,
|
|
18
|
+
THREAD_ITEM
|
|
19
|
+
};
|
|
20
|
+
//# sourceMappingURL=chunk-QVJO3VJ4.mjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/meta.ts"],
|
|
4
|
+
"sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nimport { type Plugin } from '@dxos/app-framework';\nimport { trim } from '@dxos/util';\n\n// TODO(wittjosiah): Needs screenshots.\nexport const meta: Plugin.Meta = {\n id: 'org.dxos.plugin.thread',\n name: 'Chat',\n description: trim`\n Multi-modal communication platform supporting text chat, voice, and video conferencing.\n Create threaded conversations and add contextual comments directly on any workspace object.\n `,\n icon: 'ph--video-conference--regular',\n iconHue: 'rose',\n source: 'https://github.com/dxos/dxos/tree/main/packages/plugins/plugin-thread',\n};\n\nexport const THREAD_ITEM = `${meta.id}.item`;\n"],
|
|
5
|
+
"mappings": ";AAKA,SAASA,YAAY;AAGd,IAAMC,OAAoB;EAC/BC,IAAI;EACJC,MAAM;EACNC,aAAaC;;;;EAIbC,MAAM;EACNC,SAAS;EACTC,QAAQ;AACV;AAEO,IAAMC,cAAc,GAAGR,KAAKC,EAAE;",
|
|
6
|
+
"names": ["trim", "meta", "id", "name", "description", "trim", "icon", "iconHue", "source", "THREAD_ITEM"]
|
|
7
|
+
}
|