@dxos/plugin-thread 0.8.1-staging.5be625a → 0.8.1-staging.97aedb1
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/ChatContainer-IOOAQW6S.mjs +138 -0
- package/dist/lib/browser/ChatContainer-IOOAQW6S.mjs.map +7 -0
- package/dist/lib/browser/app-graph-builder-6W4UKJDI.mjs +41 -0
- package/dist/lib/browser/app-graph-builder-6W4UKJDI.mjs.map +7 -0
- package/dist/lib/browser/{chunk-NOOMCX5E.mjs → chunk-EP6MRLY7.mjs} +1 -2
- package/dist/lib/browser/chunk-EP6MRLY7.mjs.map +7 -0
- package/dist/lib/browser/{chunk-SMQYULO6.mjs → chunk-QDJ3Y6WF.mjs} +15 -32
- package/dist/lib/browser/chunk-QDJ3Y6WF.mjs.map +7 -0
- package/dist/lib/browser/chunk-S5ZR4FYW.mjs +17 -0
- package/dist/lib/browser/chunk-S5ZR4FYW.mjs.map +7 -0
- package/dist/lib/browser/{chunk-NRMJGYMA.mjs → chunk-TFVPUPOO.mjs} +19 -131
- package/dist/lib/browser/chunk-TFVPUPOO.mjs.map +7 -0
- package/dist/lib/browser/{chunk-SJPT347G.mjs → chunk-WOG72DWE.mjs} +8 -7
- package/dist/lib/browser/chunk-WOG72DWE.mjs.map +7 -0
- package/dist/lib/browser/index.mjs +16 -29
- package/dist/lib/browser/index.mjs.map +3 -3
- package/dist/lib/browser/{intent-resolver-FSG3ZOIM.mjs → intent-resolver-QAY4FLLM.mjs} +76 -39
- package/dist/lib/browser/intent-resolver-QAY4FLLM.mjs.map +7 -0
- package/dist/lib/browser/{markdown-MYZQDQFY.mjs → markdown-7KXBXCUS.mjs} +6 -7
- package/dist/lib/browser/{markdown-MYZQDQFY.mjs.map → markdown-7KXBXCUS.mjs.map} +3 -3
- package/dist/lib/browser/meta.json +1 -1
- package/dist/lib/browser/{react-surface-KOYRIK3E.mjs → react-surface-MT3OWULR.mjs} +47 -36
- package/dist/lib/browser/react-surface-MT3OWULR.mjs.map +7 -0
- package/dist/lib/browser/{settings-5CREE7BH.mjs → settings-4FEC7EAX.mjs} +2 -2
- package/dist/lib/browser/{state-HPUFZBB7.mjs → state-PNMSLKAH.mjs} +2 -2
- package/dist/lib/browser/types.mjs +1 -1
- package/dist/lib/node/ChatContainer-4FNDRF3G.cjs +163 -0
- package/dist/lib/node/ChatContainer-4FNDRF3G.cjs.map +7 -0
- package/dist/lib/node/app-graph-builder-HZNWT4QU.cjs +57 -0
- package/dist/lib/node/app-graph-builder-HZNWT4QU.cjs.map +7 -0
- package/dist/lib/node/{chunk-AXTPNGRI.cjs → chunk-46BSFPBV.cjs} +10 -9
- package/dist/lib/node/chunk-46BSFPBV.cjs.map +7 -0
- package/dist/lib/node/{chunk-JBOC6MIE.cjs → chunk-AKINTFBH.cjs} +17 -47
- package/dist/lib/node/chunk-AKINTFBH.cjs.map +7 -0
- package/dist/lib/node/chunk-E7Z3BKRQ.cjs +232 -0
- package/dist/lib/node/chunk-E7Z3BKRQ.cjs.map +7 -0
- package/dist/lib/node/{chunk-VEVJBOWK.cjs → chunk-NQ5DTPOY.cjs} +4 -5
- package/dist/lib/node/chunk-NQ5DTPOY.cjs.map +7 -0
- package/dist/lib/node/chunk-S2A6BXEA.cjs +53 -0
- package/dist/lib/node/chunk-S2A6BXEA.cjs.map +7 -0
- package/dist/lib/node/index.cjs +19 -34
- package/dist/lib/node/index.cjs.map +3 -3
- package/dist/lib/node/{intent-resolver-NBME5QSW.cjs → intent-resolver-S6FE5OR7.cjs} +99 -62
- package/dist/lib/node/intent-resolver-S6FE5OR7.cjs.map +7 -0
- package/dist/lib/node/{markdown-QBQTARMD.cjs → markdown-L2WMCQKM.cjs} +10 -11
- package/dist/lib/node/{markdown-QBQTARMD.cjs.map → markdown-L2WMCQKM.cjs.map} +3 -3
- package/dist/lib/node/meta.json +1 -1
- package/dist/lib/node/{react-surface-ICWYXRJU.cjs → react-surface-Z45BYECE.cjs} +54 -43
- package/dist/lib/node/react-surface-Z45BYECE.cjs.map +7 -0
- package/dist/lib/node/{settings-XOLYNUHH.cjs → settings-IXCPE55J.cjs} +6 -6
- package/dist/lib/node/{state-JMI5ZXZI.cjs → state-AT73KPGZ.cjs} +6 -6
- package/dist/lib/node/types.cjs +3 -3
- package/dist/lib/node/types.cjs.map +1 -1
- package/dist/lib/node-esm/ChatContainer-NYLCL6QA.mjs +139 -0
- package/dist/lib/node-esm/ChatContainer-NYLCL6QA.mjs.map +7 -0
- package/dist/lib/node-esm/app-graph-builder-M3KK5QJH.mjs +42 -0
- package/dist/lib/node-esm/app-graph-builder-M3KK5QJH.mjs.map +7 -0
- package/dist/lib/node-esm/{chunk-TW2NME6Z.mjs → chunk-ADTVMESP.mjs} +19 -131
- package/dist/lib/node-esm/chunk-ADTVMESP.mjs.map +7 -0
- package/dist/lib/node-esm/{chunk-FZXTP57V.mjs → chunk-E446MGLP.mjs} +8 -7
- package/dist/lib/node-esm/chunk-E446MGLP.mjs.map +7 -0
- package/dist/lib/node-esm/{chunk-XQO5DGHF.mjs → chunk-J56FORYF.mjs} +15 -32
- package/dist/lib/node-esm/chunk-J56FORYF.mjs.map +7 -0
- package/dist/lib/node-esm/{chunk-TXW5SIBN.mjs → chunk-WLY2HMDB.mjs} +1 -2
- package/dist/lib/node-esm/chunk-WLY2HMDB.mjs.map +7 -0
- package/dist/lib/node-esm/chunk-WSE23GSG.mjs +19 -0
- package/dist/lib/node-esm/chunk-WSE23GSG.mjs.map +7 -0
- package/dist/lib/node-esm/index.mjs +16 -29
- package/dist/lib/node-esm/index.mjs.map +3 -3
- package/dist/lib/node-esm/{intent-resolver-QQCCKVEW.mjs → intent-resolver-OURFRSSF.mjs} +76 -39
- package/dist/lib/node-esm/intent-resolver-OURFRSSF.mjs.map +7 -0
- package/dist/lib/node-esm/{markdown-QO5HK24O.mjs → markdown-ZKU23UVD.mjs} +6 -7
- package/dist/lib/node-esm/{markdown-QO5HK24O.mjs.map → markdown-ZKU23UVD.mjs.map} +3 -3
- package/dist/lib/node-esm/meta.json +1 -1
- package/dist/lib/node-esm/{react-surface-Z4CLCKTN.mjs → react-surface-KIJ767JK.mjs} +47 -36
- package/dist/lib/node-esm/react-surface-KIJ767JK.mjs.map +7 -0
- package/dist/lib/node-esm/{settings-32PBKVBB.mjs → settings-ZUJQ4LWI.mjs} +2 -2
- package/dist/lib/node-esm/{state-PSZO57LP.mjs → state-SSDX5O67.mjs} +2 -2
- package/dist/lib/node-esm/types.mjs +1 -1
- package/dist/types/src/ThreadPlugin.d.ts.map +1 -1
- package/dist/types/src/capabilities/app-graph-builder.d.ts +181 -0
- package/dist/types/src/capabilities/app-graph-builder.d.ts.map +1 -0
- package/dist/types/src/capabilities/capabilities.d.ts +0 -5
- package/dist/types/src/capabilities/capabilities.d.ts.map +1 -1
- package/dist/types/src/capabilities/index.d.ts +177 -0
- package/dist/types/src/capabilities/index.d.ts.map +1 -1
- package/dist/types/src/capabilities/intent-resolver.d.ts.map +1 -1
- package/dist/types/src/capabilities/react-surface.d.ts.map +1 -1
- package/dist/types/src/components/ChatContainer.d.ts +1 -0
- package/dist/types/src/components/ChatContainer.d.ts.map +1 -1
- package/dist/types/src/components/MessageContainer.d.ts.map +1 -1
- package/dist/types/src/components/ThreadComplementary.d.ts.map +1 -1
- package/dist/types/src/components/index.d.ts +1 -5
- package/dist/types/src/components/index.d.ts.map +1 -1
- package/dist/types/src/components/testing.d.ts +1 -0
- package/dist/types/src/components/testing.d.ts.map +1 -1
- package/dist/types/src/hooks/analytics.d.ts +0 -1
- package/dist/types/src/hooks/analytics.d.ts.map +1 -1
- package/dist/types/src/translations.d.ts +3 -3
- package/dist/types/src/types.d.ts +20 -5
- package/dist/types/src/types.d.ts.map +1 -1
- package/package.json +33 -33
- package/src/ThreadPlugin.tsx +8 -23
- package/src/capabilities/app-graph-builder.ts +34 -0
- package/src/capabilities/capabilities.ts +0 -6
- package/src/capabilities/index.ts +1 -0
- package/src/capabilities/intent-resolver.ts +59 -29
- package/src/capabilities/react-surface.tsx +27 -13
- package/src/components/ChatContainer.tsx +3 -1
- package/src/components/MessageContainer.tsx +5 -3
- package/src/components/ThreadComplementary.tsx +24 -31
- package/src/components/index.ts +1 -2
- package/src/components/testing.ts +2 -2
- package/src/extensions/threads.ts +1 -1
- package/src/hooks/analytics.ts +19 -19
- package/src/translations.ts +1 -1
- package/src/types.ts +5 -5
- package/src/util.ts +1 -1
- package/dist/lib/browser/ChannelContainer-ITIG7L7P.mjs +0 -75
- package/dist/lib/browser/ChannelContainer-ITIG7L7P.mjs.map +0 -7
- package/dist/lib/browser/chunk-NOOMCX5E.mjs.map +0 -7
- package/dist/lib/browser/chunk-NRMJGYMA.mjs.map +0 -7
- package/dist/lib/browser/chunk-SJPT347G.mjs.map +0 -7
- package/dist/lib/browser/chunk-SMQYULO6.mjs.map +0 -7
- package/dist/lib/browser/intent-resolver-FSG3ZOIM.mjs.map +0 -7
- package/dist/lib/browser/react-surface-KOYRIK3E.mjs.map +0 -7
- package/dist/lib/node/ChannelContainer-F7345XW2.cjs +0 -99
- package/dist/lib/node/ChannelContainer-F7345XW2.cjs.map +0 -7
- package/dist/lib/node/chunk-AXTPNGRI.cjs.map +0 -7
- package/dist/lib/node/chunk-DGV5ABT6.cjs +0 -338
- package/dist/lib/node/chunk-DGV5ABT6.cjs.map +0 -7
- package/dist/lib/node/chunk-JBOC6MIE.cjs.map +0 -7
- package/dist/lib/node/chunk-VEVJBOWK.cjs.map +0 -7
- package/dist/lib/node/intent-resolver-NBME5QSW.cjs.map +0 -7
- package/dist/lib/node/react-surface-ICWYXRJU.cjs.map +0 -7
- package/dist/lib/node-esm/ChannelContainer-GP6Y6JSN.mjs +0 -76
- package/dist/lib/node-esm/ChannelContainer-GP6Y6JSN.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-FZXTP57V.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-TW2NME6Z.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-TXW5SIBN.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-XQO5DGHF.mjs.map +0 -7
- package/dist/lib/node-esm/intent-resolver-QQCCKVEW.mjs.map +0 -7
- package/dist/lib/node-esm/react-surface-Z4CLCKTN.mjs.map +0 -7
- package/dist/types/src/components/ChannelContainer.d.ts +0 -9
- package/dist/types/src/components/ChannelContainer.d.ts.map +0 -1
- package/src/components/ChannelContainer.tsx +0 -80
- /package/dist/lib/browser/{settings-5CREE7BH.mjs.map → settings-4FEC7EAX.mjs.map} +0 -0
- /package/dist/lib/browser/{state-HPUFZBB7.mjs.map → state-PNMSLKAH.mjs.map} +0 -0
- /package/dist/lib/node/{settings-XOLYNUHH.cjs.map → settings-IXCPE55J.cjs.map} +0 -0
- /package/dist/lib/node/{state-JMI5ZXZI.cjs.map → state-AT73KPGZ.cjs.map} +0 -0
- /package/dist/lib/node-esm/{settings-32PBKVBB.mjs.map → settings-ZUJQ4LWI.mjs.map} +0 -0
- /package/dist/lib/node-esm/{state-PSZO57LP.mjs.map → state-SSDX5O67.mjs.map} +0 -0
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/types.ts"],
|
|
4
|
+
"sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nimport { S } from '@dxos/echo-schema';\nimport { ChannelType, ThreadType } from '@dxos/plugin-space/types';\nimport { EchoObjectSchema } from '@dxos/react-client/echo';\nimport { ActorSchema, MessageType } from '@dxos/schema';\n\nimport { THREAD_PLUGIN } from './meta';\n\nexport namespace ThreadAction {\n const THREAD_ACTION = `${THREAD_PLUGIN}/action`;\n\n export class CreateChannel extends S.TaggedClass<CreateChannel>()(`${THREAD_ACTION}/create-channel`, {\n input: S.Struct({\n // TODO(wittjosiah): Should be SpaceId.\n spaceId: S.String,\n name: S.optional(S.String),\n }),\n output: S.Struct({\n object: ChannelType,\n }),\n }) {}\n\n export class Create extends S.TaggedClass<Create>()(`${THREAD_ACTION}/create`, {\n input: S.Struct({\n name: S.optional(S.String),\n cursor: S.String,\n subject: EchoObjectSchema,\n }),\n output: S.Struct({\n object: ThreadType,\n }),\n }) {}\n\n export class Select extends S.TaggedClass<Select>()(`${THREAD_ACTION}/select`, {\n input: S.Struct({\n current: S.String,\n }),\n output: S.Void,\n }) {}\n\n export class ToggleResolved extends S.TaggedClass<ToggleResolved>()(`${THREAD_ACTION}/toggle-resolved`, {\n input: S.Struct({\n thread: ThreadType,\n }),\n output: S.Void,\n }) {}\n\n export class Delete extends S.TaggedClass<Delete>()(`${THREAD_ACTION}/delete`, {\n input: S.Struct({\n thread: ThreadType,\n subject: EchoObjectSchema,\n cursor: S.optional(S.String),\n }),\n output: S.Void,\n }) {}\n\n export class AddMessage extends S.TaggedClass<AddMessage>()(`${THREAD_ACTION}/add-message`, {\n input: S.Struct({\n subject: EchoObjectSchema,\n thread: ThreadType,\n sender: ActorSchema,\n text: S.String,\n }),\n output: S.Void,\n }) {}\n\n export class DeleteMessage extends S.TaggedClass<DeleteMessage>()(`${THREAD_ACTION}/delete-message`, {\n input: S.Struct({\n thread: ThreadType,\n subject: EchoObjectSchema,\n messageId: S.String,\n message: S.optional(MessageType),\n messageIndex: S.optional(S.Number),\n }),\n output: S.Void,\n }) {}\n}\n\nexport const ThreadSettingsSchema = S.mutable(S.Struct({}));\n\nexport type ThreadSettingsProps = S.Schema.Type<typeof ThreadSettingsSchema>;\n\nexport interface ThreadModel {\n root: ThreadType;\n}\n\ntype SubjectId = string;\nexport type ViewState = { showResolvedThreads: boolean };\nexport type ViewStore = Record<SubjectId, ViewState>;\n\nexport type ThreadState = {\n /** Current channel activity. */\n activities: Record<string, string | undefined>;\n /** In-memory draft threads. */\n drafts: Record<string, ThreadType[]>;\n current?: string | undefined;\n};\n"],
|
|
5
|
+
"mappings": ";;;;;AAIA,SAASA,SAAS;AAClB,SAASC,aAAaC,kBAAkB;AACxC,SAASC,wBAAwB;AACjC,SAASC,aAAaC,mBAAmB;;UAIxBC,eAAAA;AACf,QAAMC,gBAAgB,GAAGC,aAAAA;EAElB,MAAMC,sBAAsBC,EAAEC,YAAW,EAAkB,GAAGJ,aAAAA,mBAAgC;IACnGK,OAAOF,EAAEG,OAAO;;MAEdC,SAASJ,EAAEK;MACXC,MAAMN,EAAEO,SAASP,EAAEK,MAAM;IAC3B,CAAA;IACAG,QAAQR,EAAEG,OAAO;MACfM,QAAQC;IACV,CAAA;EACF,CAAA,EAAA;EAAI;gBATSX,gBAAAA;EAWN,MAAMY,eAAeX,EAAEC,YAAW,EAAW,GAAGJ,aAAAA,WAAwB;IAC7EK,OAAOF,EAAEG,OAAO;MACdG,MAAMN,EAAEO,SAASP,EAAEK,MAAM;MACzBO,QAAQZ,EAAEK;MACVQ,SAASC;IACX,CAAA;IACAN,QAAQR,EAAEG,OAAO;MACfM,QAAQM;IACV,CAAA;EACF,CAAA,EAAA;EAAI;gBATSJ,SAAAA;EAWN,MAAMK,eAAehB,EAAEC,YAAW,EAAW,GAAGJ,aAAAA,WAAwB;IAC7EK,OAAOF,EAAEG,OAAO;MACdc,SAASjB,EAAEK;IACb,CAAA;IACAG,QAAQR,EAAEkB;EACZ,CAAA,EAAA;EAAI;gBALSF,SAAAA;EAON,MAAMG,uBAAuBnB,EAAEC,YAAW,EAAmB,GAAGJ,aAAAA,oBAAiC;IACtGK,OAAOF,EAAEG,OAAO;MACdiB,QAAQL;IACV,CAAA;IACAP,QAAQR,EAAEkB;EACZ,CAAA,EAAA;EAAI;gBALSC,iBAAAA;EAON,MAAME,eAAerB,EAAEC,YAAW,EAAW,GAAGJ,aAAAA,WAAwB;IAC7EK,OAAOF,EAAEG,OAAO;MACdiB,QAAQL;MACRF,SAASC;MACTF,QAAQZ,EAAEO,SAASP,EAAEK,MAAM;IAC7B,CAAA;IACAG,QAAQR,EAAEkB;EACZ,CAAA,EAAA;EAAI;gBAPSG,SAAAA;EASN,MAAMC,mBAAmBtB,EAAEC,YAAW,EAAe,GAAGJ,aAAAA,gBAA6B;IAC1FK,OAAOF,EAAEG,OAAO;MACdU,SAASC;MACTM,QAAQL;MACRQ,QAAQC;MACRC,MAAMzB,EAAEK;IACV,CAAA;IACAG,QAAQR,EAAEkB;EACZ,CAAA,EAAA;EAAI;gBARSI,aAAAA;EAUN,MAAMI,sBAAsB1B,EAAEC,YAAW,EAAkB,GAAGJ,aAAAA,mBAAgC;IACnGK,OAAOF,EAAEG,OAAO;MACdiB,QAAQL;MACRF,SAASC;MACTa,WAAW3B,EAAEK;MACbuB,SAAS5B,EAAEO,SAASsB,WAAAA;MACpBC,cAAc9B,EAAEO,SAASP,EAAE+B,MAAM;IACnC,CAAA;IACAvB,QAAQR,EAAEkB;EACZ,CAAA,EAAA;EAAI;gBATSQ,gBAAAA;AAUf,GApEiB9B,iBAAAA,eAAAA,CAAAA,EAAAA;AAsEV,IAAMoC,uBAAuBhC,EAAEiC,QAAQjC,EAAEG,OAAO,CAAC,CAAA,CAAA;",
|
|
6
|
+
"names": ["S", "ChannelType", "ThreadType", "EchoObjectSchema", "ActorSchema", "MessageType", "ThreadAction", "THREAD_ACTION", "THREAD_PLUGIN", "CreateChannel", "S", "TaggedClass", "input", "Struct", "spaceId", "String", "name", "optional", "output", "object", "ChannelType", "Create", "cursor", "subject", "EchoObjectSchema", "ThreadType", "Select", "current", "Void", "ToggleResolved", "thread", "Delete", "AddMessage", "sender", "ActorSchema", "text", "DeleteMessage", "messageId", "message", "MessageType", "messageIndex", "Number", "ThreadSettingsSchema", "mutable"]
|
|
7
|
+
}
|
|
@@ -1,18 +1,20 @@
|
|
|
1
1
|
import {
|
|
2
|
+
AppGraphBuilder,
|
|
2
3
|
IntentResolver,
|
|
3
4
|
Markdown,
|
|
4
5
|
ReactSurface,
|
|
5
|
-
ThreadState
|
|
6
|
-
|
|
6
|
+
ThreadState
|
|
7
|
+
} from "./chunk-S5ZR4FYW.mjs";
|
|
8
|
+
import {
|
|
9
|
+
ThreadCapabilities
|
|
10
|
+
} from "./chunk-EP6MRLY7.mjs";
|
|
11
|
+
import {
|
|
7
12
|
useOnEditAnalytics,
|
|
8
13
|
useStatus
|
|
9
|
-
} from "./chunk-
|
|
14
|
+
} from "./chunk-QDJ3Y6WF.mjs";
|
|
10
15
|
import {
|
|
11
16
|
ThreadAction
|
|
12
|
-
} from "./chunk-
|
|
13
|
-
import {
|
|
14
|
-
ThreadCapabilities
|
|
15
|
-
} from "./chunk-NOOMCX5E.mjs";
|
|
17
|
+
} from "./chunk-WOG72DWE.mjs";
|
|
16
18
|
import {
|
|
17
19
|
THREAD_ITEM,
|
|
18
20
|
THREAD_PLUGIN,
|
|
@@ -29,7 +31,6 @@ var ThreadEvents;
|
|
|
29
31
|
// packages/plugins/plugin-thread/src/ThreadPlugin.tsx
|
|
30
32
|
import { Capabilities, contributes, createIntent, defineModule, definePlugin, Events as Events2 } from "@dxos/app-framework";
|
|
31
33
|
import { ClientCapabilities, ClientEvents } from "@dxos/plugin-client";
|
|
32
|
-
import { DeckCapabilities, DeckEvents } from "@dxos/plugin-deck";
|
|
33
34
|
import { MarkdownEvents } from "@dxos/plugin-markdown";
|
|
34
35
|
import { SpaceCapabilities, ThreadEvents as ThreadEvents2 } from "@dxos/plugin-space";
|
|
35
36
|
import { ChannelType as ChannelType2, defineObjectForm, ThreadType } from "@dxos/plugin-space/types";
|
|
@@ -70,7 +71,7 @@ var translations_default = [
|
|
|
70
71
|
"edit message label": "Edit",
|
|
71
72
|
"delete message label": "Delete message",
|
|
72
73
|
"open comments panel label": "Show Comments",
|
|
73
|
-
"comments
|
|
74
|
+
"comments label": "Comments",
|
|
74
75
|
"show all label": "All comments",
|
|
75
76
|
"show unresolved label": "Unresolved only"
|
|
76
77
|
}
|
|
@@ -109,7 +110,7 @@ var ThreadPlugin = () => definePlugin(meta, [
|
|
|
109
110
|
contributes(Capabilities.Metadata, {
|
|
110
111
|
id: ChannelType2.typename,
|
|
111
112
|
metadata: {
|
|
112
|
-
icon: "ph--
|
|
113
|
+
icon: "ph--hash--regular"
|
|
113
114
|
}
|
|
114
115
|
}),
|
|
115
116
|
contributes(Capabilities.Metadata, {
|
|
@@ -176,24 +177,6 @@ var ThreadPlugin = () => definePlugin(meta, [
|
|
|
176
177
|
MessageTypeV1ToV2
|
|
177
178
|
])
|
|
178
179
|
}),
|
|
179
|
-
defineModule({
|
|
180
|
-
id: `${meta.id}/module/complementary-panel`,
|
|
181
|
-
activatesOn: DeckEvents.SetupComplementaryPanels,
|
|
182
|
-
activate: () => contributes(DeckCapabilities.ComplementaryPanel, {
|
|
183
|
-
id: "comments",
|
|
184
|
-
label: [
|
|
185
|
-
"comments panel label",
|
|
186
|
-
{
|
|
187
|
-
ns: THREAD_PLUGIN
|
|
188
|
-
}
|
|
189
|
-
],
|
|
190
|
-
icon: "ph--chat-text--regular",
|
|
191
|
-
position: "hoist",
|
|
192
|
-
// TODO(wittjosiah): Support comments on any object.
|
|
193
|
-
// filter: (node) => isEchoObject(node.data) && !!getSpace(node.data),
|
|
194
|
-
filter: (node) => !!node.data && typeof node.data === "object" && "threads" in node.data && Array.isArray(node.data.threads) && !(node.data instanceof ChannelType2)
|
|
195
|
-
})
|
|
196
|
-
}),
|
|
197
180
|
defineModule({
|
|
198
181
|
id: `${meta.id}/module/markdown`,
|
|
199
182
|
activatesOn: MarkdownEvents.SetupExtensions,
|
|
@@ -213,6 +196,11 @@ var ThreadPlugin = () => definePlugin(meta, [
|
|
|
213
196
|
id: `${meta.id}/module/intent-resolver`,
|
|
214
197
|
activatesOn: Events2.SetupIntentResolver,
|
|
215
198
|
activate: IntentResolver
|
|
199
|
+
}),
|
|
200
|
+
defineModule({
|
|
201
|
+
id: `${meta.id}/module/app-graph-builder`,
|
|
202
|
+
activatesOn: Events2.SetupAppGraph,
|
|
203
|
+
activate: AppGraphBuilder
|
|
216
204
|
})
|
|
217
205
|
]);
|
|
218
206
|
export {
|
|
@@ -222,7 +210,6 @@ export {
|
|
|
222
210
|
ThreadEvents,
|
|
223
211
|
ThreadPlugin,
|
|
224
212
|
meta,
|
|
225
|
-
useAnalyticsCallback,
|
|
226
213
|
useOnEditAnalytics,
|
|
227
214
|
useStatus
|
|
228
215
|
};
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/events.ts", "../../../src/ThreadPlugin.tsx", "../../../src/translations.ts"],
|
|
4
|
-
"sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { Events } from '@dxos/app-framework';\n\nimport { THREAD_PLUGIN } from './meta';\n\nexport namespace ThreadEvents {\n export const SetupActivity = Events.createStateEvent(`${THREAD_PLUGIN}/setup-activity`);\n}\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport { Capabilities, contributes, createIntent, defineModule, definePlugin, Events } from '@dxos/app-framework';\nimport { ClientCapabilities, ClientEvents } from '@dxos/plugin-client';\nimport {
|
|
5
|
-
"mappings": "
|
|
6
|
-
"names": ["Events", "ThreadEvents", "SetupActivity", "Events", "createStateEvent", "THREAD_PLUGIN", "Capabilities", "contributes", "createIntent", "defineModule", "definePlugin", "Events", "ClientCapabilities", "ClientEvents", "
|
|
4
|
+
"sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { Events } from '@dxos/app-framework';\n\nimport { THREAD_PLUGIN } from './meta';\n\nexport namespace ThreadEvents {\n export const SetupActivity = Events.createStateEvent(`${THREAD_PLUGIN}/setup-activity`);\n}\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport { Capabilities, contributes, createIntent, defineModule, definePlugin, Events } from '@dxos/app-framework';\nimport { ClientCapabilities, ClientEvents } from '@dxos/plugin-client';\nimport { MarkdownEvents } from '@dxos/plugin-markdown';\nimport { SpaceCapabilities, ThreadEvents } from '@dxos/plugin-space';\nimport { ChannelType, defineObjectForm, ThreadType } from '@dxos/plugin-space/types';\nimport { type ReactiveEchoObject, RefArray } from '@dxos/react-client/echo';\nimport { translations as threadTranslations } from '@dxos/react-ui-thread';\nimport { MessageType, MessageTypeV1, MessageTypeV1ToV2 } from '@dxos/schema';\n\nimport { AppGraphBuilder, IntentResolver, Markdown, ReactSurface, ThreadState } from './capabilities';\nimport { ThreadEvents as LocalThreadEvents } from './events';\nimport { meta, THREAD_ITEM } from './meta';\nimport translations from './translations';\nimport { ThreadAction } from './types';\n\n// TODO(Zan): Every instance of `cursor` should be replaced with `anchor`.\n// NOTE(burdon): Review/discuss CursorConverter semantics.\nexport const ThreadPlugin = () =>\n definePlugin(meta, [\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: ChannelType.typename,\n metadata: {\n icon: 'ph--hash--regular',\n },\n }),\n contributes(Capabilities.Metadata, {\n id: ThreadType.typename,\n metadata: {\n // TODO(wittjosiah): Move out of metadata.\n loadReferences: async (thread: ThreadType) => await RefArray.loadAll(thread.messages ?? []),\n },\n }),\n contributes(Capabilities.Metadata, {\n id: MessageType.typename,\n metadata: {\n // TODO(wittjosiah): Move out of metadata.\n loadReferences: (message: MessageType) => [], // loadObjectReferences(message, (message) => [...message.parts, message.context]),\n },\n }),\n contributes(Capabilities.Metadata, {\n id: THREAD_ITEM,\n metadata: {\n parse: (item: ReactiveEchoObject<any>, type: string) => {\n switch (type) {\n case 'node':\n return { id: item.id, label: item.title, 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: ChannelType,\n getIntent: (_, options) => createIntent(ThreadAction.CreateChannel, { spaceId: options.space.id }),\n }),\n ),\n }),\n defineModule({\n id: `${meta.id}/module/schema`,\n activatesOn: ClientEvents.SetupSchema,\n activate: () => contributes(ClientCapabilities.Schema, [ThreadType, MessageType, MessageTypeV1]),\n }),\n defineModule({\n id: `${meta.id}/module/migration`,\n activatesOn: ClientEvents.SetupMigration,\n activate: () => contributes(ClientCapabilities.Migration, [MessageTypeV1ToV2]),\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-surface`,\n activatesOn: Events.SetupReactSurface,\n // TODO(wittjosiah): Should occur before the comments thread is loaded when surfaces activation is more granular.\n activatesBefore: [ThreadEvents.SetupThread, LocalThreadEvents.SetupActivity],\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 ]);\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport { ChannelType } from '@dxos/plugin-space/types';\n\nimport { THREAD_PLUGIN } from './meta';\n\nexport default [\n {\n 'en-US': {\n [ChannelType.typename]: {\n 'typename label': 'Channel',\n 'object name placeholder': 'New channel',\n },\n [THREAD_PLUGIN]: {\n 'plugin name': 'Threads',\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 'thread deleted label': 'You deleted a thread.',\n 'message deleted label': 'You deleted a message.',\n 'comments heading': 'Comments',\n 'chat heading': 'Chat',\n 'draft button': 'DRAFT',\n 'no comments title': 'No comments (yet)',\n 'no comments message':\n 'To start a comment thread, select a range of text in a document and click the <commentIcon></commentIcon> Create comment button in the toolbar.',\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 'open comments panel label': 'Show Comments',\n 'comments label': 'Comments',\n 'show all label': 'All comments',\n 'show unresolved label': 'Unresolved only',\n },\n },\n },\n];\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": ["Events", "ThreadEvents", "SetupActivity", "Events", "createStateEvent", "THREAD_PLUGIN", "Capabilities", "contributes", "createIntent", "defineModule", "definePlugin", "Events", "ClientCapabilities", "ClientEvents", "MarkdownEvents", "SpaceCapabilities", "ThreadEvents", "ChannelType", "defineObjectForm", "ThreadType", "RefArray", "translations", "threadTranslations", "MessageType", "MessageTypeV1", "MessageTypeV1ToV2", "ChannelType", "ChannelType", "typename", "THREAD_PLUGIN", "ThreadPlugin", "definePlugin", "meta", "defineModule", "id", "activatesOn", "Events", "SetupSettings", "activate", "ThreadState", "SetupTranslations", "contributes", "Capabilities", "Translations", "translations", "threadTranslations", "SetupMetadata", "Metadata", "ChannelType", "typename", "metadata", "icon", "ThreadType", "loadReferences", "thread", "RefArray", "loadAll", "messages", "MessageType", "message", "THREAD_ITEM", "parse", "item", "type", "label", "title", "data", "object", "ClientEvents", "SetupSchema", "SpaceCapabilities", "ObjectForm", "defineObjectForm", "objectSchema", "getIntent", "_", "options", "createIntent", "ThreadAction", "CreateChannel", "spaceId", "space", "ClientCapabilities", "Schema", "MessageTypeV1", "SetupMigration", "Migration", "MessageTypeV1ToV2", "MarkdownEvents", "SetupExtensions", "Markdown", "SetupReactSurface", "activatesBefore", "ThreadEvents", "SetupThread", "LocalThreadEvents", "SetupActivity", "ReactSurface", "SetupIntentResolver", "IntentResolver", "SetupAppGraph", "AppGraphBuilder"]
|
|
7
7
|
}
|
|
@@ -1,22 +1,25 @@
|
|
|
1
|
-
import {
|
|
2
|
-
ThreadAction
|
|
3
|
-
} from "./chunk-SJPT347G.mjs";
|
|
4
1
|
import {
|
|
5
2
|
ThreadCapabilities
|
|
6
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-EP6MRLY7.mjs";
|
|
4
|
+
import {
|
|
5
|
+
ThreadAction
|
|
6
|
+
} from "./chunk-WOG72DWE.mjs";
|
|
7
7
|
import {
|
|
8
8
|
THREAD_PLUGIN
|
|
9
9
|
} from "./chunk-WBJLUUOK.mjs";
|
|
10
10
|
|
|
11
11
|
// packages/plugins/plugin-thread/src/capabilities/intent-resolver.ts
|
|
12
|
-
import { Capabilities, contributes, createIntent, createResolver
|
|
12
|
+
import { Capabilities, contributes, createIntent, createResolver } from "@dxos/app-framework";
|
|
13
13
|
import { ObjectId, Ref } from "@dxos/echo-schema";
|
|
14
|
+
import { invariant } from "@dxos/invariant";
|
|
14
15
|
import { DXN, QueueSubspaceTags } from "@dxos/keys";
|
|
15
16
|
import { refFromDXN } from "@dxos/live-object";
|
|
16
17
|
import { log } from "@dxos/log";
|
|
18
|
+
import { ATTENDABLE_PATH_SEPARATOR, DeckAction } from "@dxos/plugin-deck/types";
|
|
17
19
|
import { ObservabilityAction } from "@dxos/plugin-observability/types";
|
|
18
20
|
import { ChannelType, ThreadType } from "@dxos/plugin-space/types";
|
|
19
21
|
import { create, fullyQualifiedId, getSpace, makeRef } from "@dxos/react-client/echo";
|
|
22
|
+
import { MessageType } from "@dxos/schema";
|
|
20
23
|
var __dxlog_file = "/home/runner/work/dxos/dxos/packages/plugins/plugin-thread/src/capabilities/intent-resolver.ts";
|
|
21
24
|
var intent_resolver_default = (context) => contributes(Capabilities.IntentResolver, [
|
|
22
25
|
createResolver({
|
|
@@ -45,7 +48,7 @@ var intent_resolver_default = (context) => contributes(Capabilities.IntentResolv
|
|
|
45
48
|
typename: subject?.typename
|
|
46
49
|
}, {
|
|
47
50
|
F: __dxlog_file,
|
|
48
|
-
L:
|
|
51
|
+
L: 43,
|
|
49
52
|
S: void 0,
|
|
50
53
|
C: (f, a) => f(...a)
|
|
51
54
|
});
|
|
@@ -76,9 +79,9 @@ var intent_resolver_default = (context) => contributes(Capabilities.IntentResolv
|
|
|
76
79
|
createIntent(ThreadAction.Select, {
|
|
77
80
|
current: fullyQualifiedId(thread)
|
|
78
81
|
}),
|
|
79
|
-
createIntent(
|
|
80
|
-
|
|
81
|
-
|
|
82
|
+
createIntent(DeckAction.ChangeCompanion, {
|
|
83
|
+
primary: subjectId,
|
|
84
|
+
companion: `${subjectId}${ATTENDABLE_PATH_SEPARATOR}comments`
|
|
82
85
|
})
|
|
83
86
|
]
|
|
84
87
|
};
|
|
@@ -86,17 +89,9 @@ var intent_resolver_default = (context) => contributes(Capabilities.IntentResolv
|
|
|
86
89
|
}),
|
|
87
90
|
createResolver({
|
|
88
91
|
intent: ThreadAction.Select,
|
|
89
|
-
resolve: ({ current
|
|
92
|
+
resolve: ({ current }) => {
|
|
90
93
|
const { state } = context.requestCapability(ThreadCapabilities.MutableState);
|
|
91
94
|
state.current = current;
|
|
92
|
-
return {
|
|
93
|
-
intents: !skipOpen ? [
|
|
94
|
-
createIntent(LayoutAction.UpdateComplementary, {
|
|
95
|
-
part: "complementary",
|
|
96
|
-
subject: "comments"
|
|
97
|
-
})
|
|
98
|
-
] : void 0
|
|
99
|
-
};
|
|
100
95
|
}
|
|
101
96
|
}),
|
|
102
97
|
createResolver({
|
|
@@ -108,14 +103,23 @@ var intent_resolver_default = (context) => contributes(Capabilities.IntentResolv
|
|
|
108
103
|
thread.status = "active";
|
|
109
104
|
}
|
|
110
105
|
const space = getSpace(thread);
|
|
111
|
-
|
|
106
|
+
invariant(space, "Space not found", {
|
|
107
|
+
F: __dxlog_file,
|
|
108
|
+
L: 87,
|
|
109
|
+
S: void 0,
|
|
110
|
+
A: [
|
|
111
|
+
"space",
|
|
112
|
+
"'Space not found'"
|
|
113
|
+
]
|
|
114
|
+
});
|
|
115
|
+
const spaceId = space.id;
|
|
112
116
|
return {
|
|
113
117
|
intents: [
|
|
114
118
|
createIntent(ObservabilityAction.SendEvent, {
|
|
115
119
|
name: "threads.toggle-resolved",
|
|
116
120
|
properties: {
|
|
117
|
-
|
|
118
|
-
|
|
121
|
+
spaceId,
|
|
122
|
+
threadId: thread.id
|
|
119
123
|
}
|
|
120
124
|
})
|
|
121
125
|
]
|
|
@@ -162,8 +166,8 @@ var intent_resolver_default = (context) => contributes(Capabilities.IntentResolv
|
|
|
162
166
|
createIntent(ObservabilityAction.SendEvent, {
|
|
163
167
|
name: "threads.delete",
|
|
164
168
|
properties: {
|
|
165
|
-
|
|
166
|
-
|
|
169
|
+
spaceId: space.id,
|
|
170
|
+
threadId: thread.id
|
|
167
171
|
}
|
|
168
172
|
})
|
|
169
173
|
]
|
|
@@ -176,8 +180,8 @@ var intent_resolver_default = (context) => contributes(Capabilities.IntentResolv
|
|
|
176
180
|
createIntent(ObservabilityAction.SendEvent, {
|
|
177
181
|
name: "threads.undo-delete",
|
|
178
182
|
properties: {
|
|
179
|
-
|
|
180
|
-
|
|
183
|
+
spaceId: space.id,
|
|
184
|
+
threadId: thread.id
|
|
181
185
|
}
|
|
182
186
|
})
|
|
183
187
|
]
|
|
@@ -186,16 +190,32 @@ var intent_resolver_default = (context) => contributes(Capabilities.IntentResolv
|
|
|
186
190
|
}
|
|
187
191
|
}),
|
|
188
192
|
createResolver({
|
|
189
|
-
intent: ThreadAction.
|
|
190
|
-
resolve: ({ thread, subject }) => {
|
|
193
|
+
intent: ThreadAction.AddMessage,
|
|
194
|
+
resolve: ({ thread, subject, sender, text }) => {
|
|
191
195
|
const { state } = context.requestCapability(ThreadCapabilities.MutableState);
|
|
192
196
|
const subjectId = fullyQualifiedId(subject);
|
|
193
197
|
const space = getSpace(subject);
|
|
198
|
+
invariant(space, "Space not found", {
|
|
199
|
+
F: __dxlog_file,
|
|
200
|
+
L: 172,
|
|
201
|
+
S: void 0,
|
|
202
|
+
A: [
|
|
203
|
+
"space",
|
|
204
|
+
"'Space not found'"
|
|
205
|
+
]
|
|
206
|
+
});
|
|
194
207
|
const intents = [];
|
|
195
|
-
const
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
208
|
+
const message = create(MessageType, {
|
|
209
|
+
sender,
|
|
210
|
+
created: (/* @__PURE__ */ new Date()).toISOString(),
|
|
211
|
+
blocks: [
|
|
212
|
+
{
|
|
213
|
+
type: "text",
|
|
214
|
+
text
|
|
215
|
+
}
|
|
216
|
+
]
|
|
217
|
+
});
|
|
218
|
+
thread.messages.push(makeRef(message));
|
|
199
219
|
if (state.drafts[subjectId]?.find((t) => t === thread)) {
|
|
200
220
|
thread.status = "active";
|
|
201
221
|
subject.threads ? subject.threads.push(makeRef(thread)) : subject.threads = [
|
|
@@ -203,15 +223,21 @@ var intent_resolver_default = (context) => contributes(Capabilities.IntentResolv
|
|
|
203
223
|
];
|
|
204
224
|
state.drafts[subjectId] = state.drafts[subjectId]?.filter(({ id }) => id !== thread.id);
|
|
205
225
|
intents.push(createIntent(ObservabilityAction.SendEvent, {
|
|
206
|
-
name: "threads.
|
|
207
|
-
properties:
|
|
226
|
+
name: "threads.create",
|
|
227
|
+
properties: {
|
|
228
|
+
spaceId: space.id,
|
|
229
|
+
threadId: thread.id
|
|
230
|
+
}
|
|
208
231
|
}));
|
|
209
232
|
}
|
|
210
233
|
intents.push(createIntent(ObservabilityAction.SendEvent, {
|
|
211
|
-
name: "threads.message
|
|
234
|
+
name: "threads.message.add",
|
|
212
235
|
properties: {
|
|
213
|
-
|
|
214
|
-
|
|
236
|
+
spaceId: space.id,
|
|
237
|
+
threadId: thread.id,
|
|
238
|
+
threadLength: thread.messages.length,
|
|
239
|
+
messageId: message.id,
|
|
240
|
+
messageLength: text.length
|
|
215
241
|
}
|
|
216
242
|
}));
|
|
217
243
|
return {
|
|
@@ -223,6 +249,15 @@ var intent_resolver_default = (context) => contributes(Capabilities.IntentResolv
|
|
|
223
249
|
intent: ThreadAction.DeleteMessage,
|
|
224
250
|
resolve: ({ subject, thread, messageId, message, messageIndex }, undo) => {
|
|
225
251
|
const space = getSpace(subject);
|
|
252
|
+
invariant(space, "Space not found", {
|
|
253
|
+
F: __dxlog_file,
|
|
254
|
+
L: 220,
|
|
255
|
+
S: void 0,
|
|
256
|
+
A: [
|
|
257
|
+
"space",
|
|
258
|
+
"'Space not found'"
|
|
259
|
+
]
|
|
260
|
+
});
|
|
226
261
|
if (!undo) {
|
|
227
262
|
const messageIndex2 = thread.messages.findIndex(Ref.hasObjectId(messageId));
|
|
228
263
|
const message2 = thread.messages[messageIndex2]?.target;
|
|
@@ -258,8 +293,9 @@ var intent_resolver_default = (context) => contributes(Capabilities.IntentResolv
|
|
|
258
293
|
createIntent(ObservabilityAction.SendEvent, {
|
|
259
294
|
name: "threads.message.delete",
|
|
260
295
|
properties: {
|
|
296
|
+
spaceId: space.id,
|
|
261
297
|
threadId: thread.id,
|
|
262
|
-
|
|
298
|
+
messageId: message2.id
|
|
263
299
|
}
|
|
264
300
|
})
|
|
265
301
|
]
|
|
@@ -274,8 +310,9 @@ var intent_resolver_default = (context) => contributes(Capabilities.IntentResolv
|
|
|
274
310
|
createIntent(ObservabilityAction.SendEvent, {
|
|
275
311
|
name: "threads.message.undo-delete",
|
|
276
312
|
properties: {
|
|
313
|
+
spaceId: space.id,
|
|
277
314
|
threadId: thread.id,
|
|
278
|
-
|
|
315
|
+
messageId: message.id
|
|
279
316
|
}
|
|
280
317
|
})
|
|
281
318
|
]
|
|
@@ -287,4 +324,4 @@ var intent_resolver_default = (context) => contributes(Capabilities.IntentResolv
|
|
|
287
324
|
export {
|
|
288
325
|
intent_resolver_default as default
|
|
289
326
|
};
|
|
290
|
-
//# sourceMappingURL=intent-resolver-
|
|
327
|
+
//# sourceMappingURL=intent-resolver-QAY4FLLM.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 { Capabilities, contributes, createIntent, createResolver, type PluginsContext } from '@dxos/app-framework';\nimport { ObjectId, Ref } from '@dxos/echo-schema';\nimport { invariant } from '@dxos/invariant';\nimport { DXN, QueueSubspaceTags } from '@dxos/keys';\nimport { refFromDXN } from '@dxos/live-object';\nimport { log } from '@dxos/log';\nimport { ATTENDABLE_PATH_SEPARATOR, DeckAction } from '@dxos/plugin-deck/types';\nimport { ObservabilityAction } from '@dxos/plugin-observability/types';\nimport { ChannelType, ThreadType } from '@dxos/plugin-space/types';\nimport { create, fullyQualifiedId, getSpace, makeRef } from '@dxos/react-client/echo';\nimport { MessageType } from '@dxos/schema';\n\nimport { ThreadCapabilities } from './capabilities';\nimport { THREAD_PLUGIN } from '../meta';\nimport { ThreadAction } from '../types';\n\nexport default (context: PluginsContext) =>\n contributes(Capabilities.IntentResolver, [\n createResolver({\n intent: ThreadAction.CreateChannel,\n resolve: ({ spaceId, name }) => ({\n data: {\n object: create(ChannelType, {\n name,\n queue: refFromDXN(new DXN(DXN.kind.QUEUE, [QueueSubspaceTags.DATA, spaceId, ObjectId.random()])),\n }),\n },\n }),\n }),\n createResolver({\n intent: ThreadAction.Create,\n resolve: ({ name, cursor, subject }) => {\n // Seed the threads array if it does not exist.\n if (subject?.threads === undefined) {\n try {\n // Static schema will throw an error if subject does not support threads array property.\n subject.threads = [];\n } catch (err) {\n log.error('Subject does not support threads array', { typename: subject?.typename });\n return;\n }\n }\n\n const { state } = context.requestCapability(ThreadCapabilities.MutableState);\n const subjectId = fullyQualifiedId(subject);\n const thread = create(ThreadType, { name, anchor: cursor, messages: [], status: 'staged' });\n const draft = state.drafts[subjectId];\n if (draft) {\n draft.push(thread);\n } else {\n state.drafts[subjectId] = [thread];\n }\n\n return {\n data: { object: thread },\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.Select,\n resolve: ({ current }) => {\n const { state } = context.requestCapability(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: ({ subject, thread }, undo) => {\n const { state } = context.requestCapability(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, remove it.\n const index = draft.findIndex((t) => t.id === thread.id);\n if (index !== -1) {\n draft.splice(index, 1);\n return;\n }\n }\n\n const space = getSpace(thread);\n if (!space || !subject.threads) {\n return;\n }\n\n if (!undo) {\n const index = subject.threads.findIndex((t: any) => t?.id === thread.id);\n const cursor = subject.threads[index]?.anchor;\n if (index !== -1) {\n subject.threads?.splice(index, 1);\n }\n\n space.db.remove(thread);\n\n return {\n undoable: {\n message: ['thread deleted label', { ns: THREAD_PLUGIN }],\n data: { cursor },\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): SDK should do this automatically.\n const savedThread = space.db.add(thread);\n subject.threads.push(savedThread);\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: ({ thread, subject, sender, text }) => {\n const { state } = context.requestCapability(ThreadCapabilities.MutableState);\n const subjectId = fullyQualifiedId(subject);\n const space = getSpace(subject);\n invariant(space, 'Space not found');\n const intents = [];\n\n const message = create(MessageType, {\n sender,\n created: new Date().toISOString(),\n blocks: [{ type: 'text', text }],\n // TODO(wittjosiah): Context based on attention.\n // context: context ? makeRef(context) : undefined,\n });\n thread.messages.push(makeRef(message));\n\n if (state.drafts[subjectId]?.find((t) => t === thread)) {\n // Move draft to document.\n thread.status = 'active';\n subject.threads ? subject.threads.push(makeRef(thread)) : (subject.threads = [makeRef(thread)]);\n state.drafts[subjectId] = state.drafts[subjectId]?.filter(({ id }) => id !== thread.id);\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, thread, messageId, message, messageIndex }, undo) => {\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, thread })],\n };\n } else {\n thread.messages.splice(messageIndex, 1);\n }\n\n return {\n undoable: {\n message: ['message deleted label', { ns: THREAD_PLUGIN }],\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, makeRef(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": ["Capabilities", "contributes", "createIntent", "createResolver", "ObjectId", "Ref", "invariant", "DXN", "QueueSubspaceTags", "refFromDXN", "log", "ATTENDABLE_PATH_SEPARATOR", "DeckAction", "ObservabilityAction", "ChannelType", "ThreadType", "create", "fullyQualifiedId", "getSpace", "makeRef", "MessageType", "context", "contributes", "Capabilities", "IntentResolver", "createResolver", "intent", "ThreadAction", "CreateChannel", "resolve", "spaceId", "name", "data", "object", "create", "ChannelType", "queue", "refFromDXN", "DXN", "kind", "QUEUE", "QueueSubspaceTags", "DATA", "ObjectId", "random", "Create", "cursor", "subject", "threads", "undefined", "err", "log", "error", "typename", "state", "requestCapability", "ThreadCapabilities", "MutableState", "subjectId", "fullyQualifiedId", "thread", "ThreadType", "anchor", "messages", "status", "draft", "drafts", "push", "intents", "createIntent", "Select", "current", "DeckAction", "ChangeCompanion", "primary", "companion", "ATTENDABLE_PATH_SEPARATOR", "ToggleResolved", "space", "getSpace", "invariant", "id", "ObservabilityAction", "SendEvent", "properties", "threadId", "Delete", "undo", "index", "findIndex", "t", "splice", "db", "remove", "undoable", "message", "ns", "THREAD_PLUGIN", "savedThread", "add", "AddMessage", "sender", "text", "MessageType", "created", "Date", "toISOString", "blocks", "type", "makeRef", "find", "filter", "threadLength", "length", "messageId", "messageLength", "DeleteMessage", "messageIndex", "Ref", "hasObjectId", "target"]
|
|
7
|
+
}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import {
|
|
2
|
-
ThreadAction
|
|
3
|
-
} from "./chunk-SJPT347G.mjs";
|
|
4
1
|
import {
|
|
5
2
|
ThreadCapabilities
|
|
6
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-EP6MRLY7.mjs";
|
|
4
|
+
import {
|
|
5
|
+
ThreadAction
|
|
6
|
+
} from "./chunk-WOG72DWE.mjs";
|
|
7
7
|
import "./chunk-WBJLUUOK.mjs";
|
|
8
8
|
|
|
9
9
|
// packages/plugins/plugin-thread/src/capabilities/markdown.ts
|
|
@@ -89,8 +89,7 @@ var threads = (state, doc, dispatch) => {
|
|
|
89
89
|
const current = selection.current ?? selection.closest;
|
|
90
90
|
if (current) {
|
|
91
91
|
void dispatch(createIntent(ThreadAction.Select, {
|
|
92
|
-
current
|
|
93
|
-
skipOpen: true
|
|
92
|
+
current
|
|
94
93
|
}));
|
|
95
94
|
}
|
|
96
95
|
}
|
|
@@ -109,4 +108,4 @@ var markdown_default = (context) => contributes(MarkdownCapabilities.Extensions,
|
|
|
109
108
|
export {
|
|
110
109
|
markdown_default as default
|
|
111
110
|
};
|
|
112
|
-
//# sourceMappingURL=markdown-
|
|
111
|
+
//# sourceMappingURL=markdown-7KXBXCUS.mjs.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/capabilities/markdown.ts", "../../../src/extensions/threads.ts"],
|
|
4
|
-
"sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { Capabilities, contributes, type PluginsContext } from '@dxos/app-framework';\nimport { MarkdownCapabilities } from '@dxos/plugin-markdown';\n\nimport { ThreadCapabilities } from './capabilities';\nimport { threads } from '../extensions';\n\nexport default (context: PluginsContext) =>\n contributes(MarkdownCapabilities.Extensions, [\n ({ document: doc }) => {\n const { dispatchPromise: dispatch } = context.requestCapability(Capabilities.IntentDispatcher);\n const { state } = context.requestCapability(ThreadCapabilities.MutableState);\n return threads(state, doc, dispatch);\n },\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 { createIntent, type PromiseIntentDispatcher } from '@dxos/app-framework';\nimport { Ref } from '@dxos/echo-schema';\nimport { RefArray } from '@dxos/live-object';\nimport { type DocumentType } from '@dxos/plugin-markdown/types';\nimport { ThreadType } from '@dxos/plugin-space/types';\nimport { getSpace, getTextInRange, createDocAccessor, fullyQualifiedId } from '@dxos/react-client/echo';\nimport { comments, createExternalCommentSync } from '@dxos/react-ui-editor';\n\nimport { ThreadAction, type ThreadState } from '../types';\n\n// TODO(burdon): Factor out.\nconst getName = (doc: DocumentType, 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?: DocumentType, 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 // TODO(Zan): When we have the deepsignal specific equivalent of this we should use that instead.\n const threads = computed(() =>\n [...RefArray.targets(doc.threads), ...(state.drafts[fullyQualifiedId(doc)] ?? [])].filter(\n (thread) => !(thread?.status === 'resolved'),\n ),\n );\n\n return [\n EditorView.updateListener.of((update) => {\n if (update.docChanged) {\n RefArray.targets(doc.threads).forEach((thread) => {\n if (thread.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, thread.anchor);\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 threads.value\n .filter((thread) => thread?.anchor)\n .map((thread) => ({ id: fullyQualifiedId(thread), cursor: thread.anchor! })),\n ),\n\n comments({\n id: fullyQualifiedId(doc),\n onCreate: ({ cursor }) => {\n const name = getName(doc, cursor);\n void dispatch(createIntent(ThreadAction.Create, { 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 = doc.threads.find(Ref.hasObjectId(id))?.target;\n if (thread) {\n thread.anchor = undefined;\n }\n },\n onUpdate: ({ id, cursor }) => {\n const thread =\n state.drafts[fullyQualifiedId(doc)]?.find((thread) => fullyQualifiedId(thread) === id) ??\n doc.threads.find(Ref.hasObjectId(id))?.target;\n\n if (thread instanceof ThreadType && thread.anchor) {\n thread.name = getName(doc, thread.anchor);\n thread.anchor = cursor;\n }\n },\n onSelect: ({ selection }) => {\n const current = selection.current ?? selection.closest;\n if (current) {\n void dispatch(createIntent(ThreadAction.Select, { current
|
|
5
|
-
"mappings": "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
|
|
6
|
-
"names": ["Capabilities", "contributes", "MarkdownCapabilities", "EditorView", "computed", "effect", "createIntent", "Ref", "RefArray", "ThreadType", "getSpace", "getTextInRange", "createDocAccessor", "fullyQualifiedId", "comments", "createExternalCommentSync", "getName", "doc", "anchor", "content", "start", "end", "split", "getTextInRange", "createDocAccessor", "target", "threads", "state", "dispatch", "space", "getSpace", "comments", "computed", "RefArray", "targets", "drafts", "fullyQualifiedId", "filter", "thread", "status", "EditorView", "updateListener", "of", "update", "docChanged", "forEach", "name", "createExternalCommentSync", "sink", "effect", "value", "map", "id", "cursor", "onCreate", "createIntent", "ThreadAction", "Create", "subject", "onDelete", "draft", "index", "findIndex", "splice", "find", "Ref", "hasObjectId", "undefined", "onUpdate", "ThreadType", "onSelect", "selection", "current", "closest", "Select", "
|
|
4
|
+
"sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { Capabilities, contributes, type PluginsContext } from '@dxos/app-framework';\nimport { MarkdownCapabilities } from '@dxos/plugin-markdown';\n\nimport { ThreadCapabilities } from './capabilities';\nimport { threads } from '../extensions';\n\nexport default (context: PluginsContext) =>\n contributes(MarkdownCapabilities.Extensions, [\n ({ document: doc }) => {\n const { dispatchPromise: dispatch } = context.requestCapability(Capabilities.IntentDispatcher);\n const { state } = context.requestCapability(ThreadCapabilities.MutableState);\n return threads(state, doc, dispatch);\n },\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 { createIntent, type PromiseIntentDispatcher } from '@dxos/app-framework';\nimport { Ref } from '@dxos/echo-schema';\nimport { RefArray } from '@dxos/live-object';\nimport { type DocumentType } from '@dxos/plugin-markdown/types';\nimport { ThreadType } from '@dxos/plugin-space/types';\nimport { getSpace, getTextInRange, createDocAccessor, fullyQualifiedId } from '@dxos/react-client/echo';\nimport { comments, createExternalCommentSync } from '@dxos/react-ui-editor';\n\nimport { ThreadAction, type ThreadState } from '../types';\n\n// TODO(burdon): Factor out.\nconst getName = (doc: DocumentType, 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?: DocumentType, 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 // TODO(Zan): When we have the deepsignal specific equivalent of this we should use that instead.\n const threads = computed(() =>\n [...RefArray.targets(doc.threads), ...(state.drafts[fullyQualifiedId(doc)] ?? [])].filter(\n (thread) => !(thread?.status === 'resolved'),\n ),\n );\n\n return [\n EditorView.updateListener.of((update) => {\n if (update.docChanged) {\n RefArray.targets(doc.threads).forEach((thread) => {\n if (thread.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, thread.anchor);\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 threads.value\n .filter((thread) => thread?.anchor)\n .map((thread) => ({ id: fullyQualifiedId(thread), cursor: thread.anchor! })),\n ),\n\n comments({\n id: fullyQualifiedId(doc),\n onCreate: ({ cursor }) => {\n const name = getName(doc, cursor);\n void dispatch(createIntent(ThreadAction.Create, { 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 = doc.threads.find(Ref.hasObjectId(id))?.target;\n if (thread) {\n thread.anchor = undefined;\n }\n },\n onUpdate: ({ id, cursor }) => {\n const thread =\n state.drafts[fullyQualifiedId(doc)]?.find((thread) => fullyQualifiedId(thread) === id) ??\n doc.threads.find(Ref.hasObjectId(id))?.target;\n\n if (thread instanceof ThreadType && thread.anchor) {\n thread.name = getName(doc, thread.anchor);\n thread.anchor = cursor;\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": "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",
|
|
6
|
+
"names": ["Capabilities", "contributes", "MarkdownCapabilities", "EditorView", "computed", "effect", "createIntent", "Ref", "RefArray", "ThreadType", "getSpace", "getTextInRange", "createDocAccessor", "fullyQualifiedId", "comments", "createExternalCommentSync", "getName", "doc", "anchor", "content", "start", "end", "split", "getTextInRange", "createDocAccessor", "target", "threads", "state", "dispatch", "space", "getSpace", "comments", "computed", "RefArray", "targets", "drafts", "fullyQualifiedId", "filter", "thread", "status", "EditorView", "updateListener", "of", "update", "docChanged", "forEach", "name", "createExternalCommentSync", "sink", "effect", "value", "map", "id", "cursor", "onCreate", "createIntent", "ThreadAction", "Create", "subject", "onDelete", "draft", "index", "findIndex", "splice", "find", "Ref", "hasObjectId", "undefined", "onUpdate", "ThreadType", "onSelect", "selection", "current", "closest", "Select", "context", "contributes", "MarkdownCapabilities", "Extensions", "document", "doc", "dispatchPromise", "dispatch", "requestCapability", "Capabilities", "IntentDispatcher", "state", "ThreadCapabilities", "MutableState", "threads"]
|
|
7
7
|
}
|