@dxos/plugin-thread 0.8.2-main.f081794 → 0.8.2-main.fbd8ed0
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-WC6KQDDU.mjs → ChatContainer-H4XTHM3A.mjs} +5 -5
- package/dist/lib/browser/ChatContainer-H4XTHM3A.mjs.map +7 -0
- package/dist/lib/browser/{app-graph-builder-6W4UKJDI.mjs → app-graph-builder-V7UUHGUI.mjs} +10 -7
- package/dist/lib/browser/app-graph-builder-V7UUHGUI.mjs.map +7 -0
- package/dist/lib/browser/{chunk-AYNXYEKP.mjs → chunk-32EIWOAL.mjs} +1 -1
- package/dist/lib/browser/{chunk-AYNXYEKP.mjs.map → chunk-32EIWOAL.mjs.map} +2 -2
- package/dist/lib/browser/{chunk-FY5OCUP6.mjs → chunk-I3JK6CBS.mjs} +9 -7
- package/dist/lib/browser/chunk-I3JK6CBS.mjs.map +7 -0
- package/dist/lib/browser/chunk-OO7PQPV5.mjs +93 -0
- package/dist/lib/browser/chunk-OO7PQPV5.mjs.map +7 -0
- package/dist/lib/browser/chunk-YRGWE35W.mjs +17 -0
- package/dist/lib/browser/index.mjs +10 -10
- package/dist/lib/browser/index.mjs.map +3 -3
- package/dist/lib/browser/{intent-resolver-3UW6ROYT.mjs → intent-resolver-PDOLX5B7.mjs} +14 -19
- package/dist/lib/browser/intent-resolver-PDOLX5B7.mjs.map +7 -0
- package/dist/lib/browser/{markdown-7KXBXCUS.mjs → markdown-XJJVUBDO.mjs} +4 -4
- package/dist/lib/browser/markdown-XJJVUBDO.mjs.map +7 -0
- package/dist/lib/browser/meta.json +1 -1
- package/dist/lib/browser/{react-surface-KAPIXG2M.mjs → react-surface-7DJZKIOK.mjs} +21 -22
- package/dist/lib/browser/react-surface-7DJZKIOK.mjs.map +7 -0
- package/dist/lib/browser/{settings-2VZ7S4SK.mjs → settings-K56QXNJ4.mjs} +2 -2
- package/dist/lib/browser/types.mjs +1 -1
- package/dist/lib/node/{ChatContainer-LVYQ67PJ.cjs → ChatContainer-TUISUIY7.cjs} +11 -11
- package/dist/lib/node/ChatContainer-TUISUIY7.cjs.map +7 -0
- package/dist/lib/node/{app-graph-builder-HZNWT4QU.cjs → app-graph-builder-MMM26FEH.cjs} +13 -10
- package/dist/lib/node/app-graph-builder-MMM26FEH.cjs.map +7 -0
- package/dist/lib/node/{chunk-BASYS5Q5.cjs → chunk-AZ275P4V.cjs} +9 -9
- package/dist/lib/node/{chunk-RIYLEDQ7.cjs → chunk-ETDNE4Z6.cjs} +13 -11
- package/dist/lib/node/chunk-ETDNE4Z6.cjs.map +7 -0
- package/dist/lib/node/{chunk-46BSFPBV.cjs → chunk-GRMB5VRN.cjs} +49 -49
- package/dist/lib/node/chunk-GRMB5VRN.cjs.map +7 -0
- package/dist/lib/node/{chunk-W25MBII2.cjs → chunk-NO6WQR36.cjs} +4 -4
- package/dist/lib/node/{chunk-W25MBII2.cjs.map → chunk-NO6WQR36.cjs.map} +2 -2
- package/dist/lib/node/index.cjs +17 -17
- package/dist/lib/node/index.cjs.map +3 -3
- package/dist/lib/node/{intent-resolver-DC6HDNTX.cjs → intent-resolver-MNTL32W2.cjs} +24 -29
- package/dist/lib/node/intent-resolver-MNTL32W2.cjs.map +7 -0
- package/dist/lib/node/{markdown-L2WMCQKM.cjs → markdown-25NI6Q4Y.cjs} +9 -9
- package/dist/lib/node/markdown-25NI6Q4Y.cjs.map +7 -0
- package/dist/lib/node/meta.json +1 -1
- package/dist/lib/node/{react-surface-5USFRCS3.cjs → react-surface-KGUZJVRL.cjs} +31 -32
- package/dist/lib/node/react-surface-KGUZJVRL.cjs.map +7 -0
- package/dist/lib/node/{settings-7MGTJ46L.cjs → settings-4WLSO726.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-WMOPMK5H.mjs → ChatContainer-G7VTTRDN.mjs} +5 -5
- package/dist/lib/node-esm/ChatContainer-G7VTTRDN.mjs.map +7 -0
- package/dist/lib/node-esm/{app-graph-builder-M3KK5QJH.mjs → app-graph-builder-QEFJ2KA4.mjs} +10 -7
- package/dist/lib/node-esm/app-graph-builder-QEFJ2KA4.mjs.map +7 -0
- package/dist/lib/node-esm/chunk-5XUQJWUG.mjs +19 -0
- package/dist/lib/node-esm/chunk-A7RLBTTZ.mjs +94 -0
- package/dist/lib/node-esm/chunk-A7RLBTTZ.mjs.map +7 -0
- package/dist/lib/node-esm/{chunk-T6E5EY7Z.mjs → chunk-IZWN4KAY.mjs} +1 -1
- package/dist/lib/node-esm/{chunk-T6E5EY7Z.mjs.map → chunk-IZWN4KAY.mjs.map} +2 -2
- package/dist/lib/node-esm/{chunk-7DOPZH6Y.mjs → chunk-V7HLWNAO.mjs} +9 -7
- package/dist/lib/node-esm/chunk-V7HLWNAO.mjs.map +7 -0
- package/dist/lib/node-esm/index.mjs +10 -10
- package/dist/lib/node-esm/index.mjs.map +3 -3
- package/dist/lib/node-esm/{intent-resolver-OAMDKGAA.mjs → intent-resolver-X2FNKFSK.mjs} +14 -19
- package/dist/lib/node-esm/intent-resolver-X2FNKFSK.mjs.map +7 -0
- package/dist/lib/node-esm/{markdown-ZKU23UVD.mjs → markdown-2ERASVEO.mjs} +4 -4
- package/dist/lib/node-esm/markdown-2ERASVEO.mjs.map +7 -0
- package/dist/lib/node-esm/meta.json +1 -1
- package/dist/lib/node-esm/{react-surface-VNZ2SN6W.mjs → react-surface-DLD2UJRM.mjs} +21 -22
- package/dist/lib/node-esm/react-surface-DLD2UJRM.mjs.map +7 -0
- package/dist/lib/node-esm/{settings-AJAZ3O47.mjs → settings-5UA6FBMW.mjs} +2 -2
- package/dist/lib/node-esm/types.mjs +1 -1
- package/dist/types/src/capabilities/app-graph-builder.d.ts +2 -179
- package/dist/types/src/capabilities/app-graph-builder.d.ts.map +1 -1
- package/dist/types/src/capabilities/index.d.ts +3 -179
- package/dist/types/src/capabilities/index.d.ts.map +1 -1
- package/dist/types/src/capabilities/intent-resolver.d.ts +2 -2
- package/dist/types/src/capabilities/intent-resolver.d.ts.map +1 -1
- package/dist/types/src/capabilities/markdown.d.ts +2 -2
- package/dist/types/src/capabilities/markdown.d.ts.map +1 -1
- package/dist/types/src/components/Chat.stories.d.ts.map +1 -1
- package/dist/types/src/components/ChatContainer.d.ts.map +1 -1
- package/dist/types/src/components/CommentContainer.d.ts.map +1 -1
- package/dist/types/src/components/Comments.stories.d.ts +1 -1
- package/dist/types/src/components/Comments.stories.d.ts.map +1 -1
- package/dist/types/src/components/CommentsContainer.d.ts.map +1 -1
- package/dist/types/src/components/MessageContainer.d.ts +5 -4
- 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/ThreadSettings.d.ts.map +1 -1
- package/dist/types/src/components/testing.d.ts +96 -49
- package/dist/types/src/components/testing.d.ts.map +1 -1
- package/dist/types/src/components/types.d.ts +2 -2
- package/dist/types/src/components/types.d.ts.map +1 -1
- package/dist/types/src/extensions/threads.d.ts.map +1 -1
- package/dist/types/src/hooks/analytics.d.ts +2 -2
- package/dist/types/src/hooks/analytics.d.ts.map +1 -1
- package/dist/types/src/hooks/useStatus.d.ts.map +1 -1
- package/dist/types/src/translations.d.ts +2 -56
- package/dist/types/src/translations.d.ts.map +1 -1
- package/dist/types/src/types.d.ts +212 -61
- package/dist/types/src/types.d.ts.map +1 -1
- package/dist/types/src/util.d.ts.map +1 -1
- package/dist/types/tsconfig.tsbuildinfo +1 -1
- package/package.json +40 -33
- package/src/ThreadPlugin.tsx +7 -7
- package/src/capabilities/app-graph-builder.ts +31 -21
- package/src/capabilities/intent-resolver.ts +10 -11
- package/src/capabilities/markdown.ts +4 -4
- package/src/components/Chat.stories.tsx +5 -6
- package/src/components/ChatContainer.tsx +3 -3
- package/src/components/CommentContainer.tsx +25 -49
- package/src/components/Comments.stories.tsx +9 -7
- package/src/components/CommentsContainer.tsx +2 -8
- package/src/components/MessageContainer.tsx +31 -50
- package/src/components/testing.ts +2 -2
- package/src/components/types.ts +2 -2
- package/src/hooks/analytics.ts +6 -2
- package/src/translations.ts +2 -2
- package/src/types.ts +40 -40
- package/dist/lib/browser/ChatContainer-WC6KQDDU.mjs.map +0 -7
- package/dist/lib/browser/app-graph-builder-6W4UKJDI.mjs.map +0 -7
- package/dist/lib/browser/chunk-2S7HPWRY.mjs +0 -17
- package/dist/lib/browser/chunk-FY5OCUP6.mjs.map +0 -7
- package/dist/lib/browser/chunk-WOG72DWE.mjs +0 -93
- package/dist/lib/browser/chunk-WOG72DWE.mjs.map +0 -7
- package/dist/lib/browser/intent-resolver-3UW6ROYT.mjs.map +0 -7
- package/dist/lib/browser/markdown-7KXBXCUS.mjs.map +0 -7
- package/dist/lib/browser/react-surface-KAPIXG2M.mjs.map +0 -7
- package/dist/lib/node/ChatContainer-LVYQ67PJ.cjs.map +0 -7
- package/dist/lib/node/app-graph-builder-HZNWT4QU.cjs.map +0 -7
- package/dist/lib/node/chunk-46BSFPBV.cjs.map +0 -7
- package/dist/lib/node/chunk-RIYLEDQ7.cjs.map +0 -7
- package/dist/lib/node/intent-resolver-DC6HDNTX.cjs.map +0 -7
- package/dist/lib/node/markdown-L2WMCQKM.cjs.map +0 -7
- package/dist/lib/node/react-surface-5USFRCS3.cjs.map +0 -7
- package/dist/lib/node-esm/ChatContainer-WMOPMK5H.mjs.map +0 -7
- package/dist/lib/node-esm/app-graph-builder-M3KK5QJH.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-7DOPZH6Y.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-E446MGLP.mjs +0 -94
- package/dist/lib/node-esm/chunk-E446MGLP.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-HZGOTRPK.mjs +0 -19
- package/dist/lib/node-esm/intent-resolver-OAMDKGAA.mjs.map +0 -7
- package/dist/lib/node-esm/markdown-ZKU23UVD.mjs.map +0 -7
- package/dist/lib/node-esm/react-surface-VNZ2SN6W.mjs.map +0 -7
- /package/dist/lib/browser/{chunk-2S7HPWRY.mjs.map → chunk-YRGWE35W.mjs.map} +0 -0
- /package/dist/lib/browser/{settings-2VZ7S4SK.mjs.map → settings-K56QXNJ4.mjs.map} +0 -0
- /package/dist/lib/node/{chunk-BASYS5Q5.cjs.map → chunk-AZ275P4V.cjs.map} +0 -0
- /package/dist/lib/node/{settings-7MGTJ46L.cjs.map → settings-4WLSO726.cjs.map} +0 -0
- /package/dist/lib/node-esm/{chunk-HZGOTRPK.mjs.map → chunk-5XUQJWUG.mjs.map} +0 -0
- /package/dist/lib/node-esm/{settings-AJAZ3O47.mjs.map → settings-5UA6FBMW.mjs.map} +0 -0
|
@@ -16,98 +16,98 @@ var __copyProps = (to, from, except, desc) => {
|
|
|
16
16
|
return to;
|
|
17
17
|
};
|
|
18
18
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
-
var
|
|
20
|
-
__export(
|
|
19
|
+
var chunk_GRMB5VRN_exports = {};
|
|
20
|
+
__export(chunk_GRMB5VRN_exports, {
|
|
21
21
|
ThreadAction: () => ThreadAction,
|
|
22
22
|
ThreadSettingsSchema: () => ThreadSettingsSchema
|
|
23
23
|
});
|
|
24
|
-
module.exports = __toCommonJS(
|
|
24
|
+
module.exports = __toCommonJS(chunk_GRMB5VRN_exports);
|
|
25
25
|
var import_chunk_ONLWOUYZ = require("./chunk-ONLWOUYZ.cjs");
|
|
26
|
-
var
|
|
26
|
+
var import_effect = require("effect");
|
|
27
|
+
var import_echo = require("@dxos/echo");
|
|
27
28
|
var import_types = require("@dxos/plugin-space/types");
|
|
28
|
-
var
|
|
29
|
+
var import_echo2 = require("@dxos/react-client/echo");
|
|
29
30
|
var import_schema = require("@dxos/schema");
|
|
30
31
|
var ThreadAction;
|
|
31
32
|
(function(ThreadAction2) {
|
|
32
33
|
const THREAD_ACTION = `${import_chunk_ONLWOUYZ.THREAD_PLUGIN}/action`;
|
|
33
|
-
class CreateChannel extends
|
|
34
|
-
input:
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
name: import_echo_schema.S.optional(import_echo_schema.S.String)
|
|
34
|
+
class CreateChannel extends import_effect.Schema.TaggedClass()(`${THREAD_ACTION}/create-channel`, {
|
|
35
|
+
input: import_effect.Schema.Struct({
|
|
36
|
+
spaceId: import_echo.Type.SpaceId,
|
|
37
|
+
name: import_effect.Schema.optional(import_effect.Schema.String)
|
|
38
38
|
}),
|
|
39
|
-
output:
|
|
39
|
+
output: import_effect.Schema.Struct({
|
|
40
40
|
object: import_types.ChannelType
|
|
41
41
|
})
|
|
42
42
|
}) {
|
|
43
43
|
}
|
|
44
44
|
ThreadAction2.CreateChannel = CreateChannel;
|
|
45
|
-
class Create extends
|
|
46
|
-
input:
|
|
47
|
-
name:
|
|
48
|
-
cursor:
|
|
49
|
-
subject:
|
|
45
|
+
class Create extends import_effect.Schema.TaggedClass()(`${THREAD_ACTION}/create`, {
|
|
46
|
+
input: import_effect.Schema.Struct({
|
|
47
|
+
name: import_effect.Schema.optional(import_effect.Schema.String),
|
|
48
|
+
cursor: import_effect.Schema.String,
|
|
49
|
+
subject: import_echo2.EchoObjectSchema
|
|
50
50
|
}),
|
|
51
|
-
output:
|
|
51
|
+
output: import_effect.Schema.Struct({
|
|
52
52
|
object: import_types.ThreadType
|
|
53
53
|
})
|
|
54
54
|
}) {
|
|
55
55
|
}
|
|
56
56
|
ThreadAction2.Create = Create;
|
|
57
|
-
class
|
|
58
|
-
input:
|
|
59
|
-
|
|
57
|
+
class Delete extends import_effect.Schema.TaggedClass()(`${THREAD_ACTION}/delete`, {
|
|
58
|
+
input: import_effect.Schema.Struct({
|
|
59
|
+
thread: import_types.ThreadType,
|
|
60
|
+
subject: import_echo2.EchoObjectSchema,
|
|
61
|
+
cursor: import_effect.Schema.optional(import_effect.Schema.String)
|
|
60
62
|
}),
|
|
61
|
-
output:
|
|
63
|
+
output: import_effect.Schema.Void
|
|
62
64
|
}) {
|
|
63
65
|
}
|
|
64
|
-
ThreadAction2.
|
|
65
|
-
class
|
|
66
|
-
input:
|
|
67
|
-
|
|
66
|
+
ThreadAction2.Delete = Delete;
|
|
67
|
+
class Select extends import_effect.Schema.TaggedClass()(`${THREAD_ACTION}/select`, {
|
|
68
|
+
input: import_effect.Schema.Struct({
|
|
69
|
+
current: import_effect.Schema.String
|
|
68
70
|
}),
|
|
69
|
-
output:
|
|
71
|
+
output: import_effect.Schema.Void
|
|
70
72
|
}) {
|
|
71
73
|
}
|
|
72
|
-
ThreadAction2.
|
|
73
|
-
class
|
|
74
|
-
input:
|
|
75
|
-
thread: import_types.ThreadType
|
|
76
|
-
subject: import_echo.EchoObjectSchema,
|
|
77
|
-
cursor: import_echo_schema.S.optional(import_echo_schema.S.String)
|
|
74
|
+
ThreadAction2.Select = Select;
|
|
75
|
+
class ToggleResolved extends import_effect.Schema.TaggedClass()(`${THREAD_ACTION}/toggle-resolved`, {
|
|
76
|
+
input: import_effect.Schema.Struct({
|
|
77
|
+
thread: import_types.ThreadType
|
|
78
78
|
}),
|
|
79
|
-
output:
|
|
79
|
+
output: import_effect.Schema.Void
|
|
80
80
|
}) {
|
|
81
81
|
}
|
|
82
|
-
ThreadAction2.
|
|
83
|
-
class AddMessage extends
|
|
84
|
-
input:
|
|
85
|
-
subject:
|
|
82
|
+
ThreadAction2.ToggleResolved = ToggleResolved;
|
|
83
|
+
class AddMessage extends import_effect.Schema.TaggedClass()(`${THREAD_ACTION}/add-message`, {
|
|
84
|
+
input: import_effect.Schema.Struct({
|
|
85
|
+
subject: import_echo2.EchoObjectSchema,
|
|
86
86
|
thread: import_types.ThreadType,
|
|
87
|
-
sender: import_schema.
|
|
88
|
-
text:
|
|
87
|
+
sender: import_schema.DataType.Actor,
|
|
88
|
+
text: import_effect.Schema.String
|
|
89
89
|
}),
|
|
90
|
-
output:
|
|
90
|
+
output: import_effect.Schema.Void
|
|
91
91
|
}) {
|
|
92
92
|
}
|
|
93
93
|
ThreadAction2.AddMessage = AddMessage;
|
|
94
|
-
class DeleteMessage extends
|
|
95
|
-
input:
|
|
94
|
+
class DeleteMessage extends import_effect.Schema.TaggedClass()(`${THREAD_ACTION}/delete-message`, {
|
|
95
|
+
input: import_effect.Schema.Struct({
|
|
96
96
|
thread: import_types.ThreadType,
|
|
97
|
-
subject:
|
|
98
|
-
messageId:
|
|
99
|
-
message:
|
|
100
|
-
messageIndex:
|
|
97
|
+
subject: import_echo2.EchoObjectSchema,
|
|
98
|
+
messageId: import_effect.Schema.String,
|
|
99
|
+
message: import_effect.Schema.optional(import_schema.DataType.Message),
|
|
100
|
+
messageIndex: import_effect.Schema.optional(import_effect.Schema.Number)
|
|
101
101
|
}),
|
|
102
|
-
output:
|
|
102
|
+
output: import_effect.Schema.Void
|
|
103
103
|
}) {
|
|
104
104
|
}
|
|
105
105
|
ThreadAction2.DeleteMessage = DeleteMessage;
|
|
106
106
|
})(ThreadAction || (ThreadAction = {}));
|
|
107
|
-
var ThreadSettingsSchema =
|
|
107
|
+
var ThreadSettingsSchema = import_effect.Schema.mutable(import_effect.Schema.Struct({}));
|
|
108
108
|
// Annotate the CommonJS export names for ESM import in node:
|
|
109
109
|
0 && (module.exports = {
|
|
110
110
|
ThreadAction,
|
|
111
111
|
ThreadSettingsSchema
|
|
112
112
|
});
|
|
113
|
-
//# sourceMappingURL=chunk-
|
|
113
|
+
//# sourceMappingURL=chunk-GRMB5VRN.cjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/types.ts"],
|
|
4
|
+
"sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nimport { Schema } from 'effect';\n\nimport { Type } from '@dxos/echo';\nimport { ChannelType, ThreadType } from '@dxos/plugin-space/types';\nimport { EchoObjectSchema } from '@dxos/react-client/echo';\nimport { DataType } 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 Schema.TaggedClass<CreateChannel>()(`${THREAD_ACTION}/create-channel`, {\n input: Schema.Struct({\n spaceId: Type.SpaceId,\n name: Schema.optional(Schema.String),\n }),\n output: Schema.Struct({\n object: ChannelType,\n }),\n }) {}\n\n export class Create extends Schema.TaggedClass<Create>()(`${THREAD_ACTION}/create`, {\n input: Schema.Struct({\n name: Schema.optional(Schema.String),\n cursor: Schema.String,\n subject: EchoObjectSchema,\n }),\n output: Schema.Struct({\n object: ThreadType,\n }),\n }) {}\n\n export class Delete extends Schema.TaggedClass<Delete>()(`${THREAD_ACTION}/delete`, {\n input: Schema.Struct({\n thread: ThreadType,\n subject: EchoObjectSchema,\n cursor: Schema.optional(Schema.String),\n }),\n output: Schema.Void,\n }) {}\n\n export class Select extends Schema.TaggedClass<Select>()(`${THREAD_ACTION}/select`, {\n input: Schema.Struct({\n current: Schema.String,\n }),\n output: Schema.Void,\n }) {}\n\n export class ToggleResolved extends Schema.TaggedClass<ToggleResolved>()(`${THREAD_ACTION}/toggle-resolved`, {\n input: Schema.Struct({\n thread: ThreadType,\n }),\n output: Schema.Void,\n }) {}\n\n export class AddMessage extends Schema.TaggedClass<AddMessage>()(`${THREAD_ACTION}/add-message`, {\n input: Schema.Struct({\n subject: EchoObjectSchema,\n thread: ThreadType,\n sender: DataType.Actor,\n text: Schema.String,\n }),\n output: Schema.Void,\n }) {}\n\n export class DeleteMessage extends Schema.TaggedClass<DeleteMessage>()(`${THREAD_ACTION}/delete-message`, {\n input: Schema.Struct({\n thread: ThreadType,\n subject: EchoObjectSchema,\n messageId: Schema.String,\n message: Schema.optional(DataType.Message),\n messageIndex: Schema.optional(Schema.Number),\n }),\n output: Schema.Void,\n }) {}\n}\n\nexport const ThreadSettingsSchema = Schema.mutable(Schema.Struct({}));\nexport type ThreadSettingsProps = Schema.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,oBAAuB;AAEvB,kBAAqB;AACrB,mBAAwC;AACxC,IAAAA,eAAiC;AACjC,oBAAyB;;UAIRC,eAAAA;AACf,QAAMC,gBAAgB,GAAGC,mCAAAA;EAElB,MAAMC,sBAAsBC,qBAAOC,YAAW,EAAkB,GAAGJ,aAAAA,mBAAgC;IACxGK,OAAOF,qBAAOG,OAAO;MACnBC,SAASC,iBAAKC;MACdC,MAAMP,qBAAOQ,SAASR,qBAAOS,MAAM;IACrC,CAAA;IACAC,QAAQV,qBAAOG,OAAO;MACpBQ,QAAQC;IACV,CAAA;EACF,CAAA,EAAA;EAAI;gBARSb,gBAAAA;EAUN,MAAMc,eAAeb,qBAAOC,YAAW,EAAW,GAAGJ,aAAAA,WAAwB;IAClFK,OAAOF,qBAAOG,OAAO;MACnBI,MAAMP,qBAAOQ,SAASR,qBAAOS,MAAM;MACnCK,QAAQd,qBAAOS;MACfM,SAASC;IACX,CAAA;IACAN,QAAQV,qBAAOG,OAAO;MACpBQ,QAAQM;IACV,CAAA;EACF,CAAA,EAAA;EAAI;gBATSJ,SAAAA;EAWN,MAAMK,eAAelB,qBAAOC,YAAW,EAAW,GAAGJ,aAAAA,WAAwB;IAClFK,OAAOF,qBAAOG,OAAO;MACnBgB,QAAQF;MACRF,SAASC;MACTF,QAAQd,qBAAOQ,SAASR,qBAAOS,MAAM;IACvC,CAAA;IACAC,QAAQV,qBAAOoB;EACjB,CAAA,EAAA;EAAI;gBAPSF,SAAAA;EASN,MAAMG,eAAerB,qBAAOC,YAAW,EAAW,GAAGJ,aAAAA,WAAwB;IAClFK,OAAOF,qBAAOG,OAAO;MACnBmB,SAAStB,qBAAOS;IAClB,CAAA;IACAC,QAAQV,qBAAOoB;EACjB,CAAA,EAAA;EAAI;gBALSC,SAAAA;EAON,MAAME,uBAAuBvB,qBAAOC,YAAW,EAAmB,GAAGJ,aAAAA,oBAAiC;IAC3GK,OAAOF,qBAAOG,OAAO;MACnBgB,QAAQF;IACV,CAAA;IACAP,QAAQV,qBAAOoB;EACjB,CAAA,EAAA;EAAI;gBALSG,iBAAAA;EAON,MAAMC,mBAAmBxB,qBAAOC,YAAW,EAAe,GAAGJ,aAAAA,gBAA6B;IAC/FK,OAAOF,qBAAOG,OAAO;MACnBY,SAASC;MACTG,QAAQF;MACRQ,QAAQC,uBAASC;MACjBC,MAAM5B,qBAAOS;IACf,CAAA;IACAC,QAAQV,qBAAOoB;EACjB,CAAA,EAAA;EAAI;gBARSI,aAAAA;EAUN,MAAMK,sBAAsB7B,qBAAOC,YAAW,EAAkB,GAAGJ,aAAAA,mBAAgC;IACxGK,OAAOF,qBAAOG,OAAO;MACnBgB,QAAQF;MACRF,SAASC;MACTc,WAAW9B,qBAAOS;MAClBsB,SAAS/B,qBAAOQ,SAASkB,uBAASM,OAAO;MACzCC,cAAcjC,qBAAOQ,SAASR,qBAAOkC,MAAM;IAC7C,CAAA;IACAxB,QAAQV,qBAAOoB;EACjB,CAAA,EAAA;EAAI;gBATSS,gBAAAA;AAUf,GAnEiBjC,iBAAAA,eAAAA,CAAAA,EAAAA;AAqEV,IAAMuC,uBAAuBnC,qBAAOoC,QAAQpC,qBAAOG,OAAO,CAAC,CAAA,CAAA;",
|
|
6
|
+
"names": ["import_echo", "ThreadAction", "THREAD_ACTION", "THREAD_PLUGIN", "CreateChannel", "Schema", "TaggedClass", "input", "Struct", "spaceId", "Type", "SpaceId", "name", "optional", "String", "output", "object", "ChannelType", "Create", "cursor", "subject", "EchoObjectSchema", "ThreadType", "Delete", "thread", "Void", "Select", "current", "ToggleResolved", "AddMessage", "sender", "DataType", "Actor", "text", "DeleteMessage", "messageId", "message", "Message", "messageIndex", "Number", "ThreadSettingsSchema", "mutable"]
|
|
7
|
+
}
|
|
@@ -16,12 +16,12 @@ var __copyProps = (to, from, except, desc) => {
|
|
|
16
16
|
return to;
|
|
17
17
|
};
|
|
18
18
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
-
var
|
|
20
|
-
__export(
|
|
19
|
+
var chunk_NO6WQR36_exports = {};
|
|
20
|
+
__export(chunk_NO6WQR36_exports, {
|
|
21
21
|
useOnEditAnalytics: () => useOnEditAnalytics,
|
|
22
22
|
useStatus: () => useStatus
|
|
23
23
|
});
|
|
24
|
-
module.exports = __toCommonJS(
|
|
24
|
+
module.exports = __toCommonJS(chunk_NO6WQR36_exports);
|
|
25
25
|
var import_react = require("react");
|
|
26
26
|
var import_react2 = require("react");
|
|
27
27
|
var import_app_framework = require("@dxos/app-framework");
|
|
@@ -84,4 +84,4 @@ var useOnEditAnalytics = (message, textBlock, editing) => {
|
|
|
84
84
|
useOnEditAnalytics,
|
|
85
85
|
useStatus
|
|
86
86
|
});
|
|
87
|
-
//# sourceMappingURL=chunk-
|
|
87
|
+
//# sourceMappingURL=chunk-NO6WQR36.cjs.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/hooks/useStatus.ts", "../../../src/hooks/analytics.ts"],
|
|
4
|
-
"sourcesContent": ["//\n// Copyright 2024 DXOS.org\n//\n\nimport { useEffect, useState } from 'react';\n\nimport { type Space } from '@dxos/react-client/echo';\n\n// TODO(burdon): Generalize and factor out.\nexport const useStatus = (space?: Space, channel?: string) => {\n const [processing, setProcessing] = useState(false);\n useEffect(() => {\n if (!space || !channel) {\n return;\n }\n\n const unsubscribe = space.listen(`status/${channel}`, (status) => {\n const { event } = status.payload ?? {};\n setProcessing(event === 'processing');\n });\n\n const t = setInterval(() => {\n setProcessing((prev: any) => {\n if (typeof prev?.ts === 'number' && Date.now() - prev.ts > 30_000) {\n return undefined;\n } else {\n return prev;\n }\n });\n }, 1_000);\n\n return () => {\n unsubscribe();\n clearInterval(t);\n };\n }, [space, channel]);\n\n return processing;\n};\n", "//\n// Copyright 2024 DXOS.org\n//\n\nimport { useCallback } from 'react';\n\nimport { createIntent, useIntentDispatcher } from '@dxos/app-framework';\nimport { type Live } from '@dxos/live-object';\nimport { ObservabilityAction } from '@dxos/plugin-observability/types';\nimport { getSpace } from '@dxos/react-client/echo';\nimport { useOnTransition } from '@dxos/react-ui';\nimport { type
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;AAIA,mBAAoC;ACApC,IAAAA,gBAA4B;AAE5B,2BAAkD;AAElD,mBAAoC;AACpC,kBAAyB;AACzB,sBAAgC;ADDzB,IAAMC,YAAY,CAACC,OAAeC,YAAAA;AACvC,QAAM,CAACC,YAAYC,aAAAA,QAAiBC,uBAAS,KAAA;AAC7CC,8BAAU,MAAA;AACR,QAAI,CAACL,SAAS,CAACC,SAAS;AACtB;IACF;AAEA,UAAMK,cAAcN,MAAMO,OAAO,UAAUN,OAAAA,IAAW,CAACO,WAAAA;AACrD,YAAM,EAAEC,MAAK,IAAKD,OAAOE,WAAW,CAAC;AACrCP,oBAAcM,UAAU,YAAA;IAC1B,CAAA;AAEA,UAAME,IAAIC,YAAY,MAAA;AACpBT,oBAAc,CAACU,SAAAA;AACb,YAAI,OAAOA,MAAMC,OAAO,YAAYC,KAAKC,IAAG,IAAKH,KAAKC,KAAK,KAAQ;AACjE,iBAAOG;QACT,OAAO;AACL,iBAAOJ;QACT;MACF,CAAA;IACF,GAAG,GAAA;AAEH,WAAO,MAAA;AACLP,kBAAAA;AACAY,oBAAcP,CAAAA;IAChB;EACF,GAAG;IAACX;IAAOC;GAAQ;AAEnB,SAAOC;AACT;ACzBO,IAAMiB,qBAAqB,
|
|
4
|
+
"sourcesContent": ["//\n// Copyright 2024 DXOS.org\n//\n\nimport { useEffect, useState } from 'react';\n\nimport { type Space } from '@dxos/react-client/echo';\n\n// TODO(burdon): Generalize and factor out.\nexport const useStatus = (space?: Space, channel?: string) => {\n const [processing, setProcessing] = useState(false);\n useEffect(() => {\n if (!space || !channel) {\n return;\n }\n\n const unsubscribe = space.listen(`status/${channel}`, (status) => {\n const { event } = status.payload ?? {};\n setProcessing(event === 'processing');\n });\n\n const t = setInterval(() => {\n setProcessing((prev: any) => {\n if (typeof prev?.ts === 'number' && Date.now() - prev.ts > 30_000) {\n return undefined;\n } else {\n return prev;\n }\n });\n }, 1_000);\n\n return () => {\n unsubscribe();\n clearInterval(t);\n };\n }, [space, channel]);\n\n return processing;\n};\n", "//\n// Copyright 2024 DXOS.org\n//\n\nimport { useCallback } from 'react';\n\nimport { createIntent, useIntentDispatcher } from '@dxos/app-framework';\nimport { type Live } from '@dxos/live-object';\nimport { ObservabilityAction } from '@dxos/plugin-observability/types';\nimport { getSpace } from '@dxos/react-client/echo';\nimport { useOnTransition } from '@dxos/react-ui';\nimport { type DataType } from '@dxos/schema';\n\nexport const useOnEditAnalytics = (\n message: Live<any>,\n textBlock: DataType.MessageBlock.Text | undefined,\n editing: boolean,\n) => {\n const { dispatchPromise: dispatch } = useIntentDispatcher();\n\n const onEdit = useCallback(() => {\n const space = getSpace(message);\n if (!space || !textBlock) {\n return;\n }\n\n void dispatch(\n createIntent(ObservabilityAction.SendEvent, {\n name: 'threads.message.update',\n properties: {\n spaceId: space.id,\n messageId: message.id,\n messageLength: textBlock?.text.length,\n },\n }),\n );\n }, [dispatch, message, textBlock]);\n\n useOnTransition(editing, true, false, onEdit);\n};\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;AAIA,mBAAoC;ACApC,IAAAA,gBAA4B;AAE5B,2BAAkD;AAElD,mBAAoC;AACpC,kBAAyB;AACzB,sBAAgC;ADDzB,IAAMC,YAAY,CAACC,OAAeC,YAAAA;AACvC,QAAM,CAACC,YAAYC,aAAAA,QAAiBC,uBAAS,KAAA;AAC7CC,8BAAU,MAAA;AACR,QAAI,CAACL,SAAS,CAACC,SAAS;AACtB;IACF;AAEA,UAAMK,cAAcN,MAAMO,OAAO,UAAUN,OAAAA,IAAW,CAACO,WAAAA;AACrD,YAAM,EAAEC,MAAK,IAAKD,OAAOE,WAAW,CAAC;AACrCP,oBAAcM,UAAU,YAAA;IAC1B,CAAA;AAEA,UAAME,IAAIC,YAAY,MAAA;AACpBT,oBAAc,CAACU,SAAAA;AACb,YAAI,OAAOA,MAAMC,OAAO,YAAYC,KAAKC,IAAG,IAAKH,KAAKC,KAAK,KAAQ;AACjE,iBAAOG;QACT,OAAO;AACL,iBAAOJ;QACT;MACF,CAAA;IACF,GAAG,GAAA;AAEH,WAAO,MAAA;AACLP,kBAAAA;AACAY,oBAAcP,CAAAA;IAChB;EACF,GAAG;IAACX;IAAOC;GAAQ;AAEnB,SAAOC;AACT;ACzBO,IAAMiB,qBAAqB,CAChCC,SACAC,WACAC,YAAAA;AAEA,QAAM,EAAEC,iBAAiBC,SAAQ,QAAKC,0CAAAA;AAEtC,QAAMC,aAASC,2BAAY,MAAA;AACzB,UAAM3B,YAAQ4B,sBAASR,OAAAA;AACvB,QAAI,CAACpB,SAAS,CAACqB,WAAW;AACxB;IACF;AAEA,SAAKG,aACHK,mCAAaC,iCAAoBC,WAAW;MAC1CC,MAAM;MACNC,YAAY;QACVC,SAASlC,MAAMmC;QACfC,WAAWhB,QAAQe;QACnBE,eAAehB,WAAWiB,KAAKC;MACjC;IACF,CAAA,CAAA;EAEJ,GAAG;IAACf;IAAUJ;IAASC;GAAU;AAEjCmB,uCAAgBlB,SAAS,MAAM,OAAOI,MAAAA;AACxC;",
|
|
6
6
|
"names": ["import_react", "useStatus", "space", "channel", "processing", "setProcessing", "useState", "useEffect", "unsubscribe", "listen", "status", "event", "payload", "t", "setInterval", "prev", "ts", "Date", "now", "undefined", "clearInterval", "useOnEditAnalytics", "message", "textBlock", "editing", "dispatchPromise", "dispatch", "useIntentDispatcher", "onEdit", "useCallback", "getSpace", "createIntent", "ObservabilityAction", "SendEvent", "name", "properties", "spaceId", "id", "messageId", "messageLength", "text", "length", "useOnTransition"]
|
|
7
7
|
}
|
package/dist/lib/node/index.cjs
CHANGED
|
@@ -24,14 +24,14 @@ __export(node_exports, {
|
|
|
24
24
|
ThreadEvents: () => ThreadEvents,
|
|
25
25
|
ThreadPlugin: () => ThreadPlugin,
|
|
26
26
|
meta: () => import_chunk_ONLWOUYZ.meta,
|
|
27
|
-
useOnEditAnalytics: () =>
|
|
28
|
-
useStatus: () =>
|
|
27
|
+
useOnEditAnalytics: () => import_chunk_NO6WQR36.useOnEditAnalytics,
|
|
28
|
+
useStatus: () => import_chunk_NO6WQR36.useStatus
|
|
29
29
|
});
|
|
30
30
|
module.exports = __toCommonJS(node_exports);
|
|
31
|
-
var
|
|
31
|
+
var import_chunk_AZ275P4V = require("./chunk-AZ275P4V.cjs");
|
|
32
32
|
var import_chunk_NQ5DTPOY = require("./chunk-NQ5DTPOY.cjs");
|
|
33
|
-
var
|
|
34
|
-
var
|
|
33
|
+
var import_chunk_NO6WQR36 = require("./chunk-NO6WQR36.cjs");
|
|
34
|
+
var import_chunk_GRMB5VRN = require("./chunk-GRMB5VRN.cjs");
|
|
35
35
|
var import_chunk_ONLWOUYZ = require("./chunk-ONLWOUYZ.cjs");
|
|
36
36
|
var import_app_framework = require("@dxos/app-framework");
|
|
37
37
|
var import_app_framework2 = require("@dxos/app-framework");
|
|
@@ -68,8 +68,8 @@ var translations_default = [
|
|
|
68
68
|
"comments heading": "Comments",
|
|
69
69
|
"chat heading": "Chat",
|
|
70
70
|
"draft button": "DRAFT",
|
|
71
|
-
"no comments title": "
|
|
72
|
-
"no comments message": "
|
|
71
|
+
"no comments title": "Comments",
|
|
72
|
+
"no comments message": "Click on the <commentIcon></commentIcon> button in the document toolbar to create a comment thread on the selected text.",
|
|
73
73
|
"toggle show resolved": "Show resolved",
|
|
74
74
|
"unnamed object threads label": "Threads",
|
|
75
75
|
"mark as resolved label": "Mark as resolved",
|
|
@@ -98,7 +98,7 @@ var ThreadPlugin = () => (0, import_app_framework2.definePlugin)(import_chunk_ON
|
|
|
98
98
|
// Should this be a different event?
|
|
99
99
|
// Should settings store be renamed to be more generic?
|
|
100
100
|
activatesOn: import_app_framework2.Events.SetupSettings,
|
|
101
|
-
activate:
|
|
101
|
+
activate: import_chunk_AZ275P4V.ThreadState
|
|
102
102
|
}),
|
|
103
103
|
(0, import_app_framework2.defineModule)({
|
|
104
104
|
id: `${import_chunk_ONLWOUYZ.meta.id}/module/translations`,
|
|
@@ -126,7 +126,7 @@ var ThreadPlugin = () => (0, import_app_framework2.definePlugin)(import_chunk_ON
|
|
|
126
126
|
}
|
|
127
127
|
}),
|
|
128
128
|
(0, import_app_framework2.contributes)(import_app_framework2.Capabilities.Metadata, {
|
|
129
|
-
id: import_schema.
|
|
129
|
+
id: import_schema.DataType.Message.typename,
|
|
130
130
|
metadata: {
|
|
131
131
|
// TODO(wittjosiah): Move out of metadata.
|
|
132
132
|
loadReferences: (message) => []
|
|
@@ -161,7 +161,7 @@ var ThreadPlugin = () => (0, import_app_framework2.definePlugin)(import_chunk_ON
|
|
|
161
161
|
activatesOn: import_plugin_client.ClientEvents.SetupSchema,
|
|
162
162
|
activate: () => (0, import_app_framework2.contributes)(import_plugin_space.SpaceCapabilities.ObjectForm, (0, import_types.defineObjectForm)({
|
|
163
163
|
objectSchema: import_types.ChannelType,
|
|
164
|
-
getIntent: (_, options) => (0, import_app_framework2.createIntent)(
|
|
164
|
+
getIntent: (_, options) => (0, import_app_framework2.createIntent)(import_chunk_GRMB5VRN.ThreadAction.CreateChannel, {
|
|
165
165
|
spaceId: options.space.id
|
|
166
166
|
})
|
|
167
167
|
}))
|
|
@@ -171,21 +171,21 @@ var ThreadPlugin = () => (0, import_app_framework2.definePlugin)(import_chunk_ON
|
|
|
171
171
|
activatesOn: import_plugin_client.ClientEvents.SetupSchema,
|
|
172
172
|
activate: () => (0, import_app_framework2.contributes)(import_plugin_client.ClientCapabilities.Schema, [
|
|
173
173
|
import_types.ThreadType,
|
|
174
|
-
import_schema.
|
|
175
|
-
import_schema.
|
|
174
|
+
import_schema.DataType.Message,
|
|
175
|
+
import_schema.DataType.MessageV1
|
|
176
176
|
])
|
|
177
177
|
}),
|
|
178
178
|
(0, import_app_framework2.defineModule)({
|
|
179
179
|
id: `${import_chunk_ONLWOUYZ.meta.id}/module/migration`,
|
|
180
180
|
activatesOn: import_plugin_client.ClientEvents.SetupMigration,
|
|
181
181
|
activate: () => (0, import_app_framework2.contributes)(import_plugin_client.ClientCapabilities.Migration, [
|
|
182
|
-
import_schema.
|
|
182
|
+
import_schema.DataType.MessageV1ToV2
|
|
183
183
|
])
|
|
184
184
|
}),
|
|
185
185
|
(0, import_app_framework2.defineModule)({
|
|
186
186
|
id: `${import_chunk_ONLWOUYZ.meta.id}/module/markdown`,
|
|
187
187
|
activatesOn: import_plugin_markdown.MarkdownEvents.SetupExtensions,
|
|
188
|
-
activate:
|
|
188
|
+
activate: import_chunk_AZ275P4V.Markdown
|
|
189
189
|
}),
|
|
190
190
|
(0, import_app_framework2.defineModule)({
|
|
191
191
|
id: `${import_chunk_ONLWOUYZ.meta.id}/module/react-surface`,
|
|
@@ -195,17 +195,17 @@ var ThreadPlugin = () => (0, import_app_framework2.definePlugin)(import_chunk_ON
|
|
|
195
195
|
import_plugin_space.ThreadEvents.SetupThread,
|
|
196
196
|
ThreadEvents.SetupActivity
|
|
197
197
|
],
|
|
198
|
-
activate:
|
|
198
|
+
activate: import_chunk_AZ275P4V.ReactSurface
|
|
199
199
|
}),
|
|
200
200
|
(0, import_app_framework2.defineModule)({
|
|
201
201
|
id: `${import_chunk_ONLWOUYZ.meta.id}/module/intent-resolver`,
|
|
202
202
|
activatesOn: import_app_framework2.Events.SetupIntentResolver,
|
|
203
|
-
activate:
|
|
203
|
+
activate: import_chunk_AZ275P4V.IntentResolver
|
|
204
204
|
}),
|
|
205
205
|
(0, import_app_framework2.defineModule)({
|
|
206
206
|
id: `${import_chunk_ONLWOUYZ.meta.id}/module/app-graph-builder`,
|
|
207
207
|
activatesOn: import_app_framework2.Events.SetupAppGraph,
|
|
208
|
-
activate:
|
|
208
|
+
activate: import_chunk_AZ275P4V.AppGraphBuilder
|
|
209
209
|
})
|
|
210
210
|
]);
|
|
211
211
|
// Annotate the CommonJS export names for ESM import in node:
|
|
@@ -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 { MarkdownEvents } from '@dxos/plugin-markdown';\nimport { SpaceCapabilities, ThreadEvents } from '@dxos/plugin-space';\nimport { ChannelType, defineObjectForm, ThreadType } from '@dxos/plugin-space/types';\nimport { type
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAIA,2BAAuB;ACAvB,IAAAA,wBAA4F;AAC5F,2BAAiD;AACjD,6BAA+B;AAC/B,0BAAgD;AAChD,mBAA0D;AAC1D,
|
|
6
|
-
"names": ["import_app_framework", "import_types", "ThreadEvents", "SetupActivity", "Events", "createStateEvent", "THREAD_PLUGIN", "ChannelType", "typename", "ThreadPlugin", "definePlugin", "meta", "defineModule", "id", "activatesOn", "SetupSettings", "activate", "ThreadState", "SetupTranslations", "contributes", "Capabilities", "Translations", "translations", "threadTranslations", "SetupMetadata", "Metadata", "metadata", "icon", "ThreadType", "loadReferences", "thread", "RefArray", "loadAll", "messages", "
|
|
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 AnyLiveObject, RefArray } from '@dxos/react-client/echo';\nimport { translations as threadTranslations } from '@dxos/react-ui-thread';\nimport { DataType } 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: DataType.Message.typename,\n metadata: {\n // TODO(wittjosiah): Move out of metadata.\n loadReferences: (message: DataType.Message) => [], // loadObjectReferences(message, (message) => [...message.parts, message.context]),\n },\n }),\n contributes(Capabilities.Metadata, {\n id: THREAD_ITEM,\n metadata: {\n parse: (item: AnyLiveObject<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, 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/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': '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 '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": ["import_app_framework", "import_types", "ThreadEvents", "SetupActivity", "Events", "createStateEvent", "THREAD_PLUGIN", "ChannelType", "typename", "ThreadPlugin", "definePlugin", "meta", "defineModule", "id", "activatesOn", "SetupSettings", "activate", "ThreadState", "SetupTranslations", "contributes", "Capabilities", "Translations", "translations", "threadTranslations", "SetupMetadata", "Metadata", "metadata", "icon", "ThreadType", "loadReferences", "thread", "RefArray", "loadAll", "messages", "DataType", "Message", "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", "MessageV1", "SetupMigration", "Migration", "MessageV1ToV2", "MarkdownEvents", "SetupExtensions", "Markdown", "SetupReactSurface", "activatesBefore", "SetupThread", "LocalThreadEvents", "ReactSurface", "SetupIntentResolver", "IntentResolver", "SetupAppGraph", "AppGraphBuilder"]
|
|
7
7
|
}
|
|
@@ -16,18 +16,17 @@ var __copyProps = (to, from, except, desc) => {
|
|
|
16
16
|
return to;
|
|
17
17
|
};
|
|
18
18
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
-
var
|
|
20
|
-
__export(
|
|
19
|
+
var intent_resolver_MNTL32W2_exports = {};
|
|
20
|
+
__export(intent_resolver_MNTL32W2_exports, {
|
|
21
21
|
default: () => intent_resolver_default
|
|
22
22
|
});
|
|
23
|
-
module.exports = __toCommonJS(
|
|
23
|
+
module.exports = __toCommonJS(intent_resolver_MNTL32W2_exports);
|
|
24
24
|
var import_chunk_NQ5DTPOY = require("./chunk-NQ5DTPOY.cjs");
|
|
25
|
-
var
|
|
25
|
+
var import_chunk_GRMB5VRN = require("./chunk-GRMB5VRN.cjs");
|
|
26
26
|
var import_chunk_ONLWOUYZ = require("./chunk-ONLWOUYZ.cjs");
|
|
27
27
|
var import_app_framework = require("@dxos/app-framework");
|
|
28
28
|
var import_echo_schema = require("@dxos/echo-schema");
|
|
29
29
|
var import_invariant = require("@dxos/invariant");
|
|
30
|
-
var import_keys = require("@dxos/keys");
|
|
31
30
|
var import_live_object = require("@dxos/live-object");
|
|
32
31
|
var import_log = require("@dxos/log");
|
|
33
32
|
var import_types = require("@dxos/plugin-deck/types");
|
|
@@ -38,22 +37,18 @@ var import_schema = require("@dxos/schema");
|
|
|
38
37
|
var __dxlog_file = "/home/runner/work/dxos/dxos/packages/plugins/plugin-thread/src/capabilities/intent-resolver.ts";
|
|
39
38
|
var intent_resolver_default = (context) => (0, import_app_framework.contributes)(import_app_framework.Capabilities.IntentResolver, [
|
|
40
39
|
(0, import_app_framework.createResolver)({
|
|
41
|
-
intent:
|
|
40
|
+
intent: import_chunk_GRMB5VRN.ThreadAction.CreateChannel,
|
|
42
41
|
resolve: ({ spaceId, name }) => ({
|
|
43
42
|
data: {
|
|
44
43
|
object: (0, import_echo.live)(import_types3.ChannelType, {
|
|
45
44
|
name,
|
|
46
|
-
queue: (0, import_live_object.refFromDXN)(
|
|
47
|
-
import_keys.QueueSubspaceTags.DATA,
|
|
48
|
-
spaceId,
|
|
49
|
-
import_echo_schema.ObjectId.random()
|
|
50
|
-
]))
|
|
45
|
+
queue: (0, import_live_object.refFromDXN)((0, import_echo_schema.createQueueDxn)(spaceId))
|
|
51
46
|
})
|
|
52
47
|
}
|
|
53
48
|
})
|
|
54
49
|
}),
|
|
55
50
|
(0, import_app_framework.createResolver)({
|
|
56
|
-
intent:
|
|
51
|
+
intent: import_chunk_GRMB5VRN.ThreadAction.Create,
|
|
57
52
|
resolve: ({ name, cursor, subject }) => {
|
|
58
53
|
if (subject?.threads === void 0) {
|
|
59
54
|
try {
|
|
@@ -63,14 +58,14 @@ var intent_resolver_default = (context) => (0, import_app_framework.contributes)
|
|
|
63
58
|
typename: subject?.typename
|
|
64
59
|
}, {
|
|
65
60
|
F: __dxlog_file,
|
|
66
|
-
L:
|
|
61
|
+
L: 42,
|
|
67
62
|
S: void 0,
|
|
68
63
|
C: (f, a) => f(...a)
|
|
69
64
|
});
|
|
70
65
|
return;
|
|
71
66
|
}
|
|
72
67
|
}
|
|
73
|
-
const { state } = context.
|
|
68
|
+
const { state } = context.getCapability(import_chunk_NQ5DTPOY.ThreadCapabilities.MutableState);
|
|
74
69
|
const subjectId = (0, import_echo.fullyQualifiedId)(subject);
|
|
75
70
|
const thread = (0, import_echo.live)(import_types3.ThreadType, {
|
|
76
71
|
name,
|
|
@@ -91,7 +86,7 @@ var intent_resolver_default = (context) => (0, import_app_framework.contributes)
|
|
|
91
86
|
object: thread
|
|
92
87
|
},
|
|
93
88
|
intents: [
|
|
94
|
-
(0, import_app_framework.createIntent)(
|
|
89
|
+
(0, import_app_framework.createIntent)(import_chunk_GRMB5VRN.ThreadAction.Select, {
|
|
95
90
|
current: (0, import_echo.fullyQualifiedId)(thread)
|
|
96
91
|
}),
|
|
97
92
|
(0, import_app_framework.createIntent)(import_types.DeckAction.ChangeCompanion, {
|
|
@@ -103,14 +98,14 @@ var intent_resolver_default = (context) => (0, import_app_framework.contributes)
|
|
|
103
98
|
}
|
|
104
99
|
}),
|
|
105
100
|
(0, import_app_framework.createResolver)({
|
|
106
|
-
intent:
|
|
101
|
+
intent: import_chunk_GRMB5VRN.ThreadAction.Select,
|
|
107
102
|
resolve: ({ current }) => {
|
|
108
|
-
const { state } = context.
|
|
103
|
+
const { state } = context.getCapability(import_chunk_NQ5DTPOY.ThreadCapabilities.MutableState);
|
|
109
104
|
state.current = current;
|
|
110
105
|
}
|
|
111
106
|
}),
|
|
112
107
|
(0, import_app_framework.createResolver)({
|
|
113
|
-
intent:
|
|
108
|
+
intent: import_chunk_GRMB5VRN.ThreadAction.ToggleResolved,
|
|
114
109
|
resolve: ({ thread }) => {
|
|
115
110
|
if (thread.status === "active" || thread.status === void 0) {
|
|
116
111
|
thread.status = "resolved";
|
|
@@ -120,7 +115,7 @@ var intent_resolver_default = (context) => (0, import_app_framework.contributes)
|
|
|
120
115
|
const space = (0, import_echo.getSpace)(thread);
|
|
121
116
|
(0, import_invariant.invariant)(space, "Space not found", {
|
|
122
117
|
F: __dxlog_file,
|
|
123
|
-
L:
|
|
118
|
+
L: 86,
|
|
124
119
|
S: void 0,
|
|
125
120
|
A: [
|
|
126
121
|
"space",
|
|
@@ -142,9 +137,9 @@ var intent_resolver_default = (context) => (0, import_app_framework.contributes)
|
|
|
142
137
|
}
|
|
143
138
|
}),
|
|
144
139
|
(0, import_app_framework.createResolver)({
|
|
145
|
-
intent:
|
|
140
|
+
intent: import_chunk_GRMB5VRN.ThreadAction.Delete,
|
|
146
141
|
resolve: ({ subject, thread }, undo) => {
|
|
147
|
-
const { state } = context.
|
|
142
|
+
const { state } = context.getCapability(import_chunk_NQ5DTPOY.ThreadCapabilities.MutableState);
|
|
148
143
|
const subjectId = (0, import_echo.fullyQualifiedId)(subject);
|
|
149
144
|
const draft = state.drafts[subjectId];
|
|
150
145
|
if (draft) {
|
|
@@ -205,14 +200,14 @@ var intent_resolver_default = (context) => (0, import_app_framework.contributes)
|
|
|
205
200
|
}
|
|
206
201
|
}),
|
|
207
202
|
(0, import_app_framework.createResolver)({
|
|
208
|
-
intent:
|
|
203
|
+
intent: import_chunk_GRMB5VRN.ThreadAction.AddMessage,
|
|
209
204
|
resolve: ({ thread, subject, sender, text }) => {
|
|
210
|
-
const { state } = context.
|
|
205
|
+
const { state } = context.getCapability(import_chunk_NQ5DTPOY.ThreadCapabilities.MutableState);
|
|
211
206
|
const subjectId = (0, import_echo.fullyQualifiedId)(subject);
|
|
212
207
|
const space = (0, import_echo.getSpace)(subject);
|
|
213
208
|
(0, import_invariant.invariant)(space, "Space not found", {
|
|
214
209
|
F: __dxlog_file,
|
|
215
|
-
L:
|
|
210
|
+
L: 171,
|
|
216
211
|
S: void 0,
|
|
217
212
|
A: [
|
|
218
213
|
"space",
|
|
@@ -220,7 +215,7 @@ var intent_resolver_default = (context) => (0, import_app_framework.contributes)
|
|
|
220
215
|
]
|
|
221
216
|
});
|
|
222
217
|
const intents = [];
|
|
223
|
-
const message = (0, import_echo.live)(import_schema.
|
|
218
|
+
const message = (0, import_echo.live)(import_schema.DataType.Message, {
|
|
224
219
|
sender,
|
|
225
220
|
created: (/* @__PURE__ */ new Date()).toISOString(),
|
|
226
221
|
blocks: [
|
|
@@ -261,12 +256,12 @@ var intent_resolver_default = (context) => (0, import_app_framework.contributes)
|
|
|
261
256
|
}
|
|
262
257
|
}),
|
|
263
258
|
(0, import_app_framework.createResolver)({
|
|
264
|
-
intent:
|
|
259
|
+
intent: import_chunk_GRMB5VRN.ThreadAction.DeleteMessage,
|
|
265
260
|
resolve: ({ subject, thread, messageId, message, messageIndex }, undo) => {
|
|
266
261
|
const space = (0, import_echo.getSpace)(subject);
|
|
267
262
|
(0, import_invariant.invariant)(space, "Space not found", {
|
|
268
263
|
F: __dxlog_file,
|
|
269
|
-
L:
|
|
264
|
+
L: 219,
|
|
270
265
|
S: void 0,
|
|
271
266
|
A: [
|
|
272
267
|
"space",
|
|
@@ -282,7 +277,7 @@ var intent_resolver_default = (context) => (0, import_app_framework.contributes)
|
|
|
282
277
|
if (messageIndex2 === 0 && thread.messages.length === 1) {
|
|
283
278
|
return {
|
|
284
279
|
intents: [
|
|
285
|
-
(0, import_app_framework.createIntent)(
|
|
280
|
+
(0, import_app_framework.createIntent)(import_chunk_GRMB5VRN.ThreadAction.Delete, {
|
|
286
281
|
subject,
|
|
287
282
|
thread
|
|
288
283
|
})
|
|
@@ -336,4 +331,4 @@ var intent_resolver_default = (context) => (0, import_app_framework.contributes)
|
|
|
336
331
|
}
|
|
337
332
|
})
|
|
338
333
|
]);
|
|
339
|
-
//# sourceMappingURL=intent-resolver-
|
|
334
|
+
//# sourceMappingURL=intent-resolver-MNTL32W2.cjs.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 PluginContext } from '@dxos/app-framework';\nimport { createQueueDxn, Ref } from '@dxos/echo-schema';\nimport { invariant } from '@dxos/invariant';\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 { live, fullyQualifiedId, getSpace, makeRef } from '@dxos/react-client/echo';\nimport { DataType } from '@dxos/schema';\n\nimport { ThreadCapabilities } from './capabilities';\nimport { THREAD_PLUGIN } from '../meta';\nimport { ThreadAction } from '../types';\n\nexport default (context: PluginContext) =>\n contributes(Capabilities.IntentResolver, [\n createResolver({\n intent: ThreadAction.CreateChannel,\n resolve: ({ spaceId, name }) => ({\n data: {\n object: live(ChannelType, {\n name,\n queue: refFromDXN(createQueueDxn(spaceId)),\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.getCapability(ThreadCapabilities.MutableState);\n const subjectId = fullyQualifiedId(subject);\n const thread = live(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.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: ({ subject, thread }, undo) => {\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, 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.getCapability(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 = live(DataType.Message, {\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": ["import_types", "context", "contributes", "Capabilities", "IntentResolver", "createResolver", "intent", "ThreadAction", "CreateChannel", "resolve", "spaceId", "name", "data", "object", "live", "ChannelType", "queue", "refFromDXN", "createQueueDxn", "Create", "cursor", "subject", "threads", "undefined", "err", "log", "error", "typename", "state", "getCapability", "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", "DataType", "Message", "created", "Date", "toISOString", "blocks", "type", "makeRef", "find", "filter", "threadLength", "length", "messageId", "messageLength", "DeleteMessage", "messageIndex", "Ref", "hasObjectId", "target"]
|
|
7
|
+
}
|