@dxos/plugin-thread 0.8.3-staging.0fa589b → 0.8.4-main.03d5cd7b56
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/neutral/CallDebugPanel-CXWTCS7A.mjs +172 -0
- package/dist/lib/neutral/CallDebugPanel-CXWTCS7A.mjs.map +7 -0
- package/dist/lib/neutral/CallSidebar-YVXU6BOQ.mjs +25 -0
- package/dist/lib/neutral/CallSidebar-YVXU6BOQ.mjs.map +7 -0
- package/dist/lib/neutral/ChannelChat-EKQYQQXZ.mjs +10 -0
- package/dist/lib/neutral/ChannelContainer-XXMX5X43.mjs +9 -0
- package/dist/lib/neutral/ThreadCompanion-YGA2ORTJ.mjs +208 -0
- package/dist/lib/neutral/ThreadCompanion-YGA2ORTJ.mjs.map +7 -0
- package/dist/lib/neutral/ThreadContainer-XYEPEOSD.mjs +61 -0
- package/dist/lib/neutral/ThreadContainer-XYEPEOSD.mjs.map +7 -0
- package/dist/lib/neutral/ThreadPlugin.mjs +89 -0
- package/dist/lib/neutral/ThreadPlugin.mjs.map +7 -0
- package/dist/lib/neutral/ThreadPlugin.node.mjs +40 -0
- package/dist/lib/neutral/ThreadPlugin.node.mjs.map +7 -0
- package/dist/lib/neutral/ThreadSettings-5Z5XIHG3.mjs +15 -0
- package/dist/lib/neutral/ThreadSettings-5Z5XIHG3.mjs.map +7 -0
- package/dist/lib/neutral/add-message-WX3LCGZC.mjs +87 -0
- package/dist/lib/neutral/add-message-WX3LCGZC.mjs.map +7 -0
- package/dist/lib/neutral/app-graph-builder-BBHAUCMZ.mjs +173 -0
- package/dist/lib/neutral/app-graph-builder-BBHAUCMZ.mjs.map +7 -0
- package/dist/lib/neutral/append-channel-message-J7N6UEBL.mjs +40 -0
- package/dist/lib/neutral/append-channel-message-J7N6UEBL.mjs.map +7 -0
- package/dist/lib/neutral/blueprint-definition-S3EBOH4R.mjs +15 -0
- package/dist/lib/neutral/blueprint-definition-S3EBOH4R.mjs.map +7 -0
- package/dist/lib/neutral/blueprints/index.mjs +8 -0
- package/dist/lib/neutral/call-manager-JFA4DLWR.mjs +24 -0
- package/dist/lib/neutral/call-manager-JFA4DLWR.mjs.map +7 -0
- package/dist/lib/neutral/capabilities/index.mjs +29 -0
- package/dist/lib/neutral/capabilities/index.mjs.map +7 -0
- package/dist/lib/neutral/chunk-44D7D4ZX.mjs +20 -0
- package/dist/lib/neutral/chunk-44D7D4ZX.mjs.map +7 -0
- package/dist/lib/neutral/chunk-4SVMVL4L.mjs +164 -0
- package/dist/lib/neutral/chunk-4SVMVL4L.mjs.map +7 -0
- package/dist/lib/neutral/chunk-5T5LPLBN.mjs +36 -0
- package/dist/lib/neutral/chunk-5T5LPLBN.mjs.map +7 -0
- package/dist/lib/neutral/chunk-BFHJWC3L.mjs +276 -0
- package/dist/lib/neutral/chunk-BFHJWC3L.mjs.map +7 -0
- package/dist/lib/neutral/chunk-CROE4U4O.mjs +100 -0
- package/dist/lib/neutral/chunk-CROE4U4O.mjs.map +7 -0
- package/dist/lib/neutral/chunk-EACFR36K.mjs +55 -0
- package/dist/lib/neutral/chunk-EACFR36K.mjs.map +7 -0
- package/dist/lib/neutral/chunk-FWSMZWBO.mjs +178 -0
- package/dist/lib/neutral/chunk-FWSMZWBO.mjs.map +7 -0
- package/dist/lib/neutral/chunk-J5LGTIGS.mjs +10 -0
- package/dist/lib/{node-esm/chunk-PGRP3O4O.mjs → neutral/chunk-JLY4NVTA.mjs} +14 -9
- package/dist/lib/neutral/chunk-JLY4NVTA.mjs.map +7 -0
- package/dist/lib/neutral/chunk-NGZVEPJV.mjs +8 -0
- package/dist/lib/neutral/chunk-NGZVEPJV.mjs.map +7 -0
- package/dist/lib/{node-esm/chunk-WXNPD542.mjs → neutral/chunk-PZ7WTAA2.mjs} +317 -505
- package/dist/lib/neutral/chunk-PZ7WTAA2.mjs.map +7 -0
- package/dist/lib/neutral/chunk-UQFTL6TV.mjs +202 -0
- package/dist/lib/neutral/chunk-UQFTL6TV.mjs.map +7 -0
- package/dist/lib/neutral/components/index.mjs +1230 -0
- package/dist/lib/neutral/components/index.mjs.map +7 -0
- package/dist/lib/neutral/containers/index.mjs +19 -0
- package/dist/lib/neutral/containers/index.mjs.map +7 -0
- package/dist/lib/neutral/create-DGJZRLG7.mjs +52 -0
- package/dist/lib/neutral/create-DGJZRLG7.mjs.map +7 -0
- package/dist/lib/neutral/create-channel-RP646IAE.mjs +19 -0
- package/dist/lib/neutral/create-channel-RP646IAE.mjs.map +7 -0
- package/dist/lib/neutral/create-object-HIEWSBZB.mjs +27 -0
- package/dist/lib/neutral/create-object-HIEWSBZB.mjs.map +7 -0
- package/dist/lib/neutral/create-proposals-CPLU4YC6.mjs +56 -0
- package/dist/lib/neutral/create-proposals-CPLU4YC6.mjs.map +7 -0
- package/dist/lib/neutral/delete-MKKME2FE.mjs +57 -0
- package/dist/lib/neutral/delete-MKKME2FE.mjs.map +7 -0
- package/dist/lib/neutral/delete-message-UBZH3SZA.mjs +54 -0
- package/dist/lib/neutral/delete-message-UBZH3SZA.mjs.map +7 -0
- package/dist/lib/neutral/hooks/index.mjs +19 -0
- package/dist/lib/neutral/index.mjs +68 -0
- package/dist/lib/neutral/markdown-XQLZYS2O.mjs +83 -0
- package/dist/lib/neutral/markdown-XQLZYS2O.mjs.map +7 -0
- package/dist/lib/neutral/meta.json +1 -0
- package/dist/lib/neutral/meta.mjs +10 -0
- package/dist/lib/neutral/meta.mjs.map +7 -0
- package/dist/lib/neutral/on-create-space-MRLZYOJR.mjs +23 -0
- package/dist/lib/neutral/on-create-space-MRLZYOJR.mjs.map +7 -0
- package/dist/lib/neutral/operation-handler-RU6K2S4L.mjs +13 -0
- package/dist/lib/neutral/operation-handler-RU6K2S4L.mjs.map +7 -0
- package/dist/lib/neutral/operations/index.mjs +8 -0
- package/dist/lib/neutral/operations/index.mjs.map +7 -0
- package/dist/lib/neutral/plugin.mjs +16 -0
- package/dist/lib/neutral/plugin.mjs.map +7 -0
- package/dist/lib/neutral/react-root-VMMNUSSL.mjs +18 -0
- package/dist/lib/neutral/react-root-VMMNUSSL.mjs.map +7 -0
- package/dist/lib/neutral/react-surface-WPSVOTVG.mjs +94 -0
- package/dist/lib/neutral/react-surface-WPSVOTVG.mjs.map +7 -0
- package/dist/lib/neutral/restore-SUXNC6GE.mjs +32 -0
- package/dist/lib/neutral/restore-SUXNC6GE.mjs.map +7 -0
- package/dist/lib/neutral/restore-message-2TPJB32Y.mjs +33 -0
- package/dist/lib/neutral/restore-message-2TPJB32Y.mjs.map +7 -0
- package/dist/lib/neutral/select-H5RMZH43.mjs +24 -0
- package/dist/lib/neutral/select-H5RMZH43.mjs.map +7 -0
- package/dist/lib/neutral/settings-HK4EB6TF.mjs +30 -0
- package/dist/lib/neutral/settings-HK4EB6TF.mjs.map +7 -0
- package/dist/lib/neutral/state-UU7VEAKV.mjs +22 -0
- package/dist/lib/neutral/state-UU7VEAKV.mjs.map +7 -0
- package/dist/lib/neutral/testing/index.mjs +58 -0
- package/dist/lib/neutral/testing/index.mjs.map +7 -0
- package/dist/lib/neutral/toggle-resolved-HKZ4IRHG.mjs +36 -0
- package/dist/lib/neutral/toggle-resolved-HKZ4IRHG.mjs.map +7 -0
- package/dist/lib/neutral/translations.mjs +90 -0
- package/dist/lib/neutral/translations.mjs.map +7 -0
- package/dist/lib/neutral/types/index.mjs +12 -0
- package/dist/lib/neutral/types/index.mjs.map +7 -0
- package/dist/lib/neutral/undo-mappings-HOKL2L3M.mjs +54 -0
- package/dist/lib/neutral/undo-mappings-HOKL2L3M.mjs.map +7 -0
- package/dist/types/src/ThreadPlugin.d.ts +3 -1
- package/dist/types/src/ThreadPlugin.d.ts.map +1 -1
- package/dist/types/src/ThreadPlugin.node.d.ts +4 -0
- package/dist/types/src/ThreadPlugin.node.d.ts.map +1 -0
- package/dist/types/src/ThreadPlugin.test.d.ts +2 -0
- package/dist/types/src/ThreadPlugin.test.d.ts.map +1 -0
- package/dist/types/src/blueprints/index.d.ts +2 -0
- package/dist/types/src/blueprints/index.d.ts.map +1 -0
- package/dist/types/src/blueprints/thread-blueprint.d.ts +4 -0
- package/dist/types/src/blueprints/thread-blueprint.d.ts.map +1 -0
- package/dist/types/src/calls/call-manager.d.ts +40 -30
- package/dist/types/src/calls/call-manager.d.ts.map +1 -1
- package/dist/types/src/calls/call-swarm-synchronizer.d.ts +2 -2
- package/dist/types/src/calls/call-swarm-synchronizer.d.ts.map +1 -1
- package/dist/types/src/calls/media-manager.d.ts +2 -2
- package/dist/types/src/calls/media-manager.d.ts.map +1 -1
- package/dist/types/src/calls/speaking-monitor.d.ts +0 -3
- package/dist/types/src/calls/speaking-monitor.d.ts.map +1 -1
- package/dist/types/src/calls/types.d.ts +1 -1
- package/dist/types/src/calls/types.d.ts.map +1 -1
- package/dist/types/src/calls/util/audio.d.ts.map +1 -1
- package/dist/types/src/calls/util/calls-service.d.ts +11 -6
- package/dist/types/src/calls/util/calls-service.d.ts.map +1 -1
- package/dist/types/src/calls/util/history-cache.d.ts.map +1 -1
- package/dist/types/src/calls/util/media.d.ts.map +1 -1
- package/dist/types/src/calls/util/stub-media-streams.d.ts.map +1 -1
- package/dist/types/src/calls/util/task-scheduling.d.ts +2 -2
- package/dist/types/src/calls/util/task-scheduling.d.ts.map +1 -1
- package/dist/types/src/calls-service.stories.d.ts +23 -0
- package/dist/types/src/calls-service.stories.d.ts.map +1 -0
- package/dist/types/src/capabilities/app-graph-builder.d.ts +4 -2
- package/dist/types/src/capabilities/app-graph-builder.d.ts.map +1 -1
- package/dist/types/src/capabilities/blueprint-definition.d.ts +6 -0
- package/dist/types/src/capabilities/blueprint-definition.d.ts.map +1 -0
- package/dist/types/src/capabilities/call-manager.d.ts +3 -2
- package/dist/types/src/capabilities/call-manager.d.ts.map +1 -1
- package/dist/types/src/capabilities/create-object.d.ts +11 -0
- package/dist/types/src/capabilities/create-object.d.ts.map +1 -0
- package/dist/types/src/capabilities/index.d.ts +19 -13
- package/dist/types/src/capabilities/index.d.ts.map +1 -1
- package/dist/types/src/capabilities/markdown.d.ts +3 -2
- package/dist/types/src/capabilities/markdown.d.ts.map +1 -1
- package/dist/types/src/capabilities/operation-handler.d.ts +6 -0
- package/dist/types/src/capabilities/operation-handler.d.ts.map +1 -0
- package/dist/types/src/capabilities/react-root.d.ts +4 -2
- package/dist/types/src/capabilities/react-root.d.ts.map +1 -1
- package/dist/types/src/capabilities/react-surface.d.ts +3 -2
- package/dist/types/src/capabilities/react-surface.d.ts.map +1 -1
- package/dist/types/src/capabilities/settings.d.ts +5 -2
- package/dist/types/src/capabilities/settings.d.ts.map +1 -1
- package/dist/types/src/capabilities/state.d.ts +5 -5
- package/dist/types/src/capabilities/state.d.ts.map +1 -1
- package/dist/types/src/capabilities/undo-mappings.d.ts +5 -0
- package/dist/types/src/capabilities/undo-mappings.d.ts.map +1 -0
- package/dist/types/src/components/Call/Call.d.ts +32 -4
- package/dist/types/src/components/Call/Call.d.ts.map +1 -1
- package/dist/types/src/components/Call/Toolbar.d.ts +6 -6
- package/dist/types/src/components/Call/Toolbar.d.ts.map +1 -1
- package/dist/types/src/components/Chat/Chat.d.ts +51 -0
- package/dist/types/src/components/Chat/Chat.d.ts.map +1 -0
- package/dist/types/src/components/Chat/index.d.ts +2 -0
- package/dist/types/src/components/Chat/index.d.ts.map +1 -0
- 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/CommentsPanel/CommentsPanel.stories.d.ts +160 -0
- package/dist/types/src/components/CommentsPanel/CommentsPanel.stories.d.ts.map +1 -0
- package/dist/types/src/components/CommentsPanel/CommentsThread.d.ts +14 -0
- 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/Lobby/Lobby.d.ts +24 -3
- package/dist/types/src/components/Lobby/Lobby.d.ts.map +1 -1
- package/dist/types/src/components/Media/VideoObject.d.ts +3 -3
- package/dist/types/src/components/Media/VideoObject.d.ts.map +1 -1
- package/dist/types/src/components/Media/VideoObject.stories.d.ts +18 -4
- package/dist/types/src/components/Media/VideoObject.stories.d.ts.map +1 -1
- package/dist/types/src/components/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/Participant/Participant.d.ts.map +1 -1
- package/dist/types/src/components/Participant/ParticipantGrid.d.ts.map +1 -1
- package/dist/types/src/components/ResponsiveGrid/ResponsiveGrid.d.ts.map +1 -1
- package/dist/types/src/components/ResponsiveGrid/ResponsiveGrid.stories.d.ts +160 -5
- 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/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/ResponsivePanel.stories.d.ts +164 -0
- 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/ThreadSettings/ThreadSettings.d.ts +6 -0
- package/dist/types/src/components/ThreadSettings/ThreadSettings.d.ts.map +1 -0
- package/dist/types/src/components/ThreadSettings/ThreadSettings.stories.d.ts +161 -0
- package/dist/types/src/components/ThreadSettings/ThreadSettings.stories.d.ts.map +1 -0
- package/dist/types/src/components/ThreadSettings/index.d.ts +2 -0
- package/dist/types/src/components/ThreadSettings/index.d.ts.map +1 -0
- package/dist/types/src/components/index.d.ts +5 -9
- package/dist/types/src/components/index.d.ts.map +1 -1
- package/dist/types/src/containers/CallDebugPanel/CallDebugPanel.d.ts +15 -0
- package/dist/types/src/containers/CallDebugPanel/CallDebugPanel.d.ts.map +1 -0
- package/dist/types/src/containers/CallDebugPanel/index.d.ts +2 -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 +2 -0
- package/dist/types/src/containers/CallSidebar/index.d.ts.map +1 -0
- package/dist/types/src/containers/ChannelChat/ChannelChat.d.ts +20 -0
- package/dist/types/src/containers/ChannelChat/ChannelChat.d.ts.map +1 -0
- package/dist/types/src/containers/ChannelChat/index.d.ts +4 -0
- package/dist/types/src/containers/ChannelChat/index.d.ts.map +1 -0
- package/dist/types/src/containers/ChannelContainer/ChannelContainer.d.ts +12 -0
- package/dist/types/src/containers/ChannelContainer/ChannelContainer.d.ts.map +1 -0
- package/dist/types/src/containers/ChannelContainer/ChannelContainer.stories.d.ts +162 -0
- package/dist/types/src/containers/ChannelContainer/ChannelContainer.stories.d.ts.map +1 -0
- package/dist/types/src/containers/ChannelContainer/index.d.ts +2 -0
- package/dist/types/src/containers/ChannelContainer/index.d.ts.map +1 -0
- package/dist/types/src/containers/ThreadCompanion/ThreadCompanion.d.ts +8 -0
- package/dist/types/src/containers/ThreadCompanion/ThreadCompanion.d.ts.map +1 -0
- package/dist/types/src/containers/ThreadCompanion/index.d.ts +2 -0
- package/dist/types/src/containers/ThreadCompanion/index.d.ts.map +1 -0
- package/dist/types/src/containers/ThreadContainer/ThreadContainer.d.ts +20 -0
- package/dist/types/src/containers/ThreadContainer/ThreadContainer.d.ts.map +1 -0
- package/dist/types/src/containers/ThreadContainer/ThreadContainer.stories.d.ts +162 -0
- package/dist/types/src/containers/ThreadContainer/ThreadContainer.stories.d.ts.map +1 -0
- package/dist/types/src/containers/ThreadContainer/index.d.ts +4 -0
- package/dist/types/src/containers/ThreadContainer/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/extensions/threads.d.ts +9 -4
- package/dist/types/src/extensions/threads.d.ts.map +1 -1
- package/dist/types/src/hooks/analytics.d.ts +2 -3
- package/dist/types/src/hooks/analytics.d.ts.map +1 -1
- package/dist/types/src/hooks/index.d.ts +3 -0
- package/dist/types/src/hooks/index.d.ts.map +1 -1
- package/dist/types/src/hooks/useBlackCanvasStreamTrack.d.ts +2 -0
- package/dist/types/src/hooks/useBlackCanvasStreamTrack.d.ts.map +1 -0
- package/dist/types/src/hooks/useInaudibleAudioStreamTrack.d.ts +2 -0
- package/dist/types/src/hooks/useInaudibleAudioStreamTrack.d.ts.map +1 -0
- package/dist/types/src/hooks/useStatus.d.ts.map +1 -1
- package/dist/types/src/hooks/useVideoStreamTrack.d.ts +3 -0
- package/dist/types/src/hooks/useVideoStreamTrack.d.ts.map +1 -0
- package/dist/types/src/index.d.ts +2 -2
- package/dist/types/src/index.d.ts.map +1 -1
- package/dist/types/src/meta.d.ts +3 -4
- package/dist/types/src/meta.d.ts.map +1 -1
- package/dist/types/src/operations/add-message.d.ts +5 -0
- package/dist/types/src/operations/add-message.d.ts.map +1 -0
- package/dist/types/src/operations/append-channel-message.d.ts +5 -0
- package/dist/types/src/operations/append-channel-message.d.ts.map +1 -0
- package/dist/types/src/operations/create-channel.d.ts +5 -0
- package/dist/types/src/operations/create-channel.d.ts.map +1 -0
- package/dist/types/src/operations/create-proposals.d.ts +5 -0
- package/dist/types/src/operations/create-proposals.d.ts.map +1 -0
- package/dist/types/src/operations/create.d.ts +5 -0
- package/dist/types/src/operations/create.d.ts.map +1 -0
- package/dist/types/src/operations/delete-message.d.ts +5 -0
- package/dist/types/src/operations/delete-message.d.ts.map +1 -0
- package/dist/types/src/operations/delete.d.ts +5 -0
- package/dist/types/src/operations/delete.d.ts.map +1 -0
- package/dist/types/src/operations/index.d.ts +3 -0
- package/dist/types/src/operations/index.d.ts.map +1 -0
- package/dist/types/src/operations/on-create-space.d.ts +5 -0
- package/dist/types/src/operations/on-create-space.d.ts.map +1 -0
- package/dist/types/src/operations/restore-message.d.ts +5 -0
- package/dist/types/src/operations/restore-message.d.ts.map +1 -0
- package/dist/types/src/operations/restore.d.ts +5 -0
- package/dist/types/src/operations/restore.d.ts.map +1 -0
- package/dist/types/src/operations/select.d.ts +5 -0
- package/dist/types/src/operations/select.d.ts.map +1 -0
- package/dist/types/src/operations/toggle-resolved.d.ts +5 -0
- package/dist/types/src/operations/toggle-resolved.d.ts.map +1 -0
- package/dist/types/src/plugin.d.ts +4 -0
- package/dist/types/src/plugin.d.ts.map +1 -0
- package/dist/types/src/testing/data.d.ts +5 -0
- package/dist/types/src/testing/data.d.ts.map +1 -0
- package/dist/types/src/testing/index.d.ts +1 -1
- package/dist/types/src/testing/index.d.ts.map +1 -1
- package/dist/types/src/translations.d.ts +144 -194
- package/dist/types/src/translations.d.ts.map +1 -1
- package/dist/types/src/types/Settings.d.ts +5 -0
- package/dist/types/src/types/Settings.d.ts.map +1 -0
- package/dist/types/src/types/ThreadCapabilities.d.ts +26 -0
- package/dist/types/src/types/ThreadCapabilities.d.ts.map +1 -0
- package/dist/types/src/types/ThreadOperation.d.ts +1995 -0
- package/dist/types/src/types/ThreadOperation.d.ts.map +1 -0
- package/dist/types/src/types/index.d.ts +3 -1
- package/dist/types/src/types/index.d.ts.map +1 -1
- package/dist/types/src/types/types.d.ts +3 -325
- package/dist/types/src/types/types.d.ts.map +1 -1
- package/dist/types/src/util.d.ts +21 -3
- package/dist/types/src/util.d.ts.map +1 -1
- package/dist/types/tsconfig.tsbuildinfo +1 -1
- package/package.json +150 -80
- package/src/ThreadPlugin.node.ts +39 -0
- package/src/ThreadPlugin.test.ts +37 -0
- package/src/ThreadPlugin.tsx +64 -147
- package/src/blueprints/index.ts +5 -0
- package/src/blueprints/thread-blueprint.ts +36 -0
- package/src/calls/call-manager.ts +78 -50
- package/src/calls/call-swarm-synchronizer.ts +3 -3
- package/src/calls/media-manager.ts +77 -41
- package/src/calls/types.ts +8 -4
- package/src/calls/util/calls-service.ts +74 -19
- package/src/calls/util/stub-media-streams.ts +65 -9
- package/src/calls/util/task-scheduling.ts +4 -4
- package/src/calls-service.stories.tsx +230 -0
- package/src/capabilities/app-graph-builder.ts +176 -161
- package/src/capabilities/blueprint-definition.ts +19 -0
- package/src/capabilities/call-manager.ts +18 -10
- package/src/capabilities/create-object.ts +29 -0
- package/src/capabilities/index.ts +17 -11
- package/src/capabilities/markdown.ts +54 -36
- package/src/capabilities/operation-handler.ts +16 -0
- package/src/capabilities/react-root.tsx +12 -9
- package/src/capabilities/react-surface.tsx +83 -74
- package/src/capabilities/settings.ts +26 -12
- package/src/capabilities/state.ts +14 -17
- package/src/capabilities/undo-mappings.ts +46 -0
- package/src/components/Call/Call.tsx +17 -12
- package/src/components/Call/Toolbar.tsx +63 -46
- package/src/components/Chat/Chat.tsx +258 -0
- package/src/components/Chat/index.ts +5 -0
- package/src/components/CommentsPanel/CommentsPanel.stories.tsx +95 -0
- package/src/components/CommentsPanel/CommentsPanel.tsx +71 -0
- package/src/components/CommentsPanel/CommentsThread.tsx +171 -0
- package/src/components/CommentsPanel/index.ts +6 -0
- package/src/components/Lobby/Lobby.tsx +21 -17
- package/src/components/Media/AudioStream.tsx +2 -2
- package/src/components/Media/VideoObject.stories.tsx +37 -30
- package/src/components/Media/VideoObject.tsx +1 -1
- package/src/components/MessagePanel/MessagePanel.tsx +221 -0
- package/src/components/MessagePanel/index.ts +5 -0
- package/src/components/Participant/Participant.tsx +35 -15
- package/src/components/Participant/ParticipantGrid.tsx +1 -1
- package/src/components/ResponsiveGrid/ResponsiveGrid.stories.tsx +51 -49
- package/src/components/ResponsiveGrid/ResponsiveGrid.tsx +6 -6
- package/src/components/ResponsiveGrid/ResponsiveGridItem.tsx +15 -12
- package/src/components/ResponsiveGrid/{ResponsiveContainer.stories.tsx → ResponsivePanel.stories.tsx} +12 -12
- package/src/components/ResponsiveGrid/{ResponsiveContainer.tsx → ResponsivePanel.tsx} +7 -9
- package/src/components/ResponsiveGrid/index.ts +1 -1
- package/src/components/ThreadSettings/ThreadSettings.stories.tsx +32 -0
- package/src/components/ThreadSettings/ThreadSettings.tsx +20 -0
- package/src/components/ThreadSettings/index.ts +5 -0
- package/src/components/index.ts +6 -12
- package/src/containers/CallDebugPanel/CallDebugPanel.tsx +173 -0
- package/src/containers/CallDebugPanel/index.ts +5 -0
- package/src/containers/CallSidebar/CallSidebar.tsx +18 -0
- package/src/containers/CallSidebar/index.ts +5 -0
- package/src/containers/ChannelChat/ChannelChat.tsx +75 -0
- package/src/containers/ChannelChat/index.ts +8 -0
- package/src/containers/ChannelContainer/ChannelContainer.stories.tsx +105 -0
- package/src/containers/ChannelContainer/ChannelContainer.tsx +223 -0
- package/src/containers/ChannelContainer/index.ts +5 -0
- package/src/containers/ThreadCompanion/ThreadCompanion.tsx +215 -0
- package/src/containers/ThreadCompanion/index.ts +5 -0
- package/src/containers/ThreadContainer/ThreadContainer.stories.tsx +86 -0
- package/src/containers/ThreadContainer/ThreadContainer.tsx +75 -0
- package/src/containers/ThreadContainer/index.ts +8 -0
- package/src/containers/index.ts +12 -0
- package/src/{components/command-extension.ts → extensions/command.ts} +7 -4
- package/src/extensions/index.ts +1 -0
- package/src/extensions/threads.ts +89 -44
- package/src/hooks/analytics.ts +22 -21
- package/src/hooks/index.ts +4 -0
- package/src/hooks/useBlackCanvasStreamTrack.tsx +27 -0
- package/src/hooks/useDebugMode.ts +1 -1
- package/src/hooks/useInaudibleAudioStreamTrack.tsx +27 -0
- package/src/hooks/useVideoStreamTrack.tsx +36 -0
- package/src/index.ts +4 -3
- package/src/meta.ts +11 -7
- package/src/operations/add-message.ts +81 -0
- package/src/operations/append-channel-message.ts +37 -0
- package/src/operations/create-channel.ts +20 -0
- package/src/operations/create-proposals.ts +49 -0
- package/src/operations/create.ts +48 -0
- package/src/operations/delete-message.ts +53 -0
- package/src/operations/delete.ts +63 -0
- package/src/operations/index.ts +20 -0
- package/src/operations/on-create-space.ts +27 -0
- package/src/operations/restore-message.ts +38 -0
- package/src/operations/restore.ts +38 -0
- package/src/operations/select.ts +24 -0
- package/src/operations/toggle-resolved.ts +41 -0
- package/src/plugin.ts +11 -0
- package/src/testing/data.ts +49 -0
- package/src/testing/index.ts +1 -1
- package/src/translations.ts +77 -73
- package/src/types/Settings.ts +10 -0
- package/src/types/ThreadCapabilities.ts +41 -0
- package/src/types/ThreadOperation.ts +179 -0
- package/src/types/index.ts +4 -1
- package/src/types/types.ts +4 -92
- package/src/typings/peermetrics-webrtc-stats.d.ts +17 -1
- package/src/typings.d.ts +8 -0
- package/src/util.ts +38 -6
- package/dist/lib/browser/ChannelContainer-PKFBVENP.mjs +0 -15
- package/dist/lib/browser/ChatContainer-RSOKYAMK.mjs +0 -14
- package/dist/lib/browser/app-graph-builder-OY7R7EJP.mjs +0 -171
- package/dist/lib/browser/app-graph-builder-OY7R7EJP.mjs.map +0 -7
- package/dist/lib/browser/call-manager-APQAZWHT.mjs +0 -23
- package/dist/lib/browser/call-manager-APQAZWHT.mjs.map +0 -7
- package/dist/lib/browser/chunk-4H4A264L.mjs +0 -1708
- package/dist/lib/browser/chunk-4H4A264L.mjs.map +0 -7
- package/dist/lib/browser/chunk-5P5BH5GE.mjs +0 -88
- package/dist/lib/browser/chunk-5P5BH5GE.mjs.map +0 -7
- package/dist/lib/browser/chunk-6NBVNXTM.mjs +0 -21
- package/dist/lib/browser/chunk-6NBVNXTM.mjs.map +0 -7
- package/dist/lib/browser/chunk-AEXWNS6Z.mjs +0 -128
- package/dist/lib/browser/chunk-AEXWNS6Z.mjs.map +0 -7
- package/dist/lib/browser/chunk-IIUTBDVB.mjs +0 -17
- package/dist/lib/browser/chunk-IIUTBDVB.mjs.map +0 -7
- package/dist/lib/browser/chunk-JKQUJOTX.mjs +0 -31
- package/dist/lib/browser/chunk-JKQUJOTX.mjs.map +0 -7
- package/dist/lib/browser/chunk-PG5CTFKK.mjs +0 -550
- package/dist/lib/browser/chunk-PG5CTFKK.mjs.map +0 -7
- package/dist/lib/browser/chunk-R5MDLUPC.mjs +0 -18
- package/dist/lib/browser/chunk-R5MDLUPC.mjs.map +0 -7
- package/dist/lib/browser/chunk-TAFSCSUR.mjs +0 -351
- package/dist/lib/browser/chunk-TAFSCSUR.mjs.map +0 -7
- package/dist/lib/browser/chunk-XZKBN3NS.mjs +0 -983
- package/dist/lib/browser/chunk-XZKBN3NS.mjs.map +0 -7
- package/dist/lib/browser/index.mjs +0 -308
- package/dist/lib/browser/index.mjs.map +0 -7
- package/dist/lib/browser/intent-resolver-FK2MDVDT.mjs +0 -353
- package/dist/lib/browser/intent-resolver-FK2MDVDT.mjs.map +0 -7
- package/dist/lib/browser/markdown-TE5SWWNJ.mjs +0 -169
- package/dist/lib/browser/markdown-TE5SWWNJ.mjs.map +0 -7
- package/dist/lib/browser/meta.json +0 -1
- package/dist/lib/browser/react-root-NK3A4VG7.mjs +0 -27
- package/dist/lib/browser/react-root-NK3A4VG7.mjs.map +0 -7
- package/dist/lib/browser/react-surface-VXUJKSOG.mjs +0 -108
- package/dist/lib/browser/react-surface-VXUJKSOG.mjs.map +0 -7
- package/dist/lib/browser/settings-RB2RSLXV.mjs +0 -22
- package/dist/lib/browser/settings-RB2RSLXV.mjs.map +0 -7
- package/dist/lib/browser/state-RKL5MSDP.mjs +0 -34
- package/dist/lib/browser/state-RKL5MSDP.mjs.map +0 -7
- package/dist/lib/browser/types/index.mjs +0 -16
- package/dist/lib/node/ChannelContainer-YS5YT2ML.cjs +0 -36
- package/dist/lib/node/ChannelContainer-YS5YT2ML.cjs.map +0 -7
- package/dist/lib/node/ChatContainer-GCOM3M56.cjs +0 -35
- package/dist/lib/node/ChatContainer-GCOM3M56.cjs.map +0 -7
- package/dist/lib/node/app-graph-builder-PBHJNDQY.cjs +0 -179
- package/dist/lib/node/app-graph-builder-PBHJNDQY.cjs.map +0 -7
- package/dist/lib/node/call-manager-HV2XJW5O.cjs +0 -37
- package/dist/lib/node/call-manager-HV2XJW5O.cjs.map +0 -7
- package/dist/lib/node/chunk-44I33JDT.cjs +0 -1731
- package/dist/lib/node/chunk-44I33JDT.cjs.map +0 -7
- package/dist/lib/node/chunk-4YSNVPWU.cjs +0 -37
- package/dist/lib/node/chunk-4YSNVPWU.cjs.map +0 -7
- package/dist/lib/node/chunk-E3WBZTTI.cjs +0 -371
- package/dist/lib/node/chunk-E3WBZTTI.cjs.map +0 -7
- package/dist/lib/node/chunk-ERG7G6FF.cjs +0 -59
- package/dist/lib/node/chunk-ERG7G6FF.cjs.map +0 -7
- package/dist/lib/node/chunk-FUXJAVFZ.cjs +0 -108
- package/dist/lib/node/chunk-FUXJAVFZ.cjs.map +0 -7
- package/dist/lib/node/chunk-HLMCEE5K.cjs +0 -41
- package/dist/lib/node/chunk-HLMCEE5K.cjs.map +0 -7
- package/dist/lib/node/chunk-IP533AMV.cjs +0 -554
- package/dist/lib/node/chunk-IP533AMV.cjs.map +0 -7
- package/dist/lib/node/chunk-LR5NENBE.cjs +0 -54
- package/dist/lib/node/chunk-LR5NENBE.cjs.map +0 -7
- package/dist/lib/node/chunk-UM36TPCT.cjs +0 -984
- package/dist/lib/node/chunk-UM36TPCT.cjs.map +0 -7
- package/dist/lib/node/chunk-ZGDN3XBR.cjs +0 -149
- package/dist/lib/node/chunk-ZGDN3XBR.cjs.map +0 -7
- package/dist/lib/node/index.cjs +0 -310
- package/dist/lib/node/index.cjs.map +0 -7
- package/dist/lib/node/intent-resolver-SYSJ5SJG.cjs +0 -363
- package/dist/lib/node/intent-resolver-SYSJ5SJG.cjs.map +0 -7
- package/dist/lib/node/markdown-GQIPJS2F.cjs +0 -178
- package/dist/lib/node/markdown-GQIPJS2F.cjs.map +0 -7
- package/dist/lib/node/meta.json +0 -1
- package/dist/lib/node/react-root-6HHDMULJ.cjs +0 -51
- package/dist/lib/node/react-root-6HHDMULJ.cjs.map +0 -7
- package/dist/lib/node/react-surface-NBH42NN2.cjs +0 -122
- package/dist/lib/node/react-surface-NBH42NN2.cjs.map +0 -7
- package/dist/lib/node/settings-4LQSFEDK.cjs +0 -36
- package/dist/lib/node/settings-4LQSFEDK.cjs.map +0 -7
- package/dist/lib/node/state-IY5XX3H2.cjs +0 -50
- package/dist/lib/node/state-IY5XX3H2.cjs.map +0 -7
- package/dist/lib/node/types/index.cjs +0 -38
- package/dist/lib/node/types/index.cjs.map +0 -7
- package/dist/lib/node-esm/ChannelContainer-O4QJII2P.mjs +0 -16
- package/dist/lib/node-esm/ChatContainer-F6CSADV7.mjs +0 -15
- package/dist/lib/node-esm/app-graph-builder-BAHBHYWI.mjs +0 -172
- package/dist/lib/node-esm/app-graph-builder-BAHBHYWI.mjs.map +0 -7
- package/dist/lib/node-esm/call-manager-UUYXLF4T.mjs +0 -24
- package/dist/lib/node-esm/call-manager-UUYXLF4T.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-2RNIPFDA.mjs +0 -984
- package/dist/lib/node-esm/chunk-2RNIPFDA.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-ESQC6SYE.mjs +0 -19
- package/dist/lib/node-esm/chunk-ESQC6SYE.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-K4KAUOKT.mjs +0 -19
- package/dist/lib/node-esm/chunk-K4KAUOKT.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-O3V45YJP.mjs +0 -90
- package/dist/lib/node-esm/chunk-O3V45YJP.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-O63QJPQX.mjs +0 -23
- package/dist/lib/node-esm/chunk-O63QJPQX.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-P6RLFCNT.mjs +0 -352
- package/dist/lib/node-esm/chunk-P6RLFCNT.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-PGRP3O4O.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-UJMPYKT3.mjs +0 -129
- package/dist/lib/node-esm/chunk-UJMPYKT3.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-UZWVVFT3.mjs +0 -551
- package/dist/lib/node-esm/chunk-UZWVVFT3.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-WXNPD542.mjs.map +0 -7
- package/dist/lib/node-esm/index.mjs +0 -309
- package/dist/lib/node-esm/index.mjs.map +0 -7
- package/dist/lib/node-esm/intent-resolver-BU73VYW3.mjs +0 -354
- package/dist/lib/node-esm/intent-resolver-BU73VYW3.mjs.map +0 -7
- package/dist/lib/node-esm/markdown-HJUWNBLS.mjs +0 -170
- package/dist/lib/node-esm/markdown-HJUWNBLS.mjs.map +0 -7
- package/dist/lib/node-esm/meta.json +0 -1
- package/dist/lib/node-esm/react-root-RUXOAQNW.mjs +0 -28
- package/dist/lib/node-esm/react-root-RUXOAQNW.mjs.map +0 -7
- package/dist/lib/node-esm/react-surface-ELXFYKP6.mjs +0 -109
- package/dist/lib/node-esm/react-surface-ELXFYKP6.mjs.map +0 -7
- package/dist/lib/node-esm/settings-EA7DFSM6.mjs +0 -23
- package/dist/lib/node-esm/settings-EA7DFSM6.mjs.map +0 -7
- package/dist/lib/node-esm/state-6AUTNROZ.mjs +0 -35
- package/dist/lib/node-esm/state-6AUTNROZ.mjs.map +0 -7
- package/dist/lib/node-esm/types/index.mjs +0 -17
- package/dist/types/src/capabilities/capabilities.d.ts +0 -27
- package/dist/types/src/capabilities/capabilities.d.ts.map +0 -1
- package/dist/types/src/capabilities/intent-resolver.d.ts +0 -4
- package/dist/types/src/capabilities/intent-resolver.d.ts.map +0 -1
- package/dist/types/src/components/CallDebugPanel.d.ts +0 -8
- 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 +0 -14
- package/dist/types/src/components/ChannelContainer.d.ts.map +0 -1
- package/dist/types/src/components/ChannelContainer.stories.d.ts +0 -10
- package/dist/types/src/components/ChannelContainer.stories.d.ts.map +0 -1
- package/dist/types/src/components/Chat.stories.d.ts +0 -6
- package/dist/types/src/components/Chat.stories.d.ts.map +0 -1
- package/dist/types/src/components/ChatContainer.d.ts +0 -17
- package/dist/types/src/components/ChatContainer.d.ts.map +0 -1
- package/dist/types/src/components/CommentContainer.d.ts +0 -13
- package/dist/types/src/components/CommentContainer.d.ts.map +0 -1
- package/dist/types/src/components/Comments.stories.d.ts +0 -6
- 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/MessageContainer.d.ts +0 -11
- 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 +0 -10
- package/dist/types/src/components/ResponsiveGrid/ResponsiveContainer.stories.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/components/ThreadSettings.d.ts +0 -6
- 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 +0 -4
- package/dist/types/src/components/testing.d.ts.map +0 -1
- package/dist/types/src/peers.stories.d.ts +0 -11
- package/dist/types/src/peers.stories.d.ts.map +0 -1
- package/dist/types/src/testing/stories.d.ts +0 -2
- package/dist/types/src/testing/stories.d.ts.map +0 -1
- package/dist/types/src/types/schema.d.ts +0 -133
- package/dist/types/src/types/schema.d.ts.map +0 -1
- package/src/capabilities/capabilities.ts +0 -33
- package/src/capabilities/intent-resolver.ts +0 -296
- package/src/components/CallDebugPanel.tsx +0 -115
- package/src/components/CallSidebar.tsx +0 -17
- package/src/components/ChannelContainer.stories.tsx +0 -58
- package/src/components/ChannelContainer.tsx +0 -199
- package/src/components/Chat.stories.tsx +0 -88
- package/src/components/ChatContainer.tsx +0 -140
- package/src/components/CommentContainer.tsx +0 -198
- package/src/components/Comments.stories.tsx +0 -85
- package/src/components/CommentsContainer.tsx +0 -66
- package/src/components/MessageContainer.tsx +0 -167
- package/src/components/ThreadComplementary.tsx +0 -151
- package/src/components/ThreadSettings.tsx +0 -17
- package/src/components/testing.ts +0 -29
- package/src/peers.stories.tsx +0 -189
- package/src/testing/stories.ts +0 -50
- package/src/types/schema.ts +0 -33
- /package/dist/lib/{browser/ChannelContainer-PKFBVENP.mjs.map → neutral/ChannelChat-EKQYQQXZ.mjs.map} +0 -0
- /package/dist/lib/{browser/ChatContainer-RSOKYAMK.mjs.map → neutral/ChannelContainer-XXMX5X43.mjs.map} +0 -0
- /package/dist/lib/{browser/types → neutral/blueprints}/index.mjs.map +0 -0
- /package/dist/lib/{node-esm/ChannelContainer-O4QJII2P.mjs.map → neutral/chunk-J5LGTIGS.mjs.map} +0 -0
- /package/dist/lib/{node-esm/types → neutral/hooks}/index.mjs.map +0 -0
- /package/dist/lib/{node-esm/ChatContainer-F6CSADV7.mjs.map → neutral/index.mjs.map} +0 -0
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
import "./chunk-J5LGTIGS.mjs";
|
|
2
|
+
|
|
3
|
+
// src/ThreadPlugin.tsx
|
|
4
|
+
import * as Effect from "effect/Effect";
|
|
5
|
+
import { Capability, Plugin } from "@dxos/app-framework";
|
|
6
|
+
import { AppActivationEvents, AppPlugin } from "@dxos/app-toolkit";
|
|
7
|
+
import { Operation } from "@dxos/compute";
|
|
8
|
+
import { ClientEvents } from "@dxos/plugin-client";
|
|
9
|
+
import { MarkdownEvents } from "@dxos/plugin-markdown";
|
|
10
|
+
import { SpaceCapabilities, SpaceEvents } from "@dxos/plugin-space";
|
|
11
|
+
import { translations as threadTranslations } from "@dxos/react-ui-thread/translations";
|
|
12
|
+
import { AnchoredTo, Channel, Message, Thread } from "@dxos/types";
|
|
13
|
+
import { AppGraphBuilder, BlueprintDefinition, CallManager, CreateObject, Markdown, OperationHandler, UndoMappings, ReactRoot, ReactSurface, ThreadState } from "#capabilities";
|
|
14
|
+
import { meta } from "#meta";
|
|
15
|
+
import { translations } from "#translations";
|
|
16
|
+
import { ThreadOperation } from "#types";
|
|
17
|
+
var ThreadPlugin = Plugin.define(meta).pipe(
|
|
18
|
+
AppPlugin.addAppGraphModule({
|
|
19
|
+
activate: AppGraphBuilder
|
|
20
|
+
}),
|
|
21
|
+
AppPlugin.addBlueprintDefinitionModule({
|
|
22
|
+
activate: BlueprintDefinition
|
|
23
|
+
}),
|
|
24
|
+
AppPlugin.addCreateObjectModule({
|
|
25
|
+
activate: CreateObject
|
|
26
|
+
}),
|
|
27
|
+
AppPlugin.addOperationHandlerModule({
|
|
28
|
+
activate: OperationHandler
|
|
29
|
+
}),
|
|
30
|
+
AppPlugin.addUndoMappingsModule({
|
|
31
|
+
activate: UndoMappings
|
|
32
|
+
}),
|
|
33
|
+
AppPlugin.addReactRootModule({
|
|
34
|
+
activate: ReactRoot
|
|
35
|
+
}),
|
|
36
|
+
AppPlugin.addSchemaModule({
|
|
37
|
+
schema: [
|
|
38
|
+
AnchoredTo.AnchoredTo,
|
|
39
|
+
Channel.Channel,
|
|
40
|
+
Message.Message,
|
|
41
|
+
Thread.Thread
|
|
42
|
+
]
|
|
43
|
+
}),
|
|
44
|
+
AppPlugin.addSurfaceModule({
|
|
45
|
+
activate: ReactSurface
|
|
46
|
+
}),
|
|
47
|
+
AppPlugin.addTranslationsModule({
|
|
48
|
+
translations: [
|
|
49
|
+
...translations,
|
|
50
|
+
...threadTranslations
|
|
51
|
+
]
|
|
52
|
+
}),
|
|
53
|
+
Plugin.addModule({
|
|
54
|
+
id: "call-manager",
|
|
55
|
+
activatesOn: ClientEvents.ClientReady,
|
|
56
|
+
activate: CallManager
|
|
57
|
+
}),
|
|
58
|
+
// TODO(wittjosiah): Currently not used but leaving because there will likely be settings for threads again.
|
|
59
|
+
// Plugin.addModule({
|
|
60
|
+
// id: 'settings',
|
|
61
|
+
// activatesOn: Events.SetupSettings,
|
|
62
|
+
// activate: ThreadSettings,
|
|
63
|
+
// }),
|
|
64
|
+
Plugin.addModule({
|
|
65
|
+
id: "state",
|
|
66
|
+
// TODO(wittjosiah): Does not integrate with settings store.
|
|
67
|
+
// Should this be a different event?
|
|
68
|
+
// Should settings store be renamed to be more generic?
|
|
69
|
+
activatesOn: AppActivationEvents.SetupSettings,
|
|
70
|
+
activate: ThreadState
|
|
71
|
+
}),
|
|
72
|
+
Plugin.addModule({
|
|
73
|
+
id: "on-space-created",
|
|
74
|
+
activatesOn: SpaceEvents.SpaceCreated,
|
|
75
|
+
activate: () => Effect.succeed(Capability.contributes(SpaceCapabilities.OnCreateSpace, (params) => Operation.invoke(ThreadOperation.OnCreateSpace, params)))
|
|
76
|
+
}),
|
|
77
|
+
Plugin.addModule({
|
|
78
|
+
id: "markdown",
|
|
79
|
+
activatesOn: MarkdownEvents.SetupExtensions,
|
|
80
|
+
activate: Markdown
|
|
81
|
+
}),
|
|
82
|
+
Plugin.make
|
|
83
|
+
);
|
|
84
|
+
var ThreadPlugin_default = ThreadPlugin;
|
|
85
|
+
export {
|
|
86
|
+
ThreadPlugin,
|
|
87
|
+
ThreadPlugin_default as default
|
|
88
|
+
};
|
|
89
|
+
//# sourceMappingURL=ThreadPlugin.mjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/ThreadPlugin.tsx"],
|
|
4
|
+
"sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nimport * as Effect from 'effect/Effect';\n\nimport { Capability, Plugin } from '@dxos/app-framework';\nimport { AppActivationEvents, AppPlugin } from '@dxos/app-toolkit';\nimport { Operation } from '@dxos/compute';\nimport { ClientEvents } from '@dxos/plugin-client';\nimport { MarkdownEvents } from '@dxos/plugin-markdown';\nimport { SpaceCapabilities, SpaceEvents } from '@dxos/plugin-space';\nimport { translations as threadTranslations } from '@dxos/react-ui-thread/translations';\nimport { AnchoredTo, Channel, Message, Thread } from '@dxos/types';\n\nimport {\n AppGraphBuilder,\n BlueprintDefinition,\n CallManager,\n CreateObject,\n Markdown,\n OperationHandler,\n UndoMappings,\n ReactRoot,\n ReactSurface,\n ThreadState,\n} from '#capabilities';\nimport { meta } from '#meta';\nimport { translations } from '#translations';\nimport { ThreadOperation } from '#types';\n\n// TODO(Zan): Every instance of `cursor` should be replaced with `anchor`.\n// NOTE(burdon): Review/discuss CursorConverter semantics.\n\n// TODO(wittjosiah): Rename to ChatPlugin.\n// TODO(wittjosiah): Enabling comments should likely be factored out of this plugin but depend on it's capabilities.\n\nexport const ThreadPlugin = Plugin.define(meta).pipe(\n AppPlugin.addAppGraphModule({ activate: AppGraphBuilder }),\n AppPlugin.addBlueprintDefinitionModule({ activate: BlueprintDefinition }),\n AppPlugin.addCreateObjectModule({ activate: CreateObject }),\n AppPlugin.addOperationHandlerModule({ activate: OperationHandler }),\n AppPlugin.addUndoMappingsModule({ activate: UndoMappings }),\n AppPlugin.addReactRootModule({ activate: ReactRoot }),\n AppPlugin.addSchemaModule({\n schema: [AnchoredTo.AnchoredTo, Channel.Channel, Message.Message, Thread.Thread],\n }),\n AppPlugin.addSurfaceModule({ activate: ReactSurface }),\n AppPlugin.addTranslationsModule({ translations: [...translations, ...threadTranslations] }),\n Plugin.addModule({\n id: 'call-manager',\n activatesOn: ClientEvents.ClientReady,\n activate: CallManager,\n }),\n // TODO(wittjosiah): Currently not used but leaving because there will likely be settings for threads again.\n // Plugin.addModule({\n // id: 'settings',\n // activatesOn: Events.SetupSettings,\n // activate: ThreadSettings,\n // }),\n Plugin.addModule({\n id: 'state',\n // TODO(wittjosiah): Does not integrate with settings store.\n // Should this be a different event?\n // Should settings store be renamed to be more generic?\n activatesOn: AppActivationEvents.SetupSettings,\n activate: ThreadState,\n }),\n Plugin.addModule({\n id: 'on-space-created',\n activatesOn: SpaceEvents.SpaceCreated,\n activate: () =>\n Effect.succeed(\n Capability.contributes(SpaceCapabilities.OnCreateSpace, (params) =>\n Operation.invoke(ThreadOperation.OnCreateSpace, params),\n ),\n ),\n }),\n Plugin.addModule({\n id: 'markdown',\n activatesOn: MarkdownEvents.SetupExtensions,\n activate: Markdown,\n }),\n Plugin.make,\n);\n\nexport default ThreadPlugin;\n"],
|
|
5
|
+
"mappings": ";;;AAIA,YAAYA,YAAY;AAExB,SAASC,YAAYC,cAAc;AACnC,SAASC,qBAAqBC,iBAAiB;AAC/C,SAASC,iBAAiB;AAC1B,SAASC,oBAAoB;AAC7B,SAASC,sBAAsB;AAC/B,SAASC,mBAAmBC,mBAAmB;AAC/C,SAASC,gBAAgBC,0BAA0B;AACnD,SAASC,YAAYC,SAASC,SAASC,cAAc;AAErD,SACEC,iBACAC,qBACAC,aACAC,cACAC,UACAC,kBACAC,cACAC,WACAC,cACAC,mBACK;AACP,SAASC,YAAY;AACrB,SAAShB,oBAAoB;AAC7B,SAASiB,uBAAuB;AAQzB,IAAMC,eAAe1B,OAAO2B,OAAOH,IAAAA,EAAMI;EAC9C1B,UAAU2B,kBAAkB;IAAEC,UAAUhB;EAAgB,CAAA;EACxDZ,UAAU6B,6BAA6B;IAAED,UAAUf;EAAoB,CAAA;EACvEb,UAAU8B,sBAAsB;IAAEF,UAAUb;EAAa,CAAA;EACzDf,UAAU+B,0BAA0B;IAAEH,UAAUX;EAAiB,CAAA;EACjEjB,UAAUgC,sBAAsB;IAAEJ,UAAUV;EAAa,CAAA;EACzDlB,UAAUiC,mBAAmB;IAAEL,UAAUT;EAAU,CAAA;EACnDnB,UAAUkC,gBAAgB;IACxBC,QAAQ;MAAC3B,WAAWA;MAAYC,QAAQA;MAASC,QAAQA;MAASC,OAAOA;;EAC3E,CAAA;EACAX,UAAUoC,iBAAiB;IAAER,UAAUR;EAAa,CAAA;EACpDpB,UAAUqC,sBAAsB;IAAE/B,cAAc;SAAIA;SAAiBC;;EAAoB,CAAA;EACzFT,OAAOwC,UAAU;IACfC,IAAI;IACJC,aAAatC,aAAauC;IAC1Bb,UAAUd;EACZ,CAAA;;;;;;;EAOAhB,OAAOwC,UAAU;IACfC,IAAI;;;;IAIJC,aAAazC,oBAAoB2C;IACjCd,UAAUP;EACZ,CAAA;EACAvB,OAAOwC,UAAU;IACfC,IAAI;IACJC,aAAanC,YAAYsC;IACzBf,UAAU,MACDgB,eACL/C,WAAWgD,YAAYzC,kBAAkB0C,eAAe,CAACC,WACvD9C,UAAU+C,OAAOzB,gBAAgBuB,eAAeC,MAAAA,CAAAA,CAAAA;EAGxD,CAAA;EACAjD,OAAOwC,UAAU;IACfC,IAAI;IACJC,aAAarC,eAAe8C;IAC5BrB,UAAUZ;EACZ,CAAA;EACAlB,OAAOoD;AAAI;AAGb,IAAA,uBAAe1B;",
|
|
6
|
+
"names": ["Effect", "Capability", "Plugin", "AppActivationEvents", "AppPlugin", "Operation", "ClientEvents", "MarkdownEvents", "SpaceCapabilities", "SpaceEvents", "translations", "threadTranslations", "AnchoredTo", "Channel", "Message", "Thread", "AppGraphBuilder", "BlueprintDefinition", "CallManager", "CreateObject", "Markdown", "OperationHandler", "UndoMappings", "ReactRoot", "ReactSurface", "ThreadState", "meta", "ThreadOperation", "ThreadPlugin", "define", "pipe", "addAppGraphModule", "activate", "addBlueprintDefinitionModule", "addCreateObjectModule", "addOperationHandlerModule", "addUndoMappingsModule", "addReactRootModule", "addSchemaModule", "schema", "addSurfaceModule", "addTranslationsModule", "addModule", "id", "activatesOn", "ClientReady", "SetupSettings", "SpaceCreated", "succeed", "contributes", "OnCreateSpace", "params", "invoke", "SetupExtensions", "make"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import "./chunk-J5LGTIGS.mjs";
|
|
2
|
+
|
|
3
|
+
// src/ThreadPlugin.node.ts
|
|
4
|
+
import * as Effect from "effect/Effect";
|
|
5
|
+
import { Capability, Plugin } from "@dxos/app-framework";
|
|
6
|
+
import { AppPlugin } from "@dxos/app-toolkit";
|
|
7
|
+
import { Operation } from "@dxos/compute";
|
|
8
|
+
import { SpaceCapabilities, SpaceEvents } from "@dxos/plugin-space";
|
|
9
|
+
import { AnchoredTo, Channel, Message, Thread } from "@dxos/types";
|
|
10
|
+
import { AppGraphBuilder, BlueprintDefinition, CreateObject, OperationHandler, UndoMappings } from "#capabilities";
|
|
11
|
+
import { meta } from "#meta";
|
|
12
|
+
import { ThreadOperation } from "#types";
|
|
13
|
+
var ThreadPlugin = Plugin.define(meta).pipe(AppPlugin.addAppGraphModule({
|
|
14
|
+
activate: AppGraphBuilder
|
|
15
|
+
}), AppPlugin.addBlueprintDefinitionModule({
|
|
16
|
+
activate: BlueprintDefinition
|
|
17
|
+
}), AppPlugin.addCreateObjectModule({
|
|
18
|
+
activate: CreateObject
|
|
19
|
+
}), AppPlugin.addOperationHandlerModule({
|
|
20
|
+
activate: OperationHandler
|
|
21
|
+
}), AppPlugin.addUndoMappingsModule({
|
|
22
|
+
activate: UndoMappings
|
|
23
|
+
}), AppPlugin.addSchemaModule({
|
|
24
|
+
schema: [
|
|
25
|
+
AnchoredTo.AnchoredTo,
|
|
26
|
+
Channel.Channel,
|
|
27
|
+
Message.Message,
|
|
28
|
+
Thread.Thread
|
|
29
|
+
]
|
|
30
|
+
}), Plugin.addModule({
|
|
31
|
+
id: "on-space-created",
|
|
32
|
+
activatesOn: SpaceEvents.SpaceCreated,
|
|
33
|
+
activate: () => Effect.succeed(Capability.contributes(SpaceCapabilities.OnCreateSpace, (params) => Operation.invoke(ThreadOperation.OnCreateSpace, params)))
|
|
34
|
+
}), Plugin.make);
|
|
35
|
+
var ThreadPlugin_node_default = ThreadPlugin;
|
|
36
|
+
export {
|
|
37
|
+
ThreadPlugin,
|
|
38
|
+
ThreadPlugin_node_default as default
|
|
39
|
+
};
|
|
40
|
+
//# sourceMappingURL=ThreadPlugin.node.mjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/ThreadPlugin.node.ts"],
|
|
4
|
+
"sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nimport * as Effect from 'effect/Effect';\n\nimport { Capability, Plugin } from '@dxos/app-framework';\nimport { AppPlugin } from '@dxos/app-toolkit';\nimport { Operation } from '@dxos/compute';\nimport { SpaceCapabilities, SpaceEvents } from '@dxos/plugin-space';\nimport { AnchoredTo, Channel, Message, Thread } from '@dxos/types';\n\nimport { AppGraphBuilder, BlueprintDefinition, CreateObject, OperationHandler, UndoMappings } from '#capabilities';\nimport { meta } from '#meta';\nimport { ThreadOperation } from '#types';\n\nexport const ThreadPlugin = Plugin.define(meta).pipe(\n AppPlugin.addAppGraphModule({ activate: AppGraphBuilder }),\n AppPlugin.addBlueprintDefinitionModule({ activate: BlueprintDefinition }),\n AppPlugin.addCreateObjectModule({ activate: CreateObject }),\n AppPlugin.addOperationHandlerModule({ activate: OperationHandler }),\n AppPlugin.addUndoMappingsModule({ activate: UndoMappings }),\n AppPlugin.addSchemaModule({\n schema: [AnchoredTo.AnchoredTo, Channel.Channel, Message.Message, Thread.Thread],\n }),\n Plugin.addModule({\n id: 'on-space-created',\n activatesOn: SpaceEvents.SpaceCreated,\n activate: () =>\n Effect.succeed(\n Capability.contributes(SpaceCapabilities.OnCreateSpace, (params) =>\n Operation.invoke(ThreadOperation.OnCreateSpace, params),\n ),\n ),\n }),\n Plugin.make,\n);\n\nexport default ThreadPlugin;\n"],
|
|
5
|
+
"mappings": ";;;AAIA,YAAYA,YAAY;AAExB,SAASC,YAAYC,cAAc;AACnC,SAASC,iBAAiB;AAC1B,SAASC,iBAAiB;AAC1B,SAASC,mBAAmBC,mBAAmB;AAC/C,SAASC,YAAYC,SAASC,SAASC,cAAc;AAErD,SAASC,iBAAiBC,qBAAqBC,cAAcC,kBAAkBC,oBAAoB;AACnG,SAASC,YAAY;AACrB,SAASC,uBAAuB;AAEzB,IAAMC,eAAehB,OAAOiB,OAAOH,IAAAA,EAAMI,KAC9CjB,UAAUkB,kBAAkB;EAAEC,UAAUX;AAAgB,CAAA,GACxDR,UAAUoB,6BAA6B;EAAED,UAAUV;AAAoB,CAAA,GACvET,UAAUqB,sBAAsB;EAAEF,UAAUT;AAAa,CAAA,GACzDV,UAAUsB,0BAA0B;EAAEH,UAAUR;AAAiB,CAAA,GACjEX,UAAUuB,sBAAsB;EAAEJ,UAAUP;AAAa,CAAA,GACzDZ,UAAUwB,gBAAgB;EACxBC,QAAQ;IAACrB,WAAWA;IAAYC,QAAQA;IAASC,QAAQA;IAASC,OAAOA;;AAC3E,CAAA,GACAR,OAAO2B,UAAU;EACfC,IAAI;EACJC,aAAazB,YAAY0B;EACzBV,UAAU,MACDW,eACLhC,WAAWiC,YAAY7B,kBAAkB8B,eAAe,CAACC,WACvDhC,UAAUiC,OAAOpB,gBAAgBkB,eAAeC,MAAAA,CAAAA,CAAAA;AAGxD,CAAA,GACAlC,OAAOoC,IAAI;AAGb,IAAA,4BAAepB;",
|
|
6
|
+
"names": ["Effect", "Capability", "Plugin", "AppPlugin", "Operation", "SpaceCapabilities", "SpaceEvents", "AnchoredTo", "Channel", "Message", "Thread", "AppGraphBuilder", "BlueprintDefinition", "CreateObject", "OperationHandler", "UndoMappings", "meta", "ThreadOperation", "ThreadPlugin", "define", "pipe", "addAppGraphModule", "activate", "addBlueprintDefinitionModule", "addCreateObjectModule", "addOperationHandlerModule", "addUndoMappingsModule", "addSchemaModule", "schema", "addModule", "id", "activatesOn", "SpaceCreated", "succeed", "contributes", "OnCreateSpace", "params", "invoke", "make"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import "./chunk-J5LGTIGS.mjs";
|
|
2
|
+
|
|
3
|
+
// src/components/ThreadSettings/ThreadSettings.tsx
|
|
4
|
+
import React from "react";
|
|
5
|
+
import { useTranslation } from "@dxos/react-ui";
|
|
6
|
+
import { Settings as SettingsForm } from "@dxos/react-ui-form";
|
|
7
|
+
import { meta } from "#meta";
|
|
8
|
+
var ThreadSettings = ({ settings: _settings }) => {
|
|
9
|
+
const { t: _t } = useTranslation(meta.id);
|
|
10
|
+
return /* @__PURE__ */ React.createElement(SettingsForm.Viewport, null);
|
|
11
|
+
};
|
|
12
|
+
export {
|
|
13
|
+
ThreadSettings as default
|
|
14
|
+
};
|
|
15
|
+
//# sourceMappingURL=ThreadSettings-5Z5XIHG3.mjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/components/ThreadSettings/ThreadSettings.tsx"],
|
|
4
|
+
"sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nimport React from 'react';\n\nimport { type AppSurface } from '@dxos/app-toolkit/ui';\nimport { useTranslation } from '@dxos/react-ui';\nimport { Settings as SettingsForm } from '@dxos/react-ui-form';\n\nimport { meta } from '#meta';\nimport { type Settings } from '#types';\n\nexport type ThreadSettingsProps = AppSurface.SettingsArticleProps<Settings.Settings>;\n\n// TODO(burdon): Settings.\nexport const ThreadSettings = ({ settings: _settings }: ThreadSettingsProps) => {\n const { t: _t } = useTranslation(meta.id);\n return <SettingsForm.Viewport></SettingsForm.Viewport>;\n};\n"],
|
|
5
|
+
"mappings": ";;;AAIA,OAAOA,WAAW;AAGlB,SAASC,sBAAsB;AAC/B,SAASC,YAAYC,oBAAoB;AAEzC,SAASC,YAAY;AAMd,IAAMC,iBAAiB,CAAC,EAAEC,UAAUC,UAAS,MAAuB;AACzE,QAAM,EAAEC,GAAGC,GAAE,IAAKR,eAAeG,KAAKM,EAAE;AACxC,SAAO,sBAAA,cAACP,aAAaQ,UAAQ,IAAA;AAC/B;",
|
|
6
|
+
"names": ["React", "useTranslation", "Settings", "SettingsForm", "meta", "ThreadSettings", "settings", "_settings", "t", "_t", "id", "Viewport"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
import {
|
|
2
|
+
ThreadCapabilities_exports,
|
|
3
|
+
ThreadOperation_exports
|
|
4
|
+
} from "./chunk-BFHJWC3L.mjs";
|
|
5
|
+
import "./chunk-J5LGTIGS.mjs";
|
|
6
|
+
|
|
7
|
+
// src/operations/add-message.ts
|
|
8
|
+
import * as Effect from "effect/Effect";
|
|
9
|
+
import { Capabilities, Capability } from "@dxos/app-framework";
|
|
10
|
+
import { Operation } from "@dxos/compute";
|
|
11
|
+
import { Obj, Ref, Relation } from "@dxos/echo";
|
|
12
|
+
import { invariant } from "@dxos/invariant";
|
|
13
|
+
import { ObservabilityOperation } from "@dxos/plugin-observability";
|
|
14
|
+
import { SpaceOperation } from "@dxos/plugin-space";
|
|
15
|
+
import { AnchoredTo, Message } from "@dxos/types";
|
|
16
|
+
var __dxlog_file = "/__w/dxos/dxos/packages/plugins/plugin-thread/src/operations/add-message.ts";
|
|
17
|
+
var handler = ThreadOperation_exports.AddMessage.pipe(Operation.withHandler(Effect.fnUntraced(function* ({ anchor, subject, sender, text }) {
|
|
18
|
+
const registry = yield* Capability.get(Capabilities.AtomRegistry);
|
|
19
|
+
const stateAtom = yield* Capability.get(ThreadCapabilities_exports.State);
|
|
20
|
+
const thread = Relation.getSource(anchor);
|
|
21
|
+
const subjectId = Obj.getDXN(subject).toString();
|
|
22
|
+
const db = Obj.getDatabase(subject);
|
|
23
|
+
invariant(db, "Database not found", { "~LogMeta": "~LogMeta", F: __dxlog_file, L: 20, S: this, A: ["db", "'Database not found'"] });
|
|
24
|
+
const message = Obj.make(Message.Message, {
|
|
25
|
+
created: (/* @__PURE__ */ new Date()).toISOString(),
|
|
26
|
+
sender,
|
|
27
|
+
blocks: [
|
|
28
|
+
{
|
|
29
|
+
_tag: "text",
|
|
30
|
+
text
|
|
31
|
+
}
|
|
32
|
+
]
|
|
33
|
+
});
|
|
34
|
+
Obj.update(thread, (thread2) => {
|
|
35
|
+
thread2.messages.push(Ref.make(message));
|
|
36
|
+
});
|
|
37
|
+
const state = registry.get(stateAtom);
|
|
38
|
+
const draft = state.drafts[subjectId]?.find((a) => a.id === anchor.id);
|
|
39
|
+
if (draft) {
|
|
40
|
+
Obj.update(thread, (thread2) => {
|
|
41
|
+
thread2.status = "active";
|
|
42
|
+
});
|
|
43
|
+
registry.set(stateAtom, {
|
|
44
|
+
...state,
|
|
45
|
+
drafts: {
|
|
46
|
+
...state.drafts,
|
|
47
|
+
[subjectId]: state.drafts[subjectId]?.filter((a) => a.id !== anchor.id)
|
|
48
|
+
}
|
|
49
|
+
});
|
|
50
|
+
yield* Operation.invoke(SpaceOperation.AddObject, {
|
|
51
|
+
object: thread,
|
|
52
|
+
target: db,
|
|
53
|
+
hidden: true
|
|
54
|
+
});
|
|
55
|
+
yield* Operation.invoke(SpaceOperation.AddRelation, {
|
|
56
|
+
db,
|
|
57
|
+
schema: AnchoredTo.AnchoredTo,
|
|
58
|
+
source: thread,
|
|
59
|
+
target: subject,
|
|
60
|
+
fields: {
|
|
61
|
+
anchor: draft.anchor
|
|
62
|
+
}
|
|
63
|
+
});
|
|
64
|
+
yield* Operation.schedule(ObservabilityOperation.SendEvent, {
|
|
65
|
+
name: "threads.create",
|
|
66
|
+
properties: {
|
|
67
|
+
spaceId: db.spaceId,
|
|
68
|
+
threadId: thread.id
|
|
69
|
+
}
|
|
70
|
+
});
|
|
71
|
+
}
|
|
72
|
+
yield* Operation.schedule(ObservabilityOperation.SendEvent, {
|
|
73
|
+
name: "threads.message.add",
|
|
74
|
+
properties: {
|
|
75
|
+
spaceId: db.spaceId,
|
|
76
|
+
threadId: thread.id,
|
|
77
|
+
threadLength: thread.messages.length,
|
|
78
|
+
messageId: message.id,
|
|
79
|
+
messageLength: text.length
|
|
80
|
+
}
|
|
81
|
+
});
|
|
82
|
+
})));
|
|
83
|
+
var add_message_default = handler;
|
|
84
|
+
export {
|
|
85
|
+
add_message_default as default
|
|
86
|
+
};
|
|
87
|
+
//# sourceMappingURL=add-message-WX3LCGZC.mjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/operations/add-message.ts"],
|
|
4
|
+
"sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport * as Effect from 'effect/Effect';\n\nimport { Capabilities, Capability } from '@dxos/app-framework';\nimport { Operation } from '@dxos/compute';\nimport { Obj, Ref, Relation } from '@dxos/echo';\nimport { invariant } from '@dxos/invariant';\nimport { ObservabilityOperation } from '@dxos/plugin-observability';\nimport { SpaceOperation } from '@dxos/plugin-space';\nimport { AnchoredTo, Message, Thread } from '@dxos/types';\n\nimport { ThreadCapabilities } from '../types';\nimport { ThreadOperation } from '../types';\n\nconst handler: Operation.WithHandler<typeof ThreadOperation.AddMessage> = ThreadOperation.AddMessage.pipe(\n Operation.withHandler(\n Effect.fnUntraced(function* ({ anchor, subject, sender, text }) {\n const registry = yield* Capability.get(Capabilities.AtomRegistry);\n const stateAtom = yield* Capability.get(ThreadCapabilities.State);\n const thread = Relation.getSource(anchor) as Thread.Thread;\n const subjectId = Obj.getDXN(subject).toString();\n const db = Obj.getDatabase(subject);\n invariant(db, 'Database not found');\n\n const message = Obj.make(Message.Message, {\n created: new Date().toISOString(),\n sender,\n blocks: [{ _tag: 'text', text }],\n });\n Obj.update(thread, (thread) => {\n thread.messages.push(Ref.make(message));\n });\n\n const state = registry.get(stateAtom);\n const draft = state.drafts[subjectId]?.find((a: { id: string }) => a.id === anchor.id);\n if (draft) {\n Obj.update(thread, (thread) => {\n thread.status = 'active';\n });\n registry.set(stateAtom, {\n ...state,\n drafts: {\n ...state.drafts,\n [subjectId]: state.drafts[subjectId]?.filter((a: { id: string }) => a.id !== anchor.id),\n },\n });\n yield* Operation.invoke(SpaceOperation.AddObject, { object: thread, target: db, hidden: true });\n yield* Operation.invoke(SpaceOperation.AddRelation, {\n db,\n schema: AnchoredTo.AnchoredTo,\n source: thread,\n target: subject,\n fields: { anchor: draft.anchor },\n });\n yield* Operation.schedule(ObservabilityOperation.SendEvent, {\n name: 'threads.create',\n properties: {\n spaceId: db.spaceId,\n threadId: thread.id,\n },\n });\n }\n\n yield* Operation.schedule(ObservabilityOperation.SendEvent, {\n name: 'threads.message.add',\n properties: {\n spaceId: db.spaceId,\n threadId: thread.id,\n threadLength: thread.messages.length,\n messageId: message.id,\n messageLength: text.length,\n },\n });\n }),\n ),\n);\n\nexport default handler;\n"],
|
|
5
|
+
"mappings": ";;;;;;;AAIA,YAAYA,YAAY;AAExB,SAASC,cAAcC,kBAAkB;AACzC,SAASC,iBAAiB;AAC1B,SAASC,KAAKC,KAAKC,gBAAgB;AACnC,SAASC,iBAAiB;AAC1B,SAASC,8BAA8B;AACvC,SAASC,sBAAsB;AAC/B,SAASC,YAAYC,eAAuB;AAK5C,IAAA,eAA0EC;IAIpE,UAAMC,wBAAmBC,WAAc,KAACC,UAAAA,YAAwB,kBAAA,WAAA,EAAA,QAAA,SAAA,QAAA,KAAA,GAAA;AAChE,QAAMC,WAASC,OAASC,WAAUC,IAAAA,aAAAA,YAAAA;AAClC,QAAMC,YAAYC,OAAIC,WAAOC,IAASC,2BAAQ,KAAA;AAC9C,QAAMC,SAASC,SAAAA,UAAYH,MAAAA;AAC3BI,QAAAA,YAAc,IAAA,OAAA,OAAA,EAAA,SAAA;AAEd,QAAMC,KAAAA,IAAAA,YAAmBC,OAAQA;YAC/BC,IAAS,sBAAsB,EAAA,YAAA,YAAA,GAAA,cAAA,GAAA,IAAA,GAAA,MAAA,GAAA,CAAA,MAAA,sBAAA,EAAA,CAAA;QAC/BC,UAAAA,IAAAA,KAAAA,QAAAA,SAAAA;IACAC,UAAQ,oBAAA,KAAA,GAAA,YAAA;;YAAGC;;QAAmB,MAAA;QAAE;MAClC;IACIC;;AAEJ,MAAA,OAAA,QAAA,CAAAlB,YAAA;AAEA,IAAAA,QAAMmB,SAAQC,KAASC,IAAIxB,KAAAA,OAAAA,CAAAA;EAC3B,CAAA;AACA,QAAIyB,QAAO,SAAA,IAAA,SAAA;QACTjB,QAAU,MAACL,OAASA,SAAAA,GAAAA,KAAAA,CAAAA,MAAAA,EAAAA,OAAAA,OAAAA,EAAAA;aAClBA;AACF,QAAA,OAAA,QAAA,CAAAA,YAAA;AACAoB,MAAAA,QAASG,SAAI1B;;aAEX2B,IAAQ,WAAA;;cAELpB;QACH,GAAA,MAAA;QACF,CAAA,SAAA,GAAA,MAAA,OAAA,SAAA,GAAA,OAAA,CAAA,MAAA,EAAA,OAAA,OAAA,EAAA;MACA;;WAAoEqB,UAAQhB,OAAAA,eAAAA,WAAAA;MAAIiB,QAAQ;MAAK,QAAA;MAC7F,QAAOC;;WAELC,UAAQC,OAAWA,eAAU,aAAA;MAC7BC;MACAL,QAAQlB,WAAAA;MACRwB,QAAQ;cAAE5B;MAAqB,QAAA;QACjC,QAAA,MAAA;MACA;;WAEE6B,UAAY,SAAA,uBAAA,WAAA;YACVC;kBACAC;QACF,SAAA,GAAA;QACF,UAAA,OAAA;MACF;IAEA,CAAA;;SAEEF,UAAY,SAAA,uBAAA,WAAA;UACVC;gBACAC;MACAC,SAAAA,GAAAA;MACAC,UAAAA,OAAWxB;MACXyB,cAAAA,OAAoBC,SAAM;MAC5B,WAAA,QAAA;MACF,eAAA,KAAA;IACF;EAIJ,CAAA;;;",
|
|
6
|
+
"names": ["Effect", "Capabilities", "Capability", "Operation", "Obj", "Ref", "Relation", "invariant", "ObservabilityOperation", "SpaceOperation", "AnchoredTo", "Message", "ThreadOperation", "stateAtom", "Capability", "ThreadCapabilities", "thread", "Relation", "getSource", "anchor", "subjectId", "Obj", "getDXN", "subject", "toString", "db", "getDatabase", "invariant", "message", "Message", "created", "sender", "blocks", "_tag", "update", "state", "registry", "get", "draft", "set", "drafts", "target", "hidden", "Operation", "schema", "AnchoredTo", "source", "fields", "properties", "spaceId", "threadId", "threadLength", "messageId", "messageLength", "length"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,173 @@
|
|
|
1
|
+
import {
|
|
2
|
+
getAnchor
|
|
3
|
+
} from "./chunk-JLY4NVTA.mjs";
|
|
4
|
+
import "./chunk-J5LGTIGS.mjs";
|
|
5
|
+
|
|
6
|
+
// src/capabilities/app-graph-builder.ts
|
|
7
|
+
import { Atom } from "@effect-atom/atom-react";
|
|
8
|
+
import * as Effect from "effect/Effect";
|
|
9
|
+
import * as Option from "effect/Option";
|
|
10
|
+
import { Capability } from "@dxos/app-framework";
|
|
11
|
+
import { AppCapabilities, AppNode } from "@dxos/app-toolkit";
|
|
12
|
+
import { Operation } from "@dxos/compute";
|
|
13
|
+
import { Obj } from "@dxos/echo";
|
|
14
|
+
import { AttentionCapabilities } from "@dxos/plugin-attention";
|
|
15
|
+
import { GraphBuilder, NodeMatcher } from "@dxos/plugin-graph";
|
|
16
|
+
import { linkedSegment } from "@dxos/react-ui-attention";
|
|
17
|
+
import { defaultSelection } from "@dxos/react-ui-attention";
|
|
18
|
+
import { Channel } from "@dxos/types";
|
|
19
|
+
import { meta } from "#meta";
|
|
20
|
+
import { ThreadOperation } from "#types";
|
|
21
|
+
import { ThreadCapabilities } from "#types";
|
|
22
|
+
var commentDisabledFamily = Atom.family(({ stateAtom, selectionManager, objectId, commentsType, selectionMode }) => Atom.make((get) => {
|
|
23
|
+
const stateAtoms = get(stateAtom);
|
|
24
|
+
const state = stateAtoms[0] ? get(stateAtoms[0]) : void 0;
|
|
25
|
+
const toolbar = state?.toolbar ?? {};
|
|
26
|
+
const selectionState = get(selectionManager.state);
|
|
27
|
+
const selection = selectionState.selections[objectId] ?? (selectionMode ? defaultSelection(selectionMode) : void 0);
|
|
28
|
+
const anchor = getAnchor(selection);
|
|
29
|
+
const invalidSelection = !anchor;
|
|
30
|
+
const overlappingComment = toolbar[objectId];
|
|
31
|
+
return commentsType === "anchored" && invalidSelection || overlappingComment;
|
|
32
|
+
}));
|
|
33
|
+
var whenCommentableObject = NodeMatcher.whenAll(NodeMatcher.whenEchoObjectMatches, NodeMatcher.whenNot(NodeMatcher.whenEchoTypeMatches(Channel.Channel)));
|
|
34
|
+
var app_graph_builder_default = Capability.makeModule(Effect.fnUntraced(function* () {
|
|
35
|
+
const capabilities = yield* Capability.Service;
|
|
36
|
+
const getCommentConfig = (typename) => capabilities.getAll(AppCapabilities.CommentConfig).find(({ id }) => id === typename);
|
|
37
|
+
const extensions = yield* Effect.all([
|
|
38
|
+
GraphBuilder.createExtension({
|
|
39
|
+
id: "active-call",
|
|
40
|
+
match: NodeMatcher.whenRoot,
|
|
41
|
+
connector: (node, get) => {
|
|
42
|
+
const callManagerAtom = capabilities.atom(ThreadCapabilities.CallManager);
|
|
43
|
+
const [call] = get(callManagerAtom);
|
|
44
|
+
if (!call) {
|
|
45
|
+
return Effect.succeed([]);
|
|
46
|
+
}
|
|
47
|
+
const joined = get(call.joinedAtom);
|
|
48
|
+
return Effect.succeed(joined ? [
|
|
49
|
+
AppNode.makeDeckCompanion({
|
|
50
|
+
id: "active-call",
|
|
51
|
+
label: [
|
|
52
|
+
"call-panel.label",
|
|
53
|
+
{
|
|
54
|
+
ns: meta.id
|
|
55
|
+
}
|
|
56
|
+
],
|
|
57
|
+
icon: "ph--video-conference--regular",
|
|
58
|
+
data: null,
|
|
59
|
+
position: "hoist"
|
|
60
|
+
})
|
|
61
|
+
] : []);
|
|
62
|
+
}
|
|
63
|
+
}),
|
|
64
|
+
GraphBuilder.createTypeExtension({
|
|
65
|
+
id: "channel-chat-companion",
|
|
66
|
+
type: Channel.Channel,
|
|
67
|
+
connector: (channel, get) => {
|
|
68
|
+
const callManager = capabilities.get(ThreadCapabilities.CallManager);
|
|
69
|
+
const joined = get(callManager.joinedAtom);
|
|
70
|
+
const roomId = get(callManager.roomIdAtom);
|
|
71
|
+
const isActive = joined && roomId === Obj.getDXN(channel).toString();
|
|
72
|
+
if (!isActive) {
|
|
73
|
+
return Effect.succeed([]);
|
|
74
|
+
}
|
|
75
|
+
return Effect.succeed([
|
|
76
|
+
AppNode.makeCompanion({
|
|
77
|
+
id: "chat",
|
|
78
|
+
label: [
|
|
79
|
+
"channel-companion.label",
|
|
80
|
+
{
|
|
81
|
+
ns: meta.id
|
|
82
|
+
}
|
|
83
|
+
],
|
|
84
|
+
icon: "ph--hash--regular",
|
|
85
|
+
data: "chat",
|
|
86
|
+
position: "hoist"
|
|
87
|
+
})
|
|
88
|
+
]);
|
|
89
|
+
}
|
|
90
|
+
}),
|
|
91
|
+
GraphBuilder.createExtension({
|
|
92
|
+
id: "comments-companion",
|
|
93
|
+
match: (node) => {
|
|
94
|
+
if (!Obj.isObject(node.data) || Option.isNone(whenCommentableObject(node))) {
|
|
95
|
+
return Option.none();
|
|
96
|
+
}
|
|
97
|
+
const commentConfig = getCommentConfig(Obj.getTypename(node.data));
|
|
98
|
+
return commentConfig ? Option.some(node) : Option.none();
|
|
99
|
+
},
|
|
100
|
+
connector: () => Effect.succeed([
|
|
101
|
+
AppNode.makeCompanion({
|
|
102
|
+
id: linkedSegment("comments"),
|
|
103
|
+
label: [
|
|
104
|
+
"comments.label",
|
|
105
|
+
{
|
|
106
|
+
ns: meta.id
|
|
107
|
+
}
|
|
108
|
+
],
|
|
109
|
+
icon: "ph--chat-text--regular",
|
|
110
|
+
data: "comments",
|
|
111
|
+
position: "hoist"
|
|
112
|
+
})
|
|
113
|
+
])
|
|
114
|
+
}),
|
|
115
|
+
GraphBuilder.createExtension({
|
|
116
|
+
id: "comment-toolbar",
|
|
117
|
+
match: (node) => {
|
|
118
|
+
if (!Obj.isObject(node.data) || Option.isNone(whenCommentableObject(node))) {
|
|
119
|
+
return Option.none();
|
|
120
|
+
}
|
|
121
|
+
const commentConfig = getCommentConfig(Obj.getTypename(node.data));
|
|
122
|
+
return commentConfig ? Option.some(node) : Option.none();
|
|
123
|
+
},
|
|
124
|
+
actions: (matched, get) => {
|
|
125
|
+
const object = matched.data;
|
|
126
|
+
const objectDxn = Obj.getDXN(object).toString();
|
|
127
|
+
const stateAtom = capabilities.atom(ThreadCapabilities.State);
|
|
128
|
+
const selectionManager = capabilities.get(AttentionCapabilities.Selection);
|
|
129
|
+
const commentConfig = getCommentConfig(Obj.getTypename(object));
|
|
130
|
+
const disabled = get(commentDisabledFamily({
|
|
131
|
+
stateAtom,
|
|
132
|
+
selectionManager,
|
|
133
|
+
objectId: objectDxn,
|
|
134
|
+
commentsType: commentConfig.comments,
|
|
135
|
+
selectionMode: commentConfig.selectionMode
|
|
136
|
+
}));
|
|
137
|
+
return Effect.succeed([
|
|
138
|
+
{
|
|
139
|
+
id: "comment",
|
|
140
|
+
data: Effect.fnUntraced(function* () {
|
|
141
|
+
const config = getCommentConfig(Obj.getTypename(object));
|
|
142
|
+
const selection = selectionManager.getSelection(objectDxn);
|
|
143
|
+
const anchor = (config.comments === "anchored" ? getAnchor(selection) : void 0) ?? Date.now().toString();
|
|
144
|
+
const name = config.getAnchorLabel?.(object, anchor);
|
|
145
|
+
yield* Operation.invoke(ThreadOperation.Create, {
|
|
146
|
+
anchor,
|
|
147
|
+
name,
|
|
148
|
+
subject: object
|
|
149
|
+
});
|
|
150
|
+
}),
|
|
151
|
+
properties: {
|
|
152
|
+
label: [
|
|
153
|
+
"add-comment.label",
|
|
154
|
+
{
|
|
155
|
+
ns: meta.id
|
|
156
|
+
}
|
|
157
|
+
],
|
|
158
|
+
icon: "ph--chat-text--regular",
|
|
159
|
+
disposition: "toolbar",
|
|
160
|
+
disabled,
|
|
161
|
+
testId: "thread.comment.add"
|
|
162
|
+
}
|
|
163
|
+
}
|
|
164
|
+
]);
|
|
165
|
+
}
|
|
166
|
+
})
|
|
167
|
+
]);
|
|
168
|
+
return Capability.contributes(AppCapabilities.AppGraphBuilder, extensions);
|
|
169
|
+
}));
|
|
170
|
+
export {
|
|
171
|
+
app_graph_builder_default as default
|
|
172
|
+
};
|
|
173
|
+
//# sourceMappingURL=app-graph-builder-BBHAUCMZ.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 Effect from 'effect/Effect';\nimport * as Option from 'effect/Option';\n\nimport { Capability } from '@dxos/app-framework';\nimport { AppCapabilities, AppNode } from '@dxos/app-toolkit';\nimport { Operation } from '@dxos/compute';\nimport { Obj } from '@dxos/echo';\nimport { AttentionCapabilities } from '@dxos/plugin-attention';\nimport { GraphBuilder, NodeMatcher } from '@dxos/plugin-graph';\nimport { linkedSegment } from '@dxos/react-ui-attention';\nimport { type SelectionManager, type SelectionMode, defaultSelection } from '@dxos/react-ui-attention';\nimport { Channel } from '@dxos/types';\n\nimport { meta } from '#meta';\nimport { ThreadOperation } from '#types';\nimport { ThreadCapabilities, type ThreadState } from '#types';\n\nimport { getAnchor } from '../util';\n\ntype CommentDisabledParams = {\n stateAtom: Atom.Atom<Atom.Writable<ThreadState>[]>;\n selectionManager: SelectionManager;\n objectId: string;\n commentsType: string;\n selectionMode: SelectionMode | undefined;\n};\n\n/**\n * Atom family to derive whether the comment button should be disabled.\n * Uses a composite key to ensure proper caching.\n */\nconst commentDisabledFamily = Atom.family(\n ({ stateAtom, selectionManager, objectId, commentsType, selectionMode }: CommentDisabledParams) =>\n Atom.make((get) => {\n const stateAtoms = get(stateAtom);\n const state = stateAtoms[0] ? get(stateAtoms[0]) : undefined;\n const toolbar = state?.toolbar ?? {};\n const selectionState = get(selectionManager.state);\n const selection =\n selectionState.selections[objectId] ?? (selectionMode ? defaultSelection(selectionMode) : undefined);\n const anchor = getAnchor(selection);\n const invalidSelection = !anchor;\n const overlappingComment = toolbar[objectId];\n return (commentsType === 'anchored' && invalidSelection) || overlappingComment;\n }),\n);\n\n/** Match ECHO objects that are NOT Channels (i.e. objects that can have comments). */\nconst whenCommentableObject = NodeMatcher.whenAll(\n NodeMatcher.whenEchoObjectMatches,\n NodeMatcher.whenNot(NodeMatcher.whenEchoTypeMatches(Channel.Channel)),\n);\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 Capability.makeModule(\n Effect.fnUntraced(function* () {\n const capabilities = yield* Capability.Service;\n\n const getCommentConfig = (typename: string) =>\n capabilities.getAll(AppCapabilities.CommentConfig).find(({ id }) => id === typename);\n\n const extensions = yield* Effect.all([\n GraphBuilder.createExtension({\n id: 'active-call',\n match: NodeMatcher.whenRoot,\n connector: (node, get) => {\n const callManagerAtom = capabilities.atom(ThreadCapabilities.CallManager);\n const [call] = get(callManagerAtom);\n if (!call) {\n return Effect.succeed([]);\n }\n // Use derived joinedAtom for efficient subscription.\n const joined = get(call.joinedAtom);\n return Effect.succeed(\n joined\n ? [\n AppNode.makeDeckCompanion({\n id: 'active-call',\n label: ['call-panel.label', { ns: meta.id }],\n icon: 'ph--video-conference--regular',\n data: null,\n position: 'hoist',\n }),\n ]\n : [],\n );\n },\n }),\n GraphBuilder.createTypeExtension({\n id: 'channel-chat-companion',\n type: Channel.Channel,\n connector: (channel, get) => {\n const callManager = capabilities.get(ThreadCapabilities.CallManager);\n // Use derived atoms for efficient subscription.\n const joined = get(callManager.joinedAtom);\n const roomId = get(callManager.roomIdAtom);\n const isActive = joined && roomId === Obj.getDXN(channel).toString();\n if (!isActive) {\n return Effect.succeed([]);\n }\n\n return Effect.succeed([\n AppNode.makeCompanion({\n id: 'chat',\n label: ['channel-companion.label', { ns: meta.id }],\n icon: 'ph--hash--regular',\n data: 'chat',\n position: 'hoist',\n }),\n ]);\n },\n }),\n GraphBuilder.createExtension({\n id: 'comments-companion',\n match: (node) => {\n if (!Obj.isObject(node.data) || Option.isNone(whenCommentableObject(node))) {\n return Option.none();\n }\n const commentConfig = getCommentConfig(Obj.getTypename(node.data)!);\n return commentConfig ? Option.some(node) : Option.none();\n },\n connector: () =>\n Effect.succeed([\n AppNode.makeCompanion({\n id: linkedSegment('comments'),\n label: ['comments.label', { ns: meta.id }],\n icon: 'ph--chat-text--regular',\n data: 'comments',\n position: 'hoist',\n }),\n ]),\n }),\n GraphBuilder.createExtension({\n id: 'comment-toolbar',\n match: (node) => {\n if (!Obj.isObject(node.data) || Option.isNone(whenCommentableObject(node))) {\n return Option.none();\n }\n const commentConfig = getCommentConfig(Obj.getTypename(node.data)!);\n return commentConfig ? Option.some(node) : Option.none();\n },\n actions: (matched, get) => {\n const object = matched.data;\n const objectDxn = Obj.getDXN(object).toString();\n const stateAtom = capabilities.atom(ThreadCapabilities.State);\n const selectionManager = capabilities.get(AttentionCapabilities.Selection);\n const commentConfig = getCommentConfig(Obj.getTypename(object)!)!;\n\n const disabled = get(\n commentDisabledFamily({\n stateAtom,\n selectionManager,\n objectId: objectDxn,\n commentsType: commentConfig.comments,\n selectionMode: commentConfig.selectionMode as SelectionMode | undefined,\n }),\n );\n\n return Effect.succeed([\n {\n id: 'comment',\n data: Effect.fnUntraced(function* () {\n const config = getCommentConfig(Obj.getTypename(object)!)!;\n const selection = selectionManager.getSelection(objectDxn);\n const anchor =\n (config.comments === 'anchored' ? getAnchor(selection) : undefined) ?? Date.now().toString();\n const name = config.getAnchorLabel?.(object, anchor);\n yield* Operation.invoke(ThreadOperation.Create, {\n anchor,\n name,\n subject: object,\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 }),\n ]);\n\n return Capability.contributes(AppCapabilities.AppGraphBuilder, extensions);\n }),\n);\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": ["Atom", "Effect", "Option", "Capability", "AppCapabilities", "AppNode", "Operation", "Obj", "AttentionCapabilities", "GraphBuilder", "NodeMatcher", "linkedSegment", "defaultSelection", "Channel", "meta", "ThreadOperation", "ThreadCapabilities", "commentDisabledFamily", "Atom", "family", "stateAtom", "selectionManager", "objectId", "commentsType", "selectionMode", "make", "get", "stateAtoms", "state", "undefined", "toolbar", "selectionState", "selection", "selections", "defaultSelection", "anchor", "getAnchor", "invalidSelection", "overlappingComment", "whenCommentableObject", "NodeMatcher", "whenAll", "whenEchoObjectMatches", "whenNot", "whenEchoTypeMatches", "Channel", "Capability", "makeModule", "fnUntraced", "capabilities", "Service", "getCommentConfig", "typename", "getAll", "AppCapabilities", "CommentConfig", "find", "id", "extensions", "all", "GraphBuilder", "createExtension", "match", "whenRoot", "connector", "node", "callManagerAtom", "atom", "ThreadCapabilities", "CallManager", "call", "succeed", "joined", "joinedAtom", "AppNode", "makeDeckCompanion", "label", "ns", "meta", "icon", "data", "position", "createTypeExtension", "type", "channel", "callManager", "roomId", "roomIdAtom", "isActive", "Obj", "getDXN", "toString", "makeCompanion", "isObject", "isNone", "none", "commentConfig", "getTypename", "some", "linkedSegment", "actions", "matched", "object", "objectDxn", "State", "AttentionCapabilities", "Selection", "disabled", "comments", "config", "getSelection", "Date", "now", "name", "getAnchorLabel", "Operation", "invoke", "ThreadOperation", "Create", "subject", "properties", "disposition", "testId", "contributes", "AppGraphBuilder"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import {
|
|
2
|
+
ThreadOperation_exports
|
|
3
|
+
} from "./chunk-BFHJWC3L.mjs";
|
|
4
|
+
import "./chunk-J5LGTIGS.mjs";
|
|
5
|
+
|
|
6
|
+
// src/operations/append-channel-message.ts
|
|
7
|
+
import * as Effect from "effect/Effect";
|
|
8
|
+
import { Capability } from "@dxos/app-framework";
|
|
9
|
+
import { Operation } from "@dxos/compute";
|
|
10
|
+
import { Database, Feed, Obj } from "@dxos/echo";
|
|
11
|
+
import { createFeedServiceLayer } from "@dxos/echo-db";
|
|
12
|
+
import { invariant } from "@dxos/invariant";
|
|
13
|
+
import { ClientCapabilities } from "@dxos/plugin-client";
|
|
14
|
+
import { Message } from "@dxos/types";
|
|
15
|
+
var __dxlog_file = "/__w/dxos/dxos/packages/plugins/plugin-thread/src/operations/append-channel-message.ts";
|
|
16
|
+
var handler = ThreadOperation_exports.AppendChannelMessage.pipe(Operation.withHandler(Effect.fnUntraced(function* ({ channel, sender, text }) {
|
|
17
|
+
const db = Obj.getDatabase(channel);
|
|
18
|
+
invariant(db, "Database not found", { "~LogMeta": "~LogMeta", F: __dxlog_file, L: 15, S: this, A: ["db", "'Database not found'"] });
|
|
19
|
+
const client = yield* Capability.get(ClientCapabilities.Client);
|
|
20
|
+
const space = client.spaces.get(db.spaceId);
|
|
21
|
+
invariant(space, "Space not found", { "~LogMeta": "~LogMeta", F: __dxlog_file, L: 18, S: this, A: ["space", "'Space not found'"] });
|
|
22
|
+
const feed = yield* Database.load(channel.feed);
|
|
23
|
+
const message = Message.make({
|
|
24
|
+
sender,
|
|
25
|
+
blocks: [
|
|
26
|
+
{
|
|
27
|
+
_tag: "text",
|
|
28
|
+
text
|
|
29
|
+
}
|
|
30
|
+
]
|
|
31
|
+
});
|
|
32
|
+
yield* Feed.append(feed, [
|
|
33
|
+
message
|
|
34
|
+
]).pipe(Effect.provide(createFeedServiceLayer(space.queues)));
|
|
35
|
+
})));
|
|
36
|
+
var append_channel_message_default = handler;
|
|
37
|
+
export {
|
|
38
|
+
append_channel_message_default as default
|
|
39
|
+
};
|
|
40
|
+
//# sourceMappingURL=append-channel-message-J7N6UEBL.mjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/operations/append-channel-message.ts"],
|
|
4
|
+
"sourcesContent": ["//\n// Copyright 2026 DXOS.org\n//\n\nimport * as Effect from 'effect/Effect';\n\nimport { Capability } from '@dxos/app-framework';\nimport { Operation } from '@dxos/compute';\nimport { Database, Feed, Obj } from '@dxos/echo';\nimport { createFeedServiceLayer } from '@dxos/echo-db';\nimport { invariant } from '@dxos/invariant';\nimport { ClientCapabilities } from '@dxos/plugin-client';\nimport { Message } from '@dxos/types';\n\nimport { ThreadOperation } from '../types';\n\nconst handler: Operation.WithHandler<typeof ThreadOperation.AppendChannelMessage> =\n ThreadOperation.AppendChannelMessage.pipe(\n Operation.withHandler(\n Effect.fnUntraced(function* ({ channel, sender, text }) {\n const db = Obj.getDatabase(channel);\n invariant(db, 'Database not found');\n const client = yield* Capability.get(ClientCapabilities.Client);\n const space = client.spaces.get(db.spaceId);\n invariant(space, 'Space not found');\n\n const feed = yield* Database.load(channel.feed);\n const message = Message.make({\n sender,\n blocks: [{ _tag: 'text', text }],\n });\n yield* Feed.append(feed, [message]).pipe(Effect.provide(createFeedServiceLayer(space.queues)));\n }),\n ),\n );\n\nexport default handler;\n"],
|
|
5
|
+
"mappings": ";;;;;;AAIA,YAAYA,YAAY;AAExB,SAASC,kBAAkB;AAC3B,SAASC,iBAAiB;AAC1B,SAASC,UAAUC,MAAMC,WAAW;AACpC,SAASC,8BAA8B;AACvC,SAASC,iBAAiB;AAC1B,SAASC,0BAA0B;AACnC,SAASC,eAAe;AAIxB,IAAA,eACEC;IAIMC,UAAUC,wBAAI,qBAAA,KAAA,UAAA,YAAA,kBAAA,WAAA,EAAA,SAAA,QAAA,KAAA,GAAA;AACd,QAAMC,KAAAA,IAAS,YAAOC,OAAWC;AACjC,YAAMC,IAAQH,sBAAqBI,EAAAA,YAAO,YAAA,GAAA,cAAA,GAAA,IAAA,GAAA,MAAA,GAAA,CAAA,MAAA,sBAAA,EAAA,CAAA;AAC1CN,QAAAA,SAAUK,OAAO,WAAA,IAAA,mBAAA,MAAA;AAEjB,QAAME,QAAO,OAAOC,OAAAA,IAASC,GAAKC,OAAQH;AAC1C,YAAMI,OAAUC,mBAAa,EAAA,YAAA,YAAA,GAAA,cAAA,GAAA,IAAA,GAAA,MAAA,GAAA,CAAA,SAAA,mBAAA,EAAA,CAAA;QAC3BC,OAAAA,OAAAA,SAAAA,KAAAA,QAAAA,IAAAA;QACAC,UAAQ,QAAA,KAAA;;YAAGC;;QAAmB,MAAA;QAAE;MAClC;IACA;;SAAwC,KAACC,OAAOC,MAAQC;IAC1D;EAIN,CAAA,EAAA,KAAeC,eAAQ,uBAAA,MAAA,MAAA,CAAA,CAAA;;;",
|
|
6
|
+
"names": ["Effect", "Capability", "Operation", "Database", "Feed", "Obj", "createFeedServiceLayer", "invariant", "ClientCapabilities", "Message", "ThreadOperation", "invariant", "db", "client", "Capability", "get", "space", "spaceId", "feed", "Database", "load", "channel", "message", "Message", "sender", "blocks", "_tag", "Effect", "provide", "createFeedServiceLayer", "handler"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import "./chunk-J5LGTIGS.mjs";
|
|
2
|
+
|
|
3
|
+
// src/capabilities/blueprint-definition.ts
|
|
4
|
+
import * as Effect from "effect/Effect";
|
|
5
|
+
import { Capability } from "@dxos/app-framework";
|
|
6
|
+
import { AppCapabilities } from "@dxos/app-toolkit";
|
|
7
|
+
import { ThreadBlueprint } from "#blueprints";
|
|
8
|
+
var blueprintDefinition = Capability.makeModule(() => Effect.succeed([
|
|
9
|
+
Capability.contributes(AppCapabilities.BlueprintDefinition, ThreadBlueprint)
|
|
10
|
+
]));
|
|
11
|
+
var blueprint_definition_default = blueprintDefinition;
|
|
12
|
+
export {
|
|
13
|
+
blueprint_definition_default as default
|
|
14
|
+
};
|
|
15
|
+
//# sourceMappingURL=blueprint-definition-S3EBOH4R.mjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/capabilities/blueprint-definition.ts"],
|
|
4
|
+
"sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport * as Effect from 'effect/Effect';\n\nimport { Capability } from '@dxos/app-framework';\nimport { AppCapabilities } from '@dxos/app-toolkit';\n// eslint-disable-next-line unused-imports/no-unused-imports\nimport type { Blueprint } from '@dxos/compute';\n\nimport { ThreadBlueprint } from '#blueprints';\n\nconst blueprintDefinition = Capability.makeModule<\n [],\n Capability.Capability<typeof AppCapabilities.BlueprintDefinition>[]\n>(() => Effect.succeed([Capability.contributes(AppCapabilities.BlueprintDefinition, ThreadBlueprint)]));\n\nexport default blueprintDefinition;\n"],
|
|
5
|
+
"mappings": ";;;AAIA,YAAYA,YAAY;AAExB,SAASC,kBAAkB;AAC3B,SAASC,uBAAuB;AAIhC,SAASC,uBAAuB;AAEhC,IAAMC,sBAAsBH,WAAWI,WAGrC,MAAaC,eAAQ;EAACL,WAAWM,YAAYL,gBAAgBM,qBAAqBL,eAAAA;CAAiB,CAAA;AAErG,IAAA,+BAAeC;",
|
|
6
|
+
"names": ["Effect", "Capability", "AppCapabilities", "ThreadBlueprint", "blueprintDefinition", "makeModule", "succeed", "contributes", "BlueprintDefinition"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import {
|
|
2
|
+
CallManager
|
|
3
|
+
} from "./chunk-PZ7WTAA2.mjs";
|
|
4
|
+
import "./chunk-CROE4U4O.mjs";
|
|
5
|
+
import "./chunk-J5LGTIGS.mjs";
|
|
6
|
+
|
|
7
|
+
// src/capabilities/call-manager.ts
|
|
8
|
+
import * as Effect from "effect/Effect";
|
|
9
|
+
import { Capabilities, Capability } from "@dxos/app-framework";
|
|
10
|
+
import { ClientCapabilities } from "@dxos/plugin-client";
|
|
11
|
+
import { ThreadCapabilities } from "#types";
|
|
12
|
+
var call_manager_default = Capability.makeModule(Effect.fnUntraced(function* () {
|
|
13
|
+
const client = yield* Capability.get(ClientCapabilities.Client);
|
|
14
|
+
const registry = yield* Capability.get(Capabilities.AtomRegistry);
|
|
15
|
+
const callManager = new CallManager(client, registry);
|
|
16
|
+
yield* Effect.tryPromise(() => callManager.open());
|
|
17
|
+
return Capability.contributes(ThreadCapabilities.CallManager, callManager, () => Effect.sync(() => {
|
|
18
|
+
void callManager.close();
|
|
19
|
+
}));
|
|
20
|
+
}));
|
|
21
|
+
export {
|
|
22
|
+
call_manager_default as default
|
|
23
|
+
};
|
|
24
|
+
//# sourceMappingURL=call-manager-JFA4DLWR.mjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/capabilities/call-manager.ts"],
|
|
4
|
+
"sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport * as Effect from 'effect/Effect';\n\nimport { Capabilities, Capability } from '@dxos/app-framework';\nimport { ClientCapabilities } from '@dxos/plugin-client';\n\nimport { ThreadCapabilities } from '#types';\n\nimport { CallManager } from '../calls';\n\nexport default Capability.makeModule(\n Effect.fnUntraced(function* () {\n const client = yield* Capability.get(ClientCapabilities.Client);\n const registry = yield* Capability.get(Capabilities.AtomRegistry);\n const callManager = new CallManager(client, registry);\n yield* Effect.tryPromise(() => callManager.open());\n\n return Capability.contributes(ThreadCapabilities.CallManager, callManager, () =>\n Effect.sync(() => {\n void callManager.close();\n }),\n );\n }),\n);\n"],
|
|
5
|
+
"mappings": ";;;;;;;AAIA,YAAYA,YAAY;AAExB,SAASC,cAAcC,kBAAkB;AACzC,SAASC,0BAA0B;AAEnC,SAASC,0BAA0B;AAInC,IAAA,uBAAeC,WAAWC,WACjBC,kBAAW,aAAA;AAChB,QAAMC,SAAS,OAAOH,WAAWI,IAAIC,mBAAmBC,MAAM;AAC9D,QAAMC,WAAW,OAAOP,WAAWI,IAAII,aAAaC,YAAY;AAChE,QAAMC,cAAc,IAAIC,YAAYR,QAAQI,QAAAA;AAC5C,SAAcK,kBAAW,MAAMF,YAAYG,KAAI,CAAA;AAE/C,SAAOb,WAAWc,YAAYC,mBAAmBJ,aAAaD,aAAa,MAClEM,YAAK,MAAA;AACV,SAAKN,YAAYO,MAAK;EACxB,CAAA,CAAA;AAEJ,CAAA,CAAA;",
|
|
6
|
+
"names": ["Effect", "Capabilities", "Capability", "ClientCapabilities", "ThreadCapabilities", "Capability", "makeModule", "fnUntraced", "client", "get", "ClientCapabilities", "Client", "registry", "Capabilities", "AtomRegistry", "callManager", "CallManager", "tryPromise", "open", "contributes", "ThreadCapabilities", "sync", "close"]
|
|
7
|
+
}
|