@dxos/plugin-thread 0.8.4-main.5ea62a8 → 0.8.4-main.ae835ea
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/lib/browser/ChannelContainer-SVV4ZX5T.mjs +16 -0
- package/dist/lib/browser/ChatContainer-ALFWQ65B.mjs +15 -0
- package/dist/lib/browser/{app-graph-builder-FHAOPO57.mjs → app-graph-builder-ACBXRBOS.mjs} +20 -20
- package/dist/lib/browser/app-graph-builder-ACBXRBOS.mjs.map +7 -0
- package/dist/lib/browser/{call-manager-EW2QC6Q4.mjs → call-manager-P3MYR2JS.mjs} +7 -7
- package/dist/lib/browser/{call-manager-EW2QC6Q4.mjs.map → call-manager-P3MYR2JS.mjs.map} +1 -1
- package/dist/lib/browser/{chunk-H63NDV62.mjs → chunk-6CUDBEYP.mjs} +12 -11
- package/dist/lib/browser/chunk-6CUDBEYP.mjs.map +7 -0
- package/dist/lib/browser/chunk-BBTXGRIR.mjs +18 -0
- package/dist/lib/browser/chunk-BBTXGRIR.mjs.map +7 -0
- package/dist/lib/browser/{chunk-GERVMFQW.mjs → chunk-CP7E2HRE.mjs} +2 -2
- package/dist/lib/browser/chunk-CP7E2HRE.mjs.map +7 -0
- package/dist/lib/browser/{chunk-TQJYDFBU.mjs → chunk-DJOUMWEL.mjs} +20 -18
- package/dist/lib/browser/chunk-DJOUMWEL.mjs.map +7 -0
- package/dist/lib/browser/{chunk-2P3GVRHP.mjs → chunk-HDEQRBOC.mjs} +2 -2
- package/dist/lib/browser/{chunk-2P3GVRHP.mjs.map → chunk-HDEQRBOC.mjs.map} +2 -2
- package/dist/lib/browser/{chunk-J26C57ZY.mjs → chunk-IQSXEHOW.mjs} +139 -69
- package/dist/lib/browser/chunk-IQSXEHOW.mjs.map +7 -0
- package/dist/lib/browser/chunk-K2DUJRFJ.mjs +27 -0
- package/dist/lib/browser/chunk-K2DUJRFJ.mjs.map +7 -0
- package/dist/lib/browser/chunk-L6F2AG6W.mjs +23 -0
- package/dist/lib/browser/{chunk-TUSBPMNU.mjs → chunk-US5ZQYC3.mjs} +267 -367
- package/dist/lib/browser/chunk-US5ZQYC3.mjs.map +7 -0
- package/dist/lib/browser/chunk-UTSLSZED.mjs +178 -0
- package/dist/lib/browser/chunk-UTSLSZED.mjs.map +7 -0
- package/dist/lib/browser/{chunk-KEXJGF2R.mjs → chunk-XYUJXHYV.mjs} +53 -3
- package/dist/lib/browser/chunk-XYUJXHYV.mjs.map +7 -0
- package/dist/lib/browser/index.mjs +23 -22
- package/dist/lib/browser/index.mjs.map +3 -3
- package/dist/lib/browser/{intent-resolver-IB5GYU2D.mjs → intent-resolver-5POQTZ24.mjs} +25 -34
- package/dist/lib/browser/intent-resolver-5POQTZ24.mjs.map +7 -0
- package/dist/lib/browser/{markdown-Z677YORA.mjs → markdown-L7LDNF56.mjs} +9 -9
- package/dist/lib/browser/markdown-L7LDNF56.mjs.map +7 -0
- package/dist/lib/browser/meta.json +1 -1
- package/dist/lib/browser/react-root-RCJLK4EP.mjs +28 -0
- package/dist/lib/browser/react-root-RCJLK4EP.mjs.map +7 -0
- package/dist/lib/browser/{react-surface-X2VB6P37.mjs → react-surface-IC576W2W.mjs} +27 -27
- package/dist/lib/browser/react-surface-IC576W2W.mjs.map +7 -0
- package/dist/lib/browser/{settings-GRKEID73.mjs → settings-5FYGBOGI.mjs} +5 -5
- package/dist/lib/browser/{settings-GRKEID73.mjs.map → settings-5FYGBOGI.mjs.map} +1 -1
- package/dist/lib/browser/{state-2T4KDWBX.mjs → state-36REWXO5.mjs} +5 -5
- package/dist/lib/browser/{state-2T4KDWBX.mjs.map → state-36REWXO5.mjs.map} +1 -1
- package/dist/lib/browser/toolkit-PXASLYEQ.mjs +74 -0
- package/dist/lib/browser/toolkit-PXASLYEQ.mjs.map +7 -0
- package/dist/lib/browser/types/index.mjs +7 -9
- package/dist/lib/node-esm/ChannelContainer-63GMQ753.mjs +17 -0
- package/dist/lib/node-esm/{ChatContainer-4EGHKHIU.mjs → ChatContainer-MFKPXMIK.mjs} +6 -6
- package/dist/lib/node-esm/{app-graph-builder-XEYWX5FC.mjs → app-graph-builder-JXD7KY3G.mjs} +20 -20
- package/dist/lib/node-esm/app-graph-builder-JXD7KY3G.mjs.map +7 -0
- package/dist/lib/node-esm/{call-manager-N3KASRDQ.mjs → call-manager-FCEFP7EJ.mjs} +7 -7
- package/dist/lib/node-esm/{call-manager-N3KASRDQ.mjs.map → call-manager-FCEFP7EJ.mjs.map} +1 -1
- package/dist/lib/node-esm/{chunk-CTZ75IFK.mjs → chunk-2MMJF7DW.mjs} +2 -2
- package/dist/lib/node-esm/{chunk-CTZ75IFK.mjs.map → chunk-2MMJF7DW.mjs.map} +2 -2
- package/dist/lib/node-esm/{chunk-S3D7DTBF.mjs → chunk-2V3WSLUZ.mjs} +53 -3
- package/dist/lib/node-esm/chunk-2V3WSLUZ.mjs.map +7 -0
- package/dist/lib/node-esm/{chunk-57XR3LEF.mjs → chunk-ABUFOZVX.mjs} +2 -2
- package/dist/lib/node-esm/chunk-ABUFOZVX.mjs.map +7 -0
- package/dist/lib/node-esm/chunk-AFDO2SUZ.mjs +25 -0
- package/dist/lib/node-esm/{chunk-JR7KESLL.mjs → chunk-KGYDYYKJ.mjs} +267 -367
- package/dist/lib/node-esm/chunk-KGYDYYKJ.mjs.map +7 -0
- package/dist/lib/node-esm/{chunk-UHZQTPXU.mjs → chunk-NWUUMKVQ.mjs} +12 -11
- package/dist/lib/node-esm/chunk-NWUUMKVQ.mjs.map +7 -0
- package/dist/lib/node-esm/{chunk-NNKKNW57.mjs → chunk-Q7AKKZNY.mjs} +139 -69
- package/dist/lib/node-esm/chunk-Q7AKKZNY.mjs.map +7 -0
- package/dist/lib/node-esm/{chunk-CCE5LHBE.mjs → chunk-QCQAAU6J.mjs} +20 -18
- package/dist/lib/node-esm/chunk-QCQAAU6J.mjs.map +7 -0
- package/dist/lib/node-esm/chunk-TYLLHI46.mjs +179 -0
- package/dist/lib/node-esm/chunk-TYLLHI46.mjs.map +7 -0
- package/dist/lib/node-esm/chunk-XI45H4IV.mjs +28 -0
- package/dist/lib/node-esm/chunk-XI45H4IV.mjs.map +7 -0
- package/dist/lib/node-esm/chunk-ZQAGII7M.mjs +19 -0
- package/dist/lib/node-esm/chunk-ZQAGII7M.mjs.map +7 -0
- package/dist/lib/node-esm/index.mjs +23 -22
- package/dist/lib/node-esm/index.mjs.map +3 -3
- package/dist/lib/node-esm/{intent-resolver-VIMI5VLH.mjs → intent-resolver-63NV3XD2.mjs} +25 -34
- package/dist/lib/node-esm/intent-resolver-63NV3XD2.mjs.map +7 -0
- package/dist/lib/node-esm/{markdown-FL4IXLRP.mjs → markdown-ZQW7MI5U.mjs} +9 -9
- package/dist/lib/node-esm/markdown-ZQW7MI5U.mjs.map +7 -0
- package/dist/lib/node-esm/meta.json +1 -1
- package/dist/lib/node-esm/react-root-4IDB2SN2.mjs +29 -0
- package/dist/lib/node-esm/react-root-4IDB2SN2.mjs.map +7 -0
- package/dist/lib/node-esm/{react-surface-OLN3XNND.mjs → react-surface-O4LGTAZ3.mjs} +27 -27
- package/dist/lib/node-esm/react-surface-O4LGTAZ3.mjs.map +7 -0
- package/dist/lib/node-esm/{settings-F2ODVNNW.mjs → settings-EOBQUZSW.mjs} +5 -5
- package/dist/lib/node-esm/{settings-F2ODVNNW.mjs.map → settings-EOBQUZSW.mjs.map} +1 -1
- package/dist/lib/node-esm/{state-62TQKQVB.mjs → state-X3W67GTL.mjs} +5 -5
- package/dist/lib/node-esm/{state-62TQKQVB.mjs.map → state-X3W67GTL.mjs.map} +1 -1
- package/dist/lib/node-esm/toolkit-X2KA4FNC.mjs +75 -0
- package/dist/lib/node-esm/toolkit-X2KA4FNC.mjs.map +7 -0
- package/dist/lib/node-esm/types/index.mjs +7 -9
- package/dist/types/src/ThreadPlugin.d.ts +1 -1
- package/dist/types/src/ThreadPlugin.d.ts.map +1 -1
- package/dist/types/src/calls/media-manager.d.ts.map +1 -1
- package/dist/types/src/calls/types.d.ts.map +1 -1
- package/dist/types/src/calls/util/calls-service.d.ts +2 -0
- package/dist/types/src/calls/util/calls-service.d.ts.map +1 -1
- package/dist/types/src/calls/util/stub-media-streams.d.ts.map +1 -1
- package/dist/types/src/calls-service.stories.d.ts +0 -1
- package/dist/types/src/calls-service.stories.d.ts.map +1 -1
- package/dist/types/src/capabilities/app-graph-builder.d.ts.map +1 -1
- package/dist/types/src/capabilities/capabilities.d.ts +2 -2
- package/dist/types/src/capabilities/capabilities.d.ts.map +1 -1
- package/dist/types/src/capabilities/intent-resolver.d.ts.map +1 -1
- package/dist/types/src/capabilities/toolkit.d.ts +21 -2
- package/dist/types/src/capabilities/toolkit.d.ts.map +1 -1
- package/dist/types/src/components/Call/Toolbar.d.ts +2 -2
- package/dist/types/src/components/Call/Toolbar.d.ts.map +1 -1
- package/dist/types/src/components/CallDebugPanel.d.ts +7 -0
- package/dist/types/src/components/CallDebugPanel.d.ts.map +1 -1
- package/dist/types/src/components/ChannelContainer.d.ts +2 -2
- package/dist/types/src/components/ChannelContainer.d.ts.map +1 -1
- package/dist/types/src/components/ChannelContainer.stories.d.ts +74 -8
- package/dist/types/src/components/ChannelContainer.stories.d.ts.map +1 -1
- package/dist/types/src/components/Chat.stories.d.ts +74 -6
- package/dist/types/src/components/Chat.stories.d.ts.map +1 -1
- package/dist/types/src/components/ChatContainer.d.ts +6 -5
- package/dist/types/src/components/ChatContainer.d.ts.map +1 -1
- package/dist/types/src/components/Comments.stories.d.ts +3 -2
- package/dist/types/src/components/Comments.stories.d.ts.map +1 -1
- package/dist/types/src/components/CommentsThreadContainer.d.ts.map +1 -1
- package/dist/types/src/components/Media/VideoObject.d.ts +2 -2
- package/dist/types/src/components/Media/VideoObject.d.ts.map +1 -1
- package/dist/types/src/components/Media/VideoObject.stories.d.ts +5 -3
- package/dist/types/src/components/Media/VideoObject.stories.d.ts.map +1 -1
- package/dist/types/src/components/ResponsiveGrid/ResponsiveContainer.stories.d.ts +4 -2
- package/dist/types/src/components/ResponsiveGrid/ResponsiveContainer.stories.d.ts.map +1 -1
- package/dist/types/src/components/ResponsiveGrid/ResponsiveGrid.stories.d.ts +4 -2
- package/dist/types/src/components/ResponsiveGrid/ResponsiveGrid.stories.d.ts.map +1 -1
- package/dist/types/src/components/ThreadSettings.d.ts +1 -1
- package/dist/types/src/components/ThreadSettings.d.ts.map +1 -1
- package/dist/types/src/components/index.d.ts +1 -1
- package/dist/types/src/components/index.d.ts.map +1 -1
- package/dist/types/src/components/testing.d.ts +3 -3
- package/dist/types/src/components/testing.d.ts.map +1 -1
- package/dist/types/src/extensions/threads.d.ts.map +1 -1
- package/dist/types/src/hooks/useVideoStreamTrack.d.ts +1 -1
- package/dist/types/src/hooks/useVideoStreamTrack.d.ts.map +1 -1
- package/dist/types/src/meta.d.ts +1 -2
- package/dist/types/src/meta.d.ts.map +1 -1
- package/dist/types/src/testing/stories.d.ts.map +1 -1
- package/dist/types/src/translations.d.ts +73 -6
- package/dist/types/src/translations.d.ts.map +1 -1
- package/dist/types/src/types/Channel.d.ts +16 -0
- package/dist/types/src/types/Channel.d.ts.map +1 -0
- package/dist/types/src/types/{schema.d.ts → Thread.d.ts} +18 -28
- package/dist/types/src/types/Thread.d.ts.map +1 -0
- package/dist/types/src/types/index.d.ts +2 -1
- package/dist/types/src/types/index.d.ts.map +1 -1
- package/dist/types/src/types/types.d.ts +37 -50
- package/dist/types/src/types/types.d.ts.map +1 -1
- package/dist/types/tsconfig.tsbuildinfo +1 -1
- package/package.json +59 -59
- package/src/ThreadPlugin.tsx +133 -130
- package/src/calls/call-manager.ts +1 -1
- package/src/calls/media-manager.ts +2 -1
- package/src/calls/types.ts +7 -3
- package/src/calls/util/calls-service.ts +12 -7
- package/src/calls/util/stub-media-streams.ts +60 -2
- package/src/calls-service.stories.tsx +2 -5
- package/src/capabilities/app-graph-builder.ts +17 -14
- package/src/capabilities/capabilities.ts +7 -7
- package/src/capabilities/intent-resolver.ts +14 -19
- package/src/capabilities/react-root.tsx +2 -2
- package/src/capabilities/react-surface.tsx +15 -15
- package/src/capabilities/toolkit.ts +18 -11
- package/src/components/Call/Toolbar.tsx +6 -6
- package/src/components/CallDebugPanel.tsx +108 -49
- package/src/components/ChannelContainer.stories.tsx +9 -9
- package/src/components/ChannelContainer.tsx +14 -11
- package/src/components/Chat.stories.tsx +13 -18
- package/src/components/ChatContainer.tsx +26 -17
- package/src/components/Comments.stories.tsx +8 -13
- package/src/components/CommentsContainer.tsx +2 -2
- package/src/components/CommentsThreadContainer.tsx +19 -14
- package/src/components/Media/VideoObject.stories.tsx +12 -7
- package/src/components/ResponsiveGrid/ResponsiveContainer.stories.tsx +3 -4
- package/src/components/ResponsiveGrid/ResponsiveGrid.stories.tsx +3 -4
- package/src/components/ThreadComplementary.tsx +7 -7
- package/src/components/ThreadSettings.tsx +4 -5
- package/src/components/testing.ts +5 -5
- package/src/extensions/threads.ts +5 -5
- package/src/hooks/useVideoStreamTrack.tsx +1 -1
- package/src/meta.ts +9 -5
- package/src/testing/stories.ts +3 -6
- package/src/translations.ts +5 -3
- package/src/types/Channel.ts +27 -0
- package/src/types/Thread.ts +26 -0
- package/src/types/index.ts +2 -1
- package/src/types/types.ts +10 -9
- package/src/typings/peermetrics-webrtc-stats.d.ts +17 -1
- package/src/util.ts +1 -1
- package/dist/lib/browser/ChannelContainer-GHDNEZT2.mjs +0 -16
- package/dist/lib/browser/ChatContainer-42ALOWUA.mjs +0 -15
- package/dist/lib/browser/app-graph-builder-FHAOPO57.mjs.map +0 -7
- package/dist/lib/browser/chunk-2I277V52.mjs +0 -23
- package/dist/lib/browser/chunk-4APCDRSH.mjs +0 -18
- package/dist/lib/browser/chunk-4APCDRSH.mjs.map +0 -7
- package/dist/lib/browser/chunk-EV4JWI7L.mjs +0 -17
- package/dist/lib/browser/chunk-EV4JWI7L.mjs.map +0 -7
- package/dist/lib/browser/chunk-GERVMFQW.mjs.map +0 -7
- package/dist/lib/browser/chunk-H63NDV62.mjs.map +0 -7
- package/dist/lib/browser/chunk-J26C57ZY.mjs.map +0 -7
- package/dist/lib/browser/chunk-KEXJGF2R.mjs.map +0 -7
- package/dist/lib/browser/chunk-KTWYVC5X.mjs +0 -147
- package/dist/lib/browser/chunk-KTWYVC5X.mjs.map +0 -7
- package/dist/lib/browser/chunk-TQJYDFBU.mjs.map +0 -7
- package/dist/lib/browser/chunk-TUSBPMNU.mjs.map +0 -7
- package/dist/lib/browser/intent-resolver-IB5GYU2D.mjs.map +0 -7
- package/dist/lib/browser/markdown-Z677YORA.mjs.map +0 -7
- package/dist/lib/browser/react-root-PTTTW2MO.mjs +0 -28
- package/dist/lib/browser/react-root-PTTTW2MO.mjs.map +0 -7
- package/dist/lib/browser/react-surface-X2VB6P37.mjs.map +0 -7
- package/dist/lib/browser/toolkit-KUPIIFC6.mjs +0 -80
- package/dist/lib/browser/toolkit-KUPIIFC6.mjs.map +0 -7
- package/dist/lib/node-esm/ChannelContainer-D5E2S6AI.mjs +0 -17
- package/dist/lib/node-esm/app-graph-builder-XEYWX5FC.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-57XR3LEF.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-CCE5LHBE.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-GRLRWTRU.mjs +0 -19
- package/dist/lib/node-esm/chunk-GRLRWTRU.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-JR7KESLL.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-NNKKNW57.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-P6E247RF.mjs +0 -148
- package/dist/lib/node-esm/chunk-P6E247RF.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-PYTVBN5J.mjs +0 -19
- package/dist/lib/node-esm/chunk-PYTVBN5J.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-S3D7DTBF.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-UHZQTPXU.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-UJ2QNRLS.mjs +0 -25
- package/dist/lib/node-esm/intent-resolver-VIMI5VLH.mjs.map +0 -7
- package/dist/lib/node-esm/markdown-FL4IXLRP.mjs.map +0 -7
- package/dist/lib/node-esm/react-root-2HHRRUME.mjs +0 -29
- package/dist/lib/node-esm/react-root-2HHRRUME.mjs.map +0 -7
- package/dist/lib/node-esm/react-surface-OLN3XNND.mjs.map +0 -7
- package/dist/lib/node-esm/toolkit-KZIS7G36.mjs +0 -81
- package/dist/lib/node-esm/toolkit-KZIS7G36.mjs.map +0 -7
- package/dist/types/src/types/schema.d.ts.map +0 -1
- package/src/types/schema.ts +0 -33
- /package/dist/lib/browser/{ChannelContainer-GHDNEZT2.mjs.map → ChannelContainer-SVV4ZX5T.mjs.map} +0 -0
- /package/dist/lib/browser/{ChatContainer-42ALOWUA.mjs.map → ChatContainer-ALFWQ65B.mjs.map} +0 -0
- /package/dist/lib/browser/{chunk-2I277V52.mjs.map → chunk-L6F2AG6W.mjs.map} +0 -0
- /package/dist/lib/node-esm/{ChannelContainer-D5E2S6AI.mjs.map → ChannelContainer-63GMQ753.mjs.map} +0 -0
- /package/dist/lib/node-esm/{ChatContainer-4EGHKHIU.mjs.map → ChatContainer-MFKPXMIK.mjs.map} +0 -0
- /package/dist/lib/node-esm/{chunk-UJ2QNRLS.mjs.map → chunk-AFDO2SUZ.mjs.map} +0 -0
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/ThreadPlugin.tsx", "../../../src/translations.ts"],
|
|
4
|
-
"sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nimport { Capabilities, Events, contributes, createIntent, defineModule, definePlugin } from '@dxos/app-framework';\nimport { Ref } from '@dxos/echo';\nimport { ClientCapabilities, ClientEvents } from '@dxos/plugin-client';\nimport { MarkdownEvents } from '@dxos/plugin-markdown';\nimport { SpaceCapabilities, SpaceEvents } from '@dxos/plugin-space';\nimport { defineObjectForm } from '@dxos/plugin-space/types';\nimport { translations as threadTranslations } from '@dxos/react-ui-thread';\nimport { AnchoredTo, DataType } from '@dxos/schema';\n\nimport {\n AppGraphBuilder,\n CallManager,\n IntentResolver,\n Markdown,\n ReactRoot,\n ReactSurface,\n ThreadState,\n Toolkit,\n} from './capabilities';\nimport { THREAD_ITEM, meta } from './meta';\nimport { translations } from './translations';\nimport {
|
|
5
|
-
"mappings": "
|
|
6
|
-
"names": ["Capabilities", "Events", "contributes", "createIntent", "defineModule", "definePlugin", "Ref", "ClientCapabilities", "ClientEvents", "MarkdownEvents", "SpaceCapabilities", "SpaceEvents", "defineObjectForm", "translations", "threadTranslations", "AnchoredTo", "DataType", "translations", "
|
|
4
|
+
"sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nimport { Capabilities, Events, contributes, createIntent, defineModule, definePlugin } from '@dxos/app-framework';\nimport { Ref, Type } from '@dxos/echo';\nimport { ClientCapabilities, ClientEvents } from '@dxos/plugin-client';\nimport { MarkdownEvents } from '@dxos/plugin-markdown';\nimport { SpaceCapabilities, SpaceEvents } from '@dxos/plugin-space';\nimport { defineObjectForm } from '@dxos/plugin-space/types';\nimport { translations as threadTranslations } from '@dxos/react-ui-thread';\nimport { AnchoredTo, DataType } from '@dxos/schema';\n\nimport {\n AppGraphBuilder,\n CallManager,\n IntentResolver,\n Markdown,\n ReactRoot,\n ReactSurface,\n ThreadState,\n Toolkit,\n} from './capabilities';\nimport { THREAD_ITEM, meta } from './meta';\nimport { translations } from './translations';\nimport { Channel, Thread, ThreadAction } 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.\nexport const ThreadPlugin = definePlugin(meta, () => [\n defineModule({\n id: `${meta.id}/module/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 // defineModule({\n // id: `${meta.id}/module/settings`,\n // activatesOn: Events.SetupSettings,\n // activate: ThreadSettings,\n // }),\n defineModule({\n id: `${meta.id}/module/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: Events.SetupSettings,\n activate: ThreadState,\n }),\n defineModule({\n id: `${meta.id}/module/translations`,\n activatesOn: Events.SetupTranslations,\n activate: () => contributes(Capabilities.Translations, [...translations, ...threadTranslations]),\n }),\n defineModule({\n id: `${meta.id}/module/metadata`,\n activatesOn: Events.SetupMetadata,\n activate: () => [\n contributes(Capabilities.Metadata, {\n id: Type.getTypename(Channel.Channel),\n metadata: {\n icon: 'ph--hash--regular',\n iconHue: 'rose',\n },\n }),\n contributes(Capabilities.Metadata, {\n id: Type.getTypename(Thread.Thread),\n metadata: {\n // TODO(wittjosiah): Move out of metadata.\n loadReferences: async (thread: Thread.Thread) => await Ref.Array.loadAll(thread.messages ?? []),\n },\n }),\n contributes(Capabilities.Metadata, {\n id: DataType.Message.typename,\n metadata: {\n // TODO(wittjosiah): Move out of metadata.\n loadReferences: () => [], // loadObjectReferences(message, (message) => [...message.parts, message.context]),\n },\n }),\n contributes(Capabilities.Metadata, {\n id: THREAD_ITEM,\n metadata: {\n parse: (item: Thread.Thread, type: string) => {\n switch (type) {\n case 'node':\n return { id: item.id, label: item.name, data: item };\n case 'object':\n return item;\n case 'view-object':\n return { id: `${item.id}-view`, object: item };\n }\n },\n },\n }),\n ],\n }),\n defineModule({\n id: `${meta.id}/module/object-form`,\n activatesOn: ClientEvents.SetupSchema,\n activate: () =>\n contributes(\n SpaceCapabilities.ObjectForm,\n defineObjectForm({\n objectSchema: Channel.Channel,\n getIntent: (_, options) =>\n createIntent(ThreadAction.CreateChannel, {\n spaceId: options.space.id,\n }),\n }),\n ),\n }),\n defineModule({\n id: `${meta.id}/module/schema`,\n activatesOn: ClientEvents.SetupSchema,\n activate: () =>\n contributes(ClientCapabilities.Schema, [AnchoredTo, Thread.Thread, DataType.Message, DataType.MessageV1]),\n }),\n defineModule({\n id: `${meta.id}/module/migration`,\n activatesOn: ClientEvents.SetupMigration,\n activate: () => contributes(ClientCapabilities.Migration, [DataType.MessageV1ToV2]),\n }),\n defineModule({\n id: `${meta.id}/module/on-space-created`,\n activatesOn: SpaceEvents.SpaceCreated,\n activate: () =>\n contributes(SpaceCapabilities.onCreateSpace, ({ space, rootCollection }) =>\n createIntent(ThreadAction.onCreateSpace, { space, rootCollection }),\n ),\n }),\n defineModule({\n id: `${meta.id}/module/markdown`,\n activatesOn: MarkdownEvents.SetupExtensions,\n activate: Markdown,\n }),\n defineModule({\n id: `${meta.id}/module/react-root`,\n activatesOn: Events.Startup,\n activate: ReactRoot,\n }),\n defineModule({\n id: `${meta.id}/module/react-surface`,\n activatesOn: Events.SetupReactSurface,\n activate: ReactSurface,\n }),\n defineModule({\n id: `${meta.id}/module/intent-resolver`,\n activatesOn: Events.SetupIntentResolver,\n activate: IntentResolver,\n }),\n defineModule({\n id: `${meta.id}/module/app-graph-builder`,\n activatesOn: Events.SetupAppGraph,\n activate: AppGraphBuilder,\n }),\n defineModule({\n id: `${meta.id}/module/toolkit`,\n // TODO(wittjosiah): Shouldn't use the startup event.\n activatesOn: Events.Startup,\n activate: Toolkit,\n }),\n]);\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport { Type } from '@dxos/echo';\nimport { type Resource } from '@dxos/react-ui';\n\nimport { meta } from './meta';\nimport { Channel } from './types';\n\nexport const translations = [\n {\n 'en-US': {\n [Type.getTypename(Channel.Channel)]: {\n 'typename label': 'Channel',\n 'typename label_zero': 'Channels',\n 'typename label_one': 'Channel',\n 'typename label_other': 'Channels',\n 'object name placeholder': 'New channel',\n 'rename object label': 'Rename channel',\n 'delete object label': 'Delete channel',\n },\n [meta.id]: {\n 'plugin name': 'Chat',\n 'channel title label': 'Title',\n 'message placeholder': 'Reply…',\n 'activity message': 'Processing…',\n 'anonymous label': 'Anonymous',\n 'delete message block label': 'Delete message block',\n 'detached thread label': 'Referenced content was removed',\n 'delete thread label': 'Delete thread',\n 'resolve thread label': 'Resolve thread',\n 'thread deleted label': 'Thread deleted',\n 'message deleted label': 'Message deleted',\n 'comments heading': 'Comments',\n 'chat heading': 'Chat',\n 'draft button': 'DRAFT',\n 'no comments title': 'Comments',\n 'no comments message':\n 'Click on the <commentIcon></commentIcon> button in the document toolbar to create a comment thread on the selected text.',\n 'toggle show resolved': 'Show resolved',\n 'unnamed object threads label': 'Threads',\n 'mark as resolved label': 'Mark as resolved',\n 'mark as unresolved label': 'Mark as unresolved',\n 'save message label': 'Save',\n 'edit message label': 'Edit',\n 'delete message label': 'Delete message',\n 'accept proposal label': 'Accept proposal',\n 'open comments panel label': 'Show Comments',\n 'comments label': 'Comments',\n 'show all label': 'All comments',\n 'show unresolved label': 'Unresolved comments',\n\n 'channel companion label': 'Channel',\n 'call panel label': 'Active Call',\n\n 'display name label': 'Display name',\n 'display name description': 'Set your display name before joining a meeting.',\n 'display name input placeholder': 'Enter your name',\n 'set display name label': 'Continue',\n\n 'call tab label': 'Call',\n 'meeting status title': 'Meeting',\n 'share meeting link label': 'Share meeting',\n 'show webrtc stats title': 'WebRTC Stats',\n 'show calls history title': 'Service History',\n\n 'meeting summary label': 'Summary',\n 'summarize label': 'Summarize',\n 'summarizing label': 'Creating summary...',\n 'create summary message': 'A summary doesn’t exist for this meeting yet. Create one now?',\n\n 'join call': 'Join',\n 'leave call': 'Leave',\n\n 'lobby participants_zero': 'No participants',\n 'lobby participants_one': '1 participant',\n 'lobby participants_other': '{{count}} participants',\n\n 'icon pin': 'Pin video',\n 'icon unpin': 'Unpin video',\n 'icon wave': 'Waving',\n 'icon muted': 'Muted',\n 'icon speaking': 'Speaking',\n\n 'mic on': 'Unmute',\n 'mic off': 'Mute',\n 'camera on': 'Turn camera on',\n 'camera off': 'Turn camera off',\n 'camera off label': 'Camera off',\n\n 'raise hand': 'Raise hand',\n 'lower hand': 'Lower hand',\n 'screenshare on': 'Share screen',\n 'screenshare off': 'Stop streaming',\n },\n },\n },\n] as const satisfies Resource[];\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": ["Capabilities", "Events", "contributes", "createIntent", "defineModule", "definePlugin", "Ref", "Type", "ClientCapabilities", "ClientEvents", "MarkdownEvents", "SpaceCapabilities", "SpaceEvents", "defineObjectForm", "translations", "threadTranslations", "AnchoredTo", "DataType", "Type", "translations", "Type", "getTypename", "Channel", "meta", "id", "ThreadPlugin", "definePlugin", "meta", "defineModule", "id", "activatesOn", "ClientEvents", "ClientReady", "activate", "CallManager", "Events", "SetupSettings", "ThreadState", "SetupTranslations", "contributes", "Capabilities", "Translations", "translations", "threadTranslations", "SetupMetadata", "Metadata", "Type", "getTypename", "Channel", "metadata", "icon", "iconHue", "Thread", "loadReferences", "thread", "Ref", "Array", "loadAll", "messages", "DataType", "Message", "typename", "THREAD_ITEM", "parse", "item", "type", "label", "name", "data", "object", "SetupSchema", "SpaceCapabilities", "ObjectForm", "defineObjectForm", "objectSchema", "getIntent", "_", "options", "createIntent", "ThreadAction", "CreateChannel", "spaceId", "space", "ClientCapabilities", "Schema", "AnchoredTo", "MessageV1", "SetupMigration", "Migration", "MessageV1ToV2", "SpaceEvents", "SpaceCreated", "onCreateSpace", "rootCollection", "MarkdownEvents", "SetupExtensions", "Markdown", "Startup", "ReactRoot", "SetupReactSurface", "ReactSurface", "SetupIntentResolver", "IntentResolver", "SetupAppGraph", "AppGraphBuilder", "Toolkit"]
|
|
7
7
|
}
|
|
@@ -1,18 +1,18 @@
|
|
|
1
1
|
import { createRequire } from 'node:module';const require = createRequire(import.meta.url);
|
|
2
2
|
import {
|
|
3
|
-
|
|
3
|
+
Channel_exports,
|
|
4
4
|
ThreadAction,
|
|
5
|
-
|
|
6
|
-
} from "./chunk-
|
|
5
|
+
Thread_exports
|
|
6
|
+
} from "./chunk-TYLLHI46.mjs";
|
|
7
7
|
import {
|
|
8
8
|
ThreadCapabilities
|
|
9
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-ZQAGII7M.mjs";
|
|
10
10
|
import {
|
|
11
|
-
|
|
12
|
-
} from "./chunk-
|
|
11
|
+
meta
|
|
12
|
+
} from "./chunk-XI45H4IV.mjs";
|
|
13
13
|
|
|
14
14
|
// src/capabilities/intent-resolver.ts
|
|
15
|
-
import
|
|
15
|
+
import * as Effect from "effect/Effect";
|
|
16
16
|
import { Capabilities, contributes, createIntent, createResolver } from "@dxos/app-framework";
|
|
17
17
|
import { sleep } from "@dxos/async";
|
|
18
18
|
import { Obj, Relation, Type } from "@dxos/echo";
|
|
@@ -23,13 +23,13 @@ import { CollectionAction, SpaceAction } from "@dxos/plugin-space/types";
|
|
|
23
23
|
import { Ref, fullyQualifiedId, getSpace } from "@dxos/react-client/echo";
|
|
24
24
|
import { AnchoredTo, DataType } from "@dxos/schema";
|
|
25
25
|
var __dxlog_file = "/__w/dxos/dxos/packages/plugins/plugin-thread/src/capabilities/intent-resolver.ts";
|
|
26
|
-
var intent_resolver_default = (context) => contributes(Capabilities.IntentResolver, [
|
|
26
|
+
var intent_resolver_default = ((context) => contributes(Capabilities.IntentResolver, [
|
|
27
27
|
createResolver({
|
|
28
|
-
intent: ThreadAction.
|
|
28
|
+
intent: ThreadAction.onCreateSpace,
|
|
29
29
|
resolve: ({ space, rootCollection }) => Effect.gen(function* () {
|
|
30
30
|
const { dispatch } = context.getCapability(Capabilities.IntentDispatcher);
|
|
31
31
|
const { object: collection } = yield* dispatch(createIntent(CollectionAction.CreateQueryCollection, {
|
|
32
|
-
typename: Type.getTypename(
|
|
32
|
+
typename: Type.getTypename(Channel_exports.Channel)
|
|
33
33
|
}));
|
|
34
34
|
rootCollection.objects.push(Ref.make(collection));
|
|
35
35
|
const { object: channel } = yield* dispatch(createIntent(ThreadAction.CreateChannel, {
|
|
@@ -43,13 +43,8 @@ var intent_resolver_default = (context) => contributes(Capabilities.IntentResolv
|
|
|
43
43
|
intent: ThreadAction.CreateChannel,
|
|
44
44
|
resolve: ({ name }) => ({
|
|
45
45
|
data: {
|
|
46
|
-
object:
|
|
47
|
-
name
|
|
48
|
-
defaultThread: Ref.make(Obj.make(ThreadType, {
|
|
49
|
-
messages: [],
|
|
50
|
-
status: "active"
|
|
51
|
-
})),
|
|
52
|
-
threads: []
|
|
46
|
+
object: Channel_exports.make({
|
|
47
|
+
name
|
|
53
48
|
})
|
|
54
49
|
}
|
|
55
50
|
})
|
|
@@ -57,8 +52,7 @@ var intent_resolver_default = (context) => contributes(Capabilities.IntentResolv
|
|
|
57
52
|
createResolver({
|
|
58
53
|
intent: ThreadAction.CreateChannelThread,
|
|
59
54
|
resolve: ({ channel }) => {
|
|
60
|
-
const thread =
|
|
61
|
-
messages: [],
|
|
55
|
+
const thread = Thread_exports.make({
|
|
62
56
|
status: "active"
|
|
63
57
|
});
|
|
64
58
|
channel.threads.push(Ref.make(thread));
|
|
@@ -76,7 +70,7 @@ var intent_resolver_default = (context) => contributes(Capabilities.IntentResolv
|
|
|
76
70
|
const space = getSpace(subject);
|
|
77
71
|
invariant(space, "Space not found", {
|
|
78
72
|
F: __dxlog_file,
|
|
79
|
-
L:
|
|
73
|
+
L: 65,
|
|
80
74
|
S: void 0,
|
|
81
75
|
A: [
|
|
82
76
|
"space",
|
|
@@ -85,10 +79,8 @@ var intent_resolver_default = (context) => contributes(Capabilities.IntentResolv
|
|
|
85
79
|
});
|
|
86
80
|
const { state } = context.getCapability(ThreadCapabilities.MutableState);
|
|
87
81
|
const subjectId = fullyQualifiedId(subject);
|
|
88
|
-
const thread =
|
|
89
|
-
name
|
|
90
|
-
messages: [],
|
|
91
|
-
status: "staged"
|
|
82
|
+
const thread = Thread_exports.make({
|
|
83
|
+
name
|
|
92
84
|
});
|
|
93
85
|
const anchor = Relation.make(AnchoredTo, {
|
|
94
86
|
[Relation.Source]: thread,
|
|
@@ -119,11 +111,10 @@ var intent_resolver_default = (context) => contributes(Capabilities.IntentResolv
|
|
|
119
111
|
createResolver({
|
|
120
112
|
intent: ThreadAction.AddProposal,
|
|
121
113
|
resolve: ({ text, anchor, sender, subject }) => {
|
|
122
|
-
console.log("add-proposal", text, anchor, sender, subject);
|
|
123
114
|
const space = getSpace(subject);
|
|
124
115
|
invariant(space, "Space not found", {
|
|
125
116
|
F: __dxlog_file,
|
|
126
|
-
L:
|
|
117
|
+
L: 98,
|
|
127
118
|
S: void 0,
|
|
128
119
|
A: [
|
|
129
120
|
"space",
|
|
@@ -141,7 +132,7 @@ var intent_resolver_default = (context) => contributes(Capabilities.IntentResolv
|
|
|
141
132
|
}
|
|
142
133
|
]
|
|
143
134
|
});
|
|
144
|
-
const thread =
|
|
135
|
+
const thread = Thread_exports.make({
|
|
145
136
|
name: "Proposal",
|
|
146
137
|
messages: [
|
|
147
138
|
Ref.make(proposal)
|
|
@@ -193,7 +184,7 @@ var intent_resolver_default = (context) => contributes(Capabilities.IntentResolv
|
|
|
193
184
|
const space = getSpace(thread);
|
|
194
185
|
invariant(space, "Space not found", {
|
|
195
186
|
F: __dxlog_file,
|
|
196
|
-
L:
|
|
187
|
+
L: 144,
|
|
197
188
|
S: void 0,
|
|
198
189
|
A: [
|
|
199
190
|
"space",
|
|
@@ -241,7 +232,7 @@ var intent_resolver_default = (context) => contributes(Capabilities.IntentResolv
|
|
|
241
232
|
message: [
|
|
242
233
|
"thread deleted label",
|
|
243
234
|
{
|
|
244
|
-
ns:
|
|
235
|
+
ns: meta.id
|
|
245
236
|
}
|
|
246
237
|
],
|
|
247
238
|
data: {
|
|
@@ -286,7 +277,7 @@ var intent_resolver_default = (context) => contributes(Capabilities.IntentResolv
|
|
|
286
277
|
const space = getSpace(subject);
|
|
287
278
|
invariant(space, "Space not found", {
|
|
288
279
|
F: __dxlog_file,
|
|
289
|
-
L:
|
|
280
|
+
L: 229,
|
|
290
281
|
S: void 0,
|
|
291
282
|
A: [
|
|
292
283
|
"space",
|
|
@@ -353,7 +344,7 @@ var intent_resolver_default = (context) => contributes(Capabilities.IntentResolv
|
|
|
353
344
|
const space = getSpace(subject);
|
|
354
345
|
invariant(space, "Space not found", {
|
|
355
346
|
F: __dxlog_file,
|
|
356
|
-
L:
|
|
347
|
+
L: 289,
|
|
357
348
|
S: void 0,
|
|
358
349
|
A: [
|
|
359
350
|
"space",
|
|
@@ -383,7 +374,7 @@ var intent_resolver_default = (context) => contributes(Capabilities.IntentResolv
|
|
|
383
374
|
message: [
|
|
384
375
|
"message deleted label",
|
|
385
376
|
{
|
|
386
|
-
ns:
|
|
377
|
+
ns: meta.id
|
|
387
378
|
}
|
|
388
379
|
],
|
|
389
380
|
data: {
|
|
@@ -422,8 +413,8 @@ var intent_resolver_default = (context) => contributes(Capabilities.IntentResolv
|
|
|
422
413
|
}
|
|
423
414
|
}
|
|
424
415
|
})
|
|
425
|
-
]);
|
|
416
|
+
]));
|
|
426
417
|
export {
|
|
427
418
|
intent_resolver_default as default
|
|
428
419
|
};
|
|
429
|
-
//# sourceMappingURL=intent-resolver-
|
|
420
|
+
//# sourceMappingURL=intent-resolver-63NV3XD2.mjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/capabilities/intent-resolver.ts"],
|
|
4
|
+
"sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport * as Effect from 'effect/Effect';\n\nimport { Capabilities, type PluginContext, contributes, createIntent, createResolver } from '@dxos/app-framework';\nimport { sleep } from '@dxos/async';\nimport { Obj, Relation, Type } from '@dxos/echo';\nimport { invariant } from '@dxos/invariant';\nimport { ATTENDABLE_PATH_SEPARATOR, DeckAction } from '@dxos/plugin-deck/types';\nimport { ObservabilityAction } from '@dxos/plugin-observability/types';\nimport { CollectionAction, SpaceAction } from '@dxos/plugin-space/types';\nimport { Ref, fullyQualifiedId, getSpace } from '@dxos/react-client/echo';\nimport { AnchoredTo, DataType } from '@dxos/schema';\n\nimport { meta } from '../meta';\nimport { Channel, Thread, ThreadAction } from '../types';\n\nimport { ThreadCapabilities } from './capabilities';\n\nexport default (context: PluginContext) =>\n contributes(Capabilities.IntentResolver, [\n createResolver({\n intent: ThreadAction.onCreateSpace,\n resolve: ({ space, rootCollection }) =>\n Effect.gen(function* () {\n const { dispatch } = context.getCapability(Capabilities.IntentDispatcher);\n const { object: collection } = yield* dispatch(\n createIntent(CollectionAction.CreateQueryCollection, { typename: Type.getTypename(Channel.Channel) }),\n );\n rootCollection.objects.push(Ref.make(collection));\n\n const { object: channel } = yield* dispatch(\n createIntent(ThreadAction.CreateChannel, { name: 'General', spaceId: space.id }),\n );\n space.db.add(channel);\n }),\n }),\n createResolver({\n intent: ThreadAction.CreateChannel,\n resolve: ({ name }) => ({\n data: {\n object: Channel.make({ name }),\n },\n }),\n }),\n createResolver({\n intent: ThreadAction.CreateChannelThread,\n resolve: ({ channel }) => {\n const thread = Thread.make({ status: 'active' });\n channel.threads.push(Ref.make(thread));\n return {\n data: {\n object: thread,\n },\n };\n },\n }),\n // TODO(wittjosiah): Break this up into more composable pieces.\n createResolver({\n intent: ThreadAction.Create,\n resolve: ({ name, anchor: _anchor, subject }) => {\n const space = getSpace(subject);\n invariant(space, 'Space not found');\n\n const { state } = context.getCapability(ThreadCapabilities.MutableState);\n const subjectId = fullyQualifiedId(subject);\n const thread = Thread.make({ name });\n const anchor = Relation.make(AnchoredTo, {\n [Relation.Source]: thread,\n [Relation.Target]: subject,\n anchor: _anchor,\n });\n\n const draft = state.drafts[subjectId];\n if (draft) {\n draft.push(anchor);\n } else {\n state.drafts[subjectId] = [anchor];\n }\n\n return {\n intents: [\n createIntent(ThreadAction.Select, { current: fullyQualifiedId(thread) }),\n createIntent(DeckAction.ChangeCompanion, {\n primary: subjectId,\n companion: `${subjectId}${ATTENDABLE_PATH_SEPARATOR}comments`,\n }),\n ],\n };\n },\n }),\n createResolver({\n intent: ThreadAction.AddProposal,\n resolve: ({ text, anchor, sender, subject }) => {\n const space = getSpace(subject);\n invariant(space, 'Space not found');\n\n const subjectId = fullyQualifiedId(subject);\n const proposal = Obj.make(DataType.Message, {\n created: new Date().toISOString(),\n sender,\n blocks: [{ _tag: 'proposal', text }],\n });\n const thread = Thread.make({ name: 'Proposal', messages: [Ref.make(proposal)], status: 'active' });\n\n return {\n intents: [\n createIntent(SpaceAction.AddObject, { object: thread, target: space, hidden: true }),\n createIntent(SpaceAction.AddRelation, {\n space,\n schema: AnchoredTo,\n source: thread,\n target: subject,\n fields: { anchor },\n }),\n createIntent(ThreadAction.Select, { current: fullyQualifiedId(thread) }),\n createIntent(DeckAction.ChangeCompanion, {\n primary: subjectId,\n companion: `${subjectId}${ATTENDABLE_PATH_SEPARATOR}comments`,\n }),\n ],\n };\n },\n }),\n createResolver({\n intent: ThreadAction.Select,\n resolve: ({ current }) => {\n const { state } = context.getCapability(ThreadCapabilities.MutableState);\n state.current = current;\n },\n }),\n createResolver({\n intent: ThreadAction.ToggleResolved,\n resolve: ({ thread }) => {\n if (thread.status === 'active' || thread.status === undefined) {\n thread.status = 'resolved';\n } else if (thread.status === 'resolved') {\n thread.status = 'active';\n }\n\n const space = getSpace(thread);\n invariant(space, 'Space not found');\n const spaceId = space.id;\n\n return {\n intents: [\n createIntent(ObservabilityAction.SendEvent, {\n name: 'threads.toggle-resolved',\n properties: {\n spaceId,\n threadId: thread.id,\n },\n }),\n ],\n };\n },\n }),\n createResolver({\n intent: ThreadAction.Delete,\n resolve: async ({ subject, anchor, thread: _thread }, undo) => {\n const thread = _thread ?? (Relation.getSource(anchor) as Thread.Thread);\n const { state } = context.getCapability(ThreadCapabilities.MutableState);\n const subjectId = fullyQualifiedId(subject);\n const draft = state.drafts[subjectId];\n if (draft) {\n // Check if we're deleting a draft; if so, remo ve it.\n const index = draft.findIndex((a) => a.id === anchor.id);\n if (index !== -1) {\n draft.splice(index, 1);\n return;\n }\n }\n\n const space = getSpace(anchor);\n if (!space) {\n return;\n }\n\n if (!undo) {\n // TODO(wittjosiah): Without sleep, rendering crashes at `Relation.setSource(anchor)`.\n space.db.remove(anchor);\n await sleep(100);\n space.db.remove(thread);\n\n return {\n undoable: {\n message: ['thread deleted label', { ns: meta.id }],\n data: { thread, anchor },\n },\n intents: [\n createIntent(ObservabilityAction.SendEvent, {\n name: 'threads.delete',\n properties: {\n spaceId: space.id,\n threadId: thread.id,\n },\n }),\n ],\n };\n } else {\n // TODO(wittjosiah): Without sleep, rendering crashes at `Relation.setSource(anchor)`.\n space.db.add(thread);\n await sleep(100);\n space.db.add(anchor);\n\n return {\n intents: [\n createIntent(ObservabilityAction.SendEvent, {\n name: 'threads.undo-delete',\n properties: {\n spaceId: space.id,\n threadId: thread.id,\n },\n }),\n ],\n };\n }\n },\n }),\n createResolver({\n intent: ThreadAction.AddMessage,\n resolve: ({ anchor, subject, sender, text }) => {\n const thread = Relation.getSource(anchor) as Thread.Thread;\n const { state } = context.getCapability(ThreadCapabilities.MutableState);\n const subjectId = fullyQualifiedId(subject);\n const space = getSpace(subject);\n invariant(space, 'Space not found');\n\n const message = Obj.make(DataType.Message, {\n created: new Date().toISOString(),\n sender,\n blocks: [{ _tag: 'text', text }],\n // TODO(wittjosiah): Context based on attention.\n // context: context ? Ref.make(context) : undefined,\n });\n thread.messages.push(Ref.make(message));\n\n const intents = [];\n const draft = state.drafts[subjectId]?.find((a) => a.id === anchor.id);\n if (draft) {\n // Move draft to document.\n thread.status = 'active';\n // TODO(wittjosiah): This causes the thread to flash as it transitions from draft to db.\n state.drafts[subjectId] = state.drafts[subjectId]?.filter((a) => a.id !== anchor.id);\n intents.push(createIntent(SpaceAction.AddObject, { object: thread, target: space, hidden: true }));\n intents.push(\n createIntent(SpaceAction.AddRelation, {\n space,\n schema: AnchoredTo,\n source: thread,\n target: subject,\n fields: { anchor: draft.anchor },\n }),\n );\n intents.push(\n createIntent(ObservabilityAction.SendEvent, {\n name: 'threads.create',\n properties: {\n spaceId: space.id,\n threadId: thread.id,\n },\n }),\n );\n }\n\n intents.push(\n createIntent(ObservabilityAction.SendEvent, {\n name: 'threads.message.add',\n properties: {\n spaceId: space.id,\n threadId: thread.id,\n threadLength: thread.messages.length,\n messageId: message.id,\n messageLength: text.length,\n },\n }),\n );\n\n return { intents };\n },\n }),\n createResolver({\n intent: ThreadAction.DeleteMessage,\n resolve: ({ subject, anchor, messageId, message, messageIndex }, undo) => {\n const thread = Relation.getSource(anchor) as Thread.Thread;\n const space = getSpace(subject);\n invariant(space, 'Space not found');\n\n if (!undo) {\n const messageIndex = thread.messages.findIndex(Ref.hasObjectId(messageId));\n const message = thread.messages[messageIndex]?.target;\n if (!message) {\n return;\n }\n\n if (messageIndex === 0 && thread.messages.length === 1) {\n // If the message is the only message in the thread, delete the thread.\n return {\n intents: [createIntent(ThreadAction.Delete, { subject, anchor })],\n };\n } else {\n thread.messages.splice(messageIndex, 1);\n }\n\n return {\n undoable: {\n message: ['message deleted label', { ns: meta.id }],\n data: { message, messageIndex },\n },\n intents: [\n createIntent(ObservabilityAction.SendEvent, {\n name: 'threads.message.delete',\n properties: {\n spaceId: space.id,\n threadId: thread.id,\n messageId: message.id,\n },\n }),\n ],\n };\n } else {\n if (messageIndex === undefined || !message) {\n return;\n }\n\n thread.messages.splice(messageIndex, 0, Ref.make(message));\n return {\n intents: [\n createIntent(ObservabilityAction.SendEvent, {\n name: 'threads.message.undo-delete',\n properties: {\n spaceId: space.id,\n threadId: thread.id,\n messageId: message.id,\n },\n }),\n ],\n };\n }\n },\n }),\n ]);\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": ["Effect", "Capabilities", "contributes", "createIntent", "createResolver", "sleep", "Obj", "Relation", "Type", "invariant", "ATTENDABLE_PATH_SEPARATOR", "DeckAction", "ObservabilityAction", "CollectionAction", "SpaceAction", "Ref", "fullyQualifiedId", "getSpace", "AnchoredTo", "DataType", "context", "contributes", "Capabilities", "IntentResolver", "createResolver", "intent", "ThreadAction", "onCreateSpace", "resolve", "space", "rootCollection", "gen", "dispatch", "getCapability", "IntentDispatcher", "object", "collection", "createIntent", "CollectionAction", "CreateQueryCollection", "typename", "Type", "getTypename", "Channel", "objects", "push", "Ref", "make", "channel", "CreateChannel", "name", "spaceId", "id", "db", "add", "data", "CreateChannelThread", "thread", "Thread", "status", "threads", "Create", "anchor", "_anchor", "subject", "getSpace", "invariant", "state", "ThreadCapabilities", "MutableState", "subjectId", "fullyQualifiedId", "Relation", "AnchoredTo", "Source", "Target", "draft", "drafts", "intents", "Select", "current", "DeckAction", "ChangeCompanion", "primary", "companion", "ATTENDABLE_PATH_SEPARATOR", "AddProposal", "text", "sender", "proposal", "Obj", "DataType", "Message", "created", "Date", "toISOString", "blocks", "_tag", "messages", "SpaceAction", "AddObject", "target", "hidden", "AddRelation", "schema", "source", "fields", "ToggleResolved", "undefined", "ObservabilityAction", "SendEvent", "properties", "threadId", "Delete", "_thread", "undo", "getSource", "index", "findIndex", "a", "splice", "remove", "sleep", "undoable", "message", "ns", "meta", "AddMessage", "find", "filter", "threadLength", "length", "messageId", "messageLength", "DeleteMessage", "messageIndex", "hasObjectId"]
|
|
7
|
+
}
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import { createRequire } from 'node:module';const require = createRequire(import.meta.url);
|
|
2
2
|
import {
|
|
3
3
|
ThreadAction,
|
|
4
|
-
|
|
5
|
-
} from "./chunk-
|
|
4
|
+
Thread_exports
|
|
5
|
+
} from "./chunk-TYLLHI46.mjs";
|
|
6
6
|
import {
|
|
7
7
|
ThreadCapabilities
|
|
8
|
-
} from "./chunk-
|
|
9
|
-
import "./chunk-
|
|
8
|
+
} from "./chunk-ZQAGII7M.mjs";
|
|
9
|
+
import "./chunk-XI45H4IV.mjs";
|
|
10
10
|
|
|
11
11
|
// src/capabilities/markdown.ts
|
|
12
12
|
import { EditorView as EditorView2 } from "@codemirror/view";
|
|
@@ -43,7 +43,7 @@ var threads = (state, doc, dispatch) => {
|
|
|
43
43
|
const unsubscribe = query.subscribe();
|
|
44
44
|
const anchors = computed(() => query.objects.filter((anchor) => {
|
|
45
45
|
const thread = Relation.getSource(anchor);
|
|
46
|
-
return Obj.instanceOf(
|
|
46
|
+
return Obj.instanceOf(Thread_exports.Thread, thread) && thread.status !== "resolved";
|
|
47
47
|
}).concat(state.drafts[fullyQualifiedId(doc)] ?? []));
|
|
48
48
|
return [
|
|
49
49
|
EditorView.domEventHandlers({
|
|
@@ -101,7 +101,7 @@ var threads = (state, doc, dispatch) => {
|
|
|
101
101
|
const relation = query.objects.find((object) => getSource(object).id === id);
|
|
102
102
|
if (relation) {
|
|
103
103
|
const thread = getSource(relation);
|
|
104
|
-
if (Obj.instanceOf(
|
|
104
|
+
if (Obj.instanceOf(Thread_exports.Thread, thread)) {
|
|
105
105
|
thread.name = getName(doc, cursor);
|
|
106
106
|
relation.anchor = cursor;
|
|
107
107
|
}
|
|
@@ -120,7 +120,7 @@ var threads = (state, doc, dispatch) => {
|
|
|
120
120
|
};
|
|
121
121
|
|
|
122
122
|
// src/capabilities/markdown.ts
|
|
123
|
-
var markdown_default = (context) => contributes(MarkdownCapabilities.Extensions, [
|
|
123
|
+
var markdown_default = ((context) => contributes(MarkdownCapabilities.Extensions, [
|
|
124
124
|
({ document: doc }) => {
|
|
125
125
|
const { dispatchPromise: dispatch } = context.getCapability(Capabilities.IntentDispatcher);
|
|
126
126
|
const { state } = context.getCapability(ThreadCapabilities.MutableState);
|
|
@@ -150,7 +150,7 @@ var markdown_default = (context) => contributes(MarkdownCapabilities.Extensions,
|
|
|
150
150
|
});
|
|
151
151
|
});
|
|
152
152
|
}
|
|
153
|
-
]);
|
|
153
|
+
]));
|
|
154
154
|
var selectionOverlapsComment = (state) => {
|
|
155
155
|
const commentState = state.field(commentsState, false);
|
|
156
156
|
if (commentState === void 0) {
|
|
@@ -167,4 +167,4 @@ var selectionOverlapsComment = (state) => {
|
|
|
167
167
|
export {
|
|
168
168
|
markdown_default as default
|
|
169
169
|
};
|
|
170
|
-
//# sourceMappingURL=markdown-
|
|
170
|
+
//# sourceMappingURL=markdown-ZQW7MI5U.mjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/capabilities/markdown.ts", "../../../src/extensions/threads.ts"],
|
|
4
|
+
"sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { EditorView } from '@codemirror/view';\n\nimport { Capabilities, type PluginContext, contributes, createIntent } from '@dxos/app-framework';\nimport { ATTENDABLE_PATH_SEPARATOR, DeckAction } from '@dxos/plugin-deck/types';\nimport { MarkdownCapabilities } from '@dxos/plugin-markdown';\nimport { fullyQualifiedId } from '@dxos/react-client/echo';\nimport { type EditorState, commentClickedEffect, commentsState, overlap } from '@dxos/react-ui-editor';\n\nimport { threads } from '../extensions';\n\nimport { ThreadCapabilities } from './capabilities';\n\nexport default (context: PluginContext) =>\n contributes(MarkdownCapabilities.Extensions, [\n ({ document: doc }) => {\n const { dispatchPromise: dispatch } = context.getCapability(Capabilities.IntentDispatcher);\n const { state } = context.getCapability(ThreadCapabilities.MutableState);\n return threads(state, doc, dispatch);\n },\n ({ document: doc }) => {\n const { state } = context.getCapability(ThreadCapabilities.MutableState);\n\n return EditorView.updateListener.of((update) => {\n if (update.docChanged || update.selectionSet) {\n state.toolbar[fullyQualifiedId(doc)] = selectionOverlapsComment(update.state);\n }\n });\n },\n ({ document: doc }) => {\n const { dispatchPromise: dispatch } = context.getCapability(Capabilities.IntentDispatcher);\n const id = fullyQualifiedId(doc);\n\n return EditorView.updateListener.of((update) => {\n update.transactions.forEach((transaction) => {\n transaction.effects.forEach(async (effect) => {\n if (effect.is(commentClickedEffect)) {\n void dispatch(\n createIntent(DeckAction.ChangeCompanion, {\n primary: id,\n companion: `${id}${ATTENDABLE_PATH_SEPARATOR}comments`,\n }),\n );\n }\n });\n });\n });\n },\n ]);\n\nconst selectionOverlapsComment = (state: EditorState): boolean => {\n // May not be defined if thread plugin not installed.\n const commentState = state.field(commentsState, false);\n if (commentState === undefined) {\n return false;\n }\n\n const { selection } = state;\n for (const range of selection.ranges) {\n if (commentState.comments.some(({ range: commentRange }) => overlap(commentRange, range))) {\n return true;\n }\n }\n\n return false;\n};\n", "//\n// Copyright 2024 DXOS.org\n//\n\nimport { type Extension } from '@codemirror/state';\nimport { EditorView } from '@codemirror/view';\nimport { computed, effect } from '@preact/signals-core';\n\nimport { type PromiseIntentDispatcher, createIntent } from '@dxos/app-framework';\nimport { Filter, Obj, Query, Relation } from '@dxos/echo';\nimport { type Markdown } from '@dxos/plugin-markdown/types';\nimport { createDocAccessor, fullyQualifiedId, getSource, getSpace, getTextInRange } from '@dxos/react-client/echo';\nimport { comments, createExternalCommentSync } from '@dxos/react-ui-editor';\nimport { AnchoredTo } from '@dxos/schema';\n\nimport { Thread, ThreadAction, 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\n/**\n * Construct plugins.\n */\nexport const threads = (state: ThreadState, doc?: Markdown.Document, dispatch?: PromiseIntentDispatcher): Extension => {\n const space = doc && getSpace(doc);\n if (!doc || !space || !dispatch) {\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 query = space.db.query(Query.select(Filter.ids(doc.id)).targetOf(AnchoredTo));\n const unsubscribe = query.subscribe();\n\n const anchors = computed(() =>\n query.objects\n .filter((anchor) => {\n const thread = Relation.getSource(anchor);\n return Obj.instanceOf(Thread.Thread, thread) && thread.status !== 'resolved';\n })\n .concat(state.drafts[fullyQualifiedId(doc)] ?? []),\n );\n\n return [\n EditorView.domEventHandlers({\n destroy: () => {\n unsubscribe();\n },\n }),\n\n EditorView.updateListener.of((update) => {\n if (update.docChanged) {\n anchors.value.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 thread.name = name;\n }\n }\n });\n }\n }),\n\n createExternalCommentSync(\n fullyQualifiedId(doc),\n (sink) => effect(() => sink()),\n () =>\n anchors.value\n .filter((anchor) => anchor.anchor)\n .map((anchor) => ({ id: fullyQualifiedId(Relation.getSource(anchor)), cursor: anchor.anchor })),\n ),\n\n comments({\n id: fullyQualifiedId(doc),\n onCreate: ({ cursor }) => {\n const name = getName(doc, cursor);\n void dispatch(createIntent(ThreadAction.Create, { anchor: cursor, name, subject: doc }));\n },\n onDelete: ({ id }) => {\n const draft = state.drafts[fullyQualifiedId(doc)];\n if (draft) {\n const index = draft.findIndex((thread) => fullyQualifiedId(thread) === id);\n if (index !== -1) {\n draft.splice(index, 1);\n }\n }\n\n const thread = query.objects.find((object) => getSource(object).id === id);\n if (thread) {\n thread.anchor = undefined;\n }\n },\n onUpdate: ({ id, cursor }) => {\n const draft = state.drafts[fullyQualifiedId(doc)]?.find((thread) => fullyQualifiedId(thread) === id);\n if (draft) {\n const thread = Relation.getSource(draft) as Thread.Thread;\n thread.name = getName(doc, cursor);\n draft.anchor = cursor;\n }\n\n const relation = query.objects.find((object) => getSource(object).id === id);\n if (relation) {\n const thread = getSource(relation);\n if (Obj.instanceOf(Thread.Thread, thread)) {\n thread.name = getName(doc, cursor);\n relation.anchor = cursor;\n }\n }\n },\n onSelect: ({ selection }) => {\n const current = selection.current ?? selection.closest;\n if (current) {\n void dispatch(createIntent(ThreadAction.Select, { current }));\n }\n },\n }),\n ];\n};\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;AAIA,SAASA,cAAAA,mBAAkB;AAE3B,SAASC,cAAkCC,aAAaC,gBAAAA,qBAAoB;AAC5E,SAASC,2BAA2BC,kBAAkB;AACtD,SAASC,4BAA4B;AACrC,SAASC,oBAAAA,yBAAwB;AACjC,SAA2BC,sBAAsBC,eAAeC,eAAe;;;ACL/E,SAASC,kBAAkB;AAC3B,SAASC,UAAUC,cAAc;AAEjC,SAAuCC,oBAAoB;AAC3D,SAASC,QAAQC,KAAKC,OAAOC,gBAAgB;AAE7C,SAASC,mBAAmBC,kBAAkBC,WAAWC,UAAUC,sBAAsB;AACzF,SAASC,UAAUC,iCAAiC;AACpD,SAASC,kBAAkB;AAK3B,IAAMC,UAAU,CAACC,KAAwBC,WAAAA;AACvC,MAAID,IAAIE,SAAS;AACf,UAAM,CAACC,OAAOC,GAAAA,IAAOH,OAAOI,MAAM,GAAA;AAClC,WAAOC,eAAeC,kBAAkBP,IAAIE,QAAQM,QAAS;MAAC;KAAU,GAAGL,OAAOC,GAAAA;EACpF;AACF;AAKO,IAAMK,UAAU,CAACC,OAAoBV,KAAyBW,aAAAA;AACnE,QAAMC,QAAQZ,OAAOa,SAASb,GAAAA;AAC9B,MAAI,CAACA,OAAO,CAACY,SAAS,CAACD,UAAU;AAG/B,WAAO;MAACG,SAAAA;;EACV;AAEA,QAAMC,QAAQH,MAAMI,GAAGD,MAAME,MAAMC,OAAOC,OAAOC,IAAIpB,IAAIqB,EAAE,CAAA,EAAGC,SAASC,UAAAA,CAAAA;AACvE,QAAMC,cAAcT,MAAMU,UAAS;AAEnC,QAAMC,UAAUC,SAAS,MACvBZ,MAAMa,QACHC,OAAO,CAAC5B,WAAAA;AACP,UAAM6B,SAASC,SAASC,UAAU/B,MAAAA;AAClC,WAAOgC,IAAIC,WAAWC,eAAOA,QAAQL,MAAAA,KAAWA,OAAOM,WAAW;EACpE,CAAA,EACCC,OAAO3B,MAAM4B,OAAOC,iBAAiBvC,GAAAA,CAAAA,KAAS,CAAA,CAAE,CAAA;AAGrD,SAAO;IACLwC,WAAWC,iBAAiB;MAC1BC,SAAS,MAAA;AACPlB,oBAAAA;MACF;IACF,CAAA;IAEAgB,WAAWG,eAAeC,GAAG,CAACC,WAAAA;AAC5B,UAAIA,OAAOC,YAAY;AACrBpB,gBAAQqB,MAAMC,QAAQ,CAAC/C,WAAAA;AACrB,cAAIA,OAAOA,QAAQ;AAGjB,kBAAMgD,OAAOlD,QAAQC,KAAKC,OAAOA,MAAM;AACvC,kBAAM6B,SAASC,SAASC,UAAU/B,MAAAA;AAClC,gBAAIgD,QAAQA,SAASnB,OAAOmB,MAAM;AAChCnB,qBAAOmB,OAAOA;YAChB;UACF;QACF,CAAA;MACF;IACF,CAAA;IAEAC,0BACEX,iBAAiBvC,GAAAA,GACjB,CAACmD,SAASC,OAAO,MAAMD,KAAAA,CAAAA,GACvB,MACEzB,QAAQqB,MACLlB,OAAO,CAAC5B,WAAWA,OAAOA,MAAM,EAChCoD,IAAI,CAACpD,YAAY;MAAEoB,IAAIkB,iBAAiBR,SAASC,UAAU/B,MAAAA,CAAAA;MAAUqD,QAAQrD,OAAOA;IAAO,EAAA,CAAA;IAGlGa,SAAS;MACPO,IAAIkB,iBAAiBvC,GAAAA;MACrBuD,UAAU,CAAC,EAAED,OAAM,MAAE;AACnB,cAAML,OAAOlD,QAAQC,KAAKsD,MAAAA;AAC1B,aAAK3C,SAAS6C,aAAaC,aAAaC,QAAQ;UAAEzD,QAAQqD;UAAQL;UAAMU,SAAS3D;QAAI,CAAA,CAAA;MACvF;MACA4D,UAAU,CAAC,EAAEvC,GAAE,MAAE;AACf,cAAMwC,QAAQnD,MAAM4B,OAAOC,iBAAiBvC,GAAAA,CAAAA;AAC5C,YAAI6D,OAAO;AACT,gBAAMC,QAAQD,MAAME,UAAU,CAACjC,YAAWS,iBAAiBT,OAAAA,MAAYT,EAAAA;AACvE,cAAIyC,UAAU,IAAI;AAChBD,kBAAMG,OAAOF,OAAO,CAAA;UACtB;QACF;AAEA,cAAMhC,SAASf,MAAMa,QAAQqC,KAAK,CAACC,WAAWlC,UAAUkC,MAAAA,EAAQ7C,OAAOA,EAAAA;AACvE,YAAIS,QAAQ;AACVA,iBAAO7B,SAASkE;QAClB;MACF;MACAC,UAAU,CAAC,EAAE/C,IAAIiC,OAAM,MAAE;AACvB,cAAMO,QAAQnD,MAAM4B,OAAOC,iBAAiBvC,GAAAA,CAAAA,GAAOiE,KAAK,CAACnC,WAAWS,iBAAiBT,MAAAA,MAAYT,EAAAA;AACjG,YAAIwC,OAAO;AACT,gBAAM/B,SAASC,SAASC,UAAU6B,KAAAA;AAClC/B,iBAAOmB,OAAOlD,QAAQC,KAAKsD,MAAAA;AAC3BO,gBAAM5D,SAASqD;QACjB;AAEA,cAAMe,WAAWtD,MAAMa,QAAQqC,KAAK,CAACC,WAAWlC,UAAUkC,MAAAA,EAAQ7C,OAAOA,EAAAA;AACzE,YAAIgD,UAAU;AACZ,gBAAMvC,SAASE,UAAUqC,QAAAA;AACzB,cAAIpC,IAAIC,WAAWC,eAAOA,QAAQL,MAAAA,GAAS;AACzCA,mBAAOmB,OAAOlD,QAAQC,KAAKsD,MAAAA;AAC3Be,qBAASpE,SAASqD;UACpB;QACF;MACF;MACAgB,UAAU,CAAC,EAAEC,UAAS,MAAE;AACtB,cAAMC,UAAUD,UAAUC,WAAWD,UAAUE;AAC/C,YAAID,SAAS;AACX,eAAK7D,SAAS6C,aAAaC,aAAaiB,QAAQ;YAAEF;UAAQ,CAAA,CAAA;QAC5D;MACF;IACF,CAAA;;AAEJ;;;AD7GA,IAAA,oBAAe,CAACG,YACdC,YAAYC,qBAAqBC,YAAY;EAC3C,CAAC,EAAEC,UAAUC,IAAG,MAAE;AAChB,UAAM,EAAEC,iBAAiBC,SAAQ,IAAKP,QAAQQ,cAAcC,aAAaC,gBAAgB;AACzF,UAAM,EAAEC,MAAK,IAAKX,QAAQQ,cAAcI,mBAAmBC,YAAY;AACvE,WAAOC,QAAQH,OAAON,KAAKE,QAAAA;EAC7B;EACA,CAAC,EAAEH,UAAUC,IAAG,MAAE;AAChB,UAAM,EAAEM,MAAK,IAAKX,QAAQQ,cAAcI,mBAAmBC,YAAY;AAEvE,WAAOE,YAAWC,eAAeC,GAAG,CAACC,WAAAA;AACnC,UAAIA,OAAOC,cAAcD,OAAOE,cAAc;AAC5CT,cAAMU,QAAQC,kBAAiBjB,GAAAA,CAAAA,IAAQkB,yBAAyBL,OAAOP,KAAK;MAC9E;IACF,CAAA;EACF;EACA,CAAC,EAAEP,UAAUC,IAAG,MAAE;AAChB,UAAM,EAAEC,iBAAiBC,SAAQ,IAAKP,QAAQQ,cAAcC,aAAaC,gBAAgB;AACzF,UAAMc,KAAKF,kBAAiBjB,GAAAA;AAE5B,WAAOU,YAAWC,eAAeC,GAAG,CAACC,WAAAA;AACnCA,aAAOO,aAAaC,QAAQ,CAACC,gBAAAA;AAC3BA,oBAAYC,QAAQF,QAAQ,OAAOG,YAAAA;AACjC,cAAIA,QAAOC,GAAGC,oBAAAA,GAAuB;AACnC,iBAAKxB,SACHyB,cAAaC,WAAWC,iBAAiB;cACvCC,SAASX;cACTY,WAAW,GAAGZ,EAAAA,GAAKa,yBAAAA;YACrB,CAAA,CAAA;UAEJ;QACF,CAAA;MACF,CAAA;IACF,CAAA;EACF;CACD;AAEH,IAAMd,2BAA2B,CAACZ,UAAAA;AAEhC,QAAM2B,eAAe3B,MAAM4B,MAAMC,eAAe,KAAA;AAChD,MAAIF,iBAAiBG,QAAW;AAC9B,WAAO;EACT;AAEA,QAAM,EAAEC,UAAS,IAAK/B;AACtB,aAAWgC,SAASD,UAAUE,QAAQ;AACpC,QAAIN,aAAaO,SAASC,KAAK,CAAC,EAAEH,OAAOI,aAAY,MAAOC,QAAQD,cAAcJ,KAAAA,CAAAA,GAAS;AACzF,aAAO;IACT;EACF;AAEA,SAAO;AACT;",
|
|
6
|
+
"names": ["EditorView", "Capabilities", "contributes", "createIntent", "ATTENDABLE_PATH_SEPARATOR", "DeckAction", "MarkdownCapabilities", "fullyQualifiedId", "commentClickedEffect", "commentsState", "overlap", "EditorView", "computed", "effect", "createIntent", "Filter", "Obj", "Query", "Relation", "createDocAccessor", "fullyQualifiedId", "getSource", "getSpace", "getTextInRange", "comments", "createExternalCommentSync", "AnchoredTo", "getName", "doc", "anchor", "content", "start", "end", "split", "getTextInRange", "createDocAccessor", "target", "threads", "state", "dispatch", "space", "getSpace", "comments", "query", "db", "Query", "select", "Filter", "ids", "id", "targetOf", "AnchoredTo", "unsubscribe", "subscribe", "anchors", "computed", "objects", "filter", "thread", "Relation", "getSource", "Obj", "instanceOf", "Thread", "status", "concat", "drafts", "fullyQualifiedId", "EditorView", "domEventHandlers", "destroy", "updateListener", "of", "update", "docChanged", "value", "forEach", "name", "createExternalCommentSync", "sink", "effect", "map", "cursor", "onCreate", "createIntent", "ThreadAction", "Create", "subject", "onDelete", "draft", "index", "findIndex", "splice", "find", "object", "undefined", "onUpdate", "relation", "onSelect", "selection", "current", "closest", "Select", "context", "contributes", "MarkdownCapabilities", "Extensions", "document", "doc", "dispatchPromise", "dispatch", "getCapability", "Capabilities", "IntentDispatcher", "state", "ThreadCapabilities", "MutableState", "threads", "EditorView", "updateListener", "of", "update", "docChanged", "selectionSet", "toolbar", "fullyQualifiedId", "selectionOverlapsComment", "id", "transactions", "forEach", "transaction", "effects", "effect", "is", "commentClickedEffect", "createIntent", "DeckAction", "ChangeCompanion", "primary", "companion", "ATTENDABLE_PATH_SEPARATOR", "commentState", "field", "commentsState", "undefined", "selection", "range", "ranges", "comments", "some", "commentRange", "overlap"]
|
|
7
|
+
}
|