@dxos/plugin-thread 0.8.4-main.2c6827d → 0.8.4-main.3c1ae3b

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.
Files changed (118) hide show
  1. package/dist/lib/browser/{ChannelContainer-JI3ZRZ5S.mjs → ChannelContainer-3BKLNZ4D.mjs} +4 -4
  2. package/dist/lib/browser/{ChatContainer-6FVFME3R.mjs → ChatContainer-KPY4BAUE.mjs} +2 -2
  3. package/dist/lib/browser/{app-graph-builder-URVQHGMR.mjs → app-graph-builder-TWJ2UCOZ.mjs} +2 -2
  4. package/dist/lib/browser/{blueprint-definition-TQ4JFMZZ.mjs → blueprint-definition-UO43FHAE.mjs} +6 -5
  5. package/dist/lib/browser/blueprint-definition-UO43FHAE.mjs.map +7 -0
  6. package/dist/lib/browser/chunk-6E6VNV6V.mjs +25 -0
  7. package/dist/lib/browser/{chunk-CBUNHCOE.mjs.map → chunk-6E6VNV6V.mjs.map} +3 -3
  8. package/dist/lib/browser/{chunk-F36NHPJG.mjs → chunk-ALZKJOZK.mjs} +2 -2
  9. package/dist/lib/browser/{chunk-R5UOPOO7.mjs → chunk-JDJPMI7V.mjs} +10 -9
  10. package/dist/lib/browser/chunk-JDJPMI7V.mjs.map +7 -0
  11. package/dist/lib/browser/{chunk-VIRD2QSK.mjs → chunk-SS3O5SOQ.mjs} +7 -7
  12. package/dist/lib/browser/{chunk-VIRD2QSK.mjs.map → chunk-SS3O5SOQ.mjs.map} +3 -3
  13. package/dist/lib/browser/{chunk-6LWKNZUV.mjs → chunk-TLOOZTRD.mjs} +1 -1
  14. package/dist/lib/browser/chunk-TLOOZTRD.mjs.map +7 -0
  15. package/dist/lib/browser/index.mjs +19 -21
  16. package/dist/lib/browser/index.mjs.map +3 -3
  17. package/dist/lib/browser/{intent-resolver-YR6W4CRP.mjs → intent-resolver-G33FT3NO.mjs} +15 -11
  18. package/dist/lib/browser/intent-resolver-G33FT3NO.mjs.map +7 -0
  19. package/dist/lib/browser/{markdown-GSOBOXA7.mjs → markdown-GSTZY2JL.mjs} +9 -8
  20. package/dist/lib/browser/markdown-GSTZY2JL.mjs.map +7 -0
  21. package/dist/lib/browser/meta.json +1 -1
  22. package/dist/lib/browser/{react-root-RAWRPF7Z.mjs → react-root-GRZVEGGE.mjs} +6 -6
  23. package/dist/lib/browser/{react-surface-GOEFSXQ6.mjs → react-surface-C2OIZGFN.mjs} +6 -6
  24. package/dist/lib/browser/repair-JFJLEM2O.mjs +35 -0
  25. package/dist/lib/browser/repair-JFJLEM2O.mjs.map +7 -0
  26. package/dist/lib/browser/{settings-JN2HHORY.mjs → settings-E6IOLK46.mjs} +2 -2
  27. package/dist/lib/browser/types/index.mjs +1 -1
  28. package/dist/lib/node-esm/{ChannelContainer-RQY4PR4F.mjs → ChannelContainer-I4U4TEEY.mjs} +4 -4
  29. package/dist/lib/node-esm/{ChatContainer-KWNON7EN.mjs → ChatContainer-TLQG23K7.mjs} +2 -2
  30. package/dist/lib/node-esm/{app-graph-builder-2IH5RPR7.mjs → app-graph-builder-VD6I2V5H.mjs} +2 -2
  31. package/dist/lib/node-esm/{blueprint-definition-TSX5HHW7.mjs → blueprint-definition-WANHWSF5.mjs} +6 -5
  32. package/dist/lib/node-esm/blueprint-definition-WANHWSF5.mjs.map +7 -0
  33. package/dist/lib/node-esm/{chunk-Y3F2SGNH.mjs → chunk-AB42KYF3.mjs} +2 -2
  34. package/dist/lib/node-esm/{chunk-Z4GUSLWL.mjs → chunk-E5HNHFYH.mjs} +1 -1
  35. package/dist/lib/{browser/chunk-6LWKNZUV.mjs.map → node-esm/chunk-E5HNHFYH.mjs.map} +2 -2
  36. package/dist/lib/node-esm/{chunk-MEIWWPR2.mjs → chunk-P2M364TO.mjs} +10 -9
  37. package/dist/lib/node-esm/chunk-P2M364TO.mjs.map +7 -0
  38. package/dist/lib/node-esm/{chunk-QFCIKJOD.mjs → chunk-RDD44HYY.mjs} +7 -7
  39. package/dist/lib/node-esm/{chunk-QFCIKJOD.mjs.map → chunk-RDD44HYY.mjs.map} +3 -3
  40. package/dist/lib/node-esm/chunk-UPA2Q5YI.mjs +27 -0
  41. package/dist/lib/node-esm/{chunk-I3O6NXMN.mjs.map → chunk-UPA2Q5YI.mjs.map} +3 -3
  42. package/dist/lib/node-esm/index.mjs +19 -21
  43. package/dist/lib/node-esm/index.mjs.map +3 -3
  44. package/dist/lib/node-esm/{intent-resolver-SJFABEE7.mjs → intent-resolver-4PX3WXQG.mjs} +15 -11
  45. package/dist/lib/node-esm/intent-resolver-4PX3WXQG.mjs.map +7 -0
  46. package/dist/lib/node-esm/{markdown-GG5566TL.mjs → markdown-MC5OP2UR.mjs} +9 -8
  47. package/dist/lib/node-esm/markdown-MC5OP2UR.mjs.map +7 -0
  48. package/dist/lib/node-esm/meta.json +1 -1
  49. package/dist/lib/node-esm/{react-root-K5OGECUS.mjs → react-root-5IYK7CTL.mjs} +6 -6
  50. package/dist/lib/node-esm/{react-surface-5QDQD7MN.mjs → react-surface-GWBXMENS.mjs} +6 -6
  51. package/dist/lib/node-esm/repair-RMLR24YR.mjs +36 -0
  52. package/dist/lib/node-esm/repair-RMLR24YR.mjs.map +7 -0
  53. package/dist/lib/node-esm/{settings-VSPM3BIM.mjs → settings-RGZHWDSO.mjs} +2 -2
  54. package/dist/lib/node-esm/types/index.mjs +1 -1
  55. package/dist/types/src/ThreadPlugin.d.ts.map +1 -1
  56. package/dist/types/src/capabilities/index.d.ts +1 -0
  57. package/dist/types/src/capabilities/index.d.ts.map +1 -1
  58. package/dist/types/src/capabilities/intent-resolver.d.ts.map +1 -1
  59. package/dist/types/src/capabilities/repair.d.ts +4 -0
  60. package/dist/types/src/capabilities/repair.d.ts.map +1 -0
  61. package/dist/types/src/components/ChannelContainer.stories.d.ts +4 -0
  62. package/dist/types/src/components/ChannelContainer.stories.d.ts.map +1 -1
  63. package/dist/types/src/components/Chat.stories.d.ts +4 -0
  64. package/dist/types/src/components/Chat.stories.d.ts.map +1 -1
  65. package/dist/types/src/components/Comments.stories.d.ts +4 -0
  66. package/dist/types/src/components/Comments.stories.d.ts.map +1 -1
  67. package/dist/types/src/components/MessageContainer.d.ts +3 -1
  68. package/dist/types/src/components/MessageContainer.d.ts.map +1 -1
  69. package/dist/types/src/components/ResponsiveGrid/ResponsiveContainer.stories.d.ts +4 -0
  70. package/dist/types/src/components/ResponsiveGrid/ResponsiveContainer.stories.d.ts.map +1 -1
  71. package/dist/types/src/components/ResponsiveGrid/ResponsiveGrid.stories.d.ts +4 -0
  72. package/dist/types/src/components/ResponsiveGrid/ResponsiveGrid.stories.d.ts.map +1 -1
  73. package/dist/types/src/extensions/threads.d.ts.map +1 -1
  74. package/dist/types/src/functions/create-proposals.d.ts.map +1 -1
  75. package/dist/types/src/translations.d.ts +4 -0
  76. package/dist/types/src/translations.d.ts.map +1 -1
  77. package/dist/types/src/types/Channel.d.ts +3 -3
  78. package/dist/types/src/types/Channel.d.ts.map +1 -1
  79. package/dist/types/src/types/types.d.ts +114 -141
  80. package/dist/types/src/types/types.d.ts.map +1 -1
  81. package/dist/types/tsconfig.tsbuildinfo +1 -1
  82. package/package.json +47 -47
  83. package/src/ThreadPlugin.tsx +14 -20
  84. package/src/capabilities/index.ts +1 -0
  85. package/src/capabilities/intent-resolver.ts +9 -6
  86. package/src/capabilities/repair.ts +40 -0
  87. package/src/components/MessageContainer.tsx +6 -4
  88. package/src/components/ThreadCompanion.tsx +1 -1
  89. package/src/extensions/threads.ts +7 -6
  90. package/src/functions/create-proposals.ts +5 -4
  91. package/src/translations.ts +2 -0
  92. package/src/types/Channel.ts +3 -3
  93. package/src/types/types.ts +4 -3
  94. package/dist/lib/browser/blueprint-definition-TQ4JFMZZ.mjs.map +0 -7
  95. package/dist/lib/browser/chunk-CBUNHCOE.mjs +0 -23
  96. package/dist/lib/browser/chunk-R5UOPOO7.mjs.map +0 -7
  97. package/dist/lib/browser/intent-resolver-YR6W4CRP.mjs.map +0 -7
  98. package/dist/lib/browser/markdown-GSOBOXA7.mjs.map +0 -7
  99. package/dist/lib/node-esm/blueprint-definition-TSX5HHW7.mjs.map +0 -7
  100. package/dist/lib/node-esm/chunk-I3O6NXMN.mjs +0 -25
  101. package/dist/lib/node-esm/chunk-MEIWWPR2.mjs.map +0 -7
  102. package/dist/lib/node-esm/chunk-Z4GUSLWL.mjs.map +0 -7
  103. package/dist/lib/node-esm/intent-resolver-SJFABEE7.mjs.map +0 -7
  104. package/dist/lib/node-esm/markdown-GG5566TL.mjs.map +0 -7
  105. /package/dist/lib/browser/{ChannelContainer-JI3ZRZ5S.mjs.map → ChannelContainer-3BKLNZ4D.mjs.map} +0 -0
  106. /package/dist/lib/browser/{ChatContainer-6FVFME3R.mjs.map → ChatContainer-KPY4BAUE.mjs.map} +0 -0
  107. /package/dist/lib/browser/{app-graph-builder-URVQHGMR.mjs.map → app-graph-builder-TWJ2UCOZ.mjs.map} +0 -0
  108. /package/dist/lib/browser/{chunk-F36NHPJG.mjs.map → chunk-ALZKJOZK.mjs.map} +0 -0
  109. /package/dist/lib/browser/{react-root-RAWRPF7Z.mjs.map → react-root-GRZVEGGE.mjs.map} +0 -0
  110. /package/dist/lib/browser/{react-surface-GOEFSXQ6.mjs.map → react-surface-C2OIZGFN.mjs.map} +0 -0
  111. /package/dist/lib/browser/{settings-JN2HHORY.mjs.map → settings-E6IOLK46.mjs.map} +0 -0
  112. /package/dist/lib/node-esm/{ChannelContainer-RQY4PR4F.mjs.map → ChannelContainer-I4U4TEEY.mjs.map} +0 -0
  113. /package/dist/lib/node-esm/{ChatContainer-KWNON7EN.mjs.map → ChatContainer-TLQG23K7.mjs.map} +0 -0
  114. /package/dist/lib/node-esm/{app-graph-builder-2IH5RPR7.mjs.map → app-graph-builder-VD6I2V5H.mjs.map} +0 -0
  115. /package/dist/lib/node-esm/{chunk-Y3F2SGNH.mjs.map → chunk-AB42KYF3.mjs.map} +0 -0
  116. /package/dist/lib/node-esm/{react-root-K5OGECUS.mjs.map → react-root-5IYK7CTL.mjs.map} +0 -0
  117. /package/dist/lib/node-esm/{react-surface-5QDQD7MN.mjs.map → react-surface-GWBXMENS.mjs.map} +0 -0
  118. /package/dist/lib/node-esm/{settings-VSPM3BIM.mjs.map → settings-RGZHWDSO.mjs.map} +0 -0
@@ -1,7 +1,7 @@
1
1
  import { createRequire } from 'node:module';const require = createRequire(import.meta.url);
2
2
  import {
3
3
  ThreadAction
4
- } from "./chunk-MEIWWPR2.mjs";
4
+ } from "./chunk-P2M364TO.mjs";
5
5
  import {
6
6
  ThreadCapabilities
7
7
  } from "./chunk-RT6NRL2I.mjs";
@@ -21,7 +21,8 @@ import { EditorView } from "@codemirror/view";
21
21
  import { computed, effect } from "@preact/signals-core";
22
22
  import { createIntent } from "@dxos/app-framework";
23
23
  import { Filter, Obj, Query, Relation } from "@dxos/echo";
24
- import { createDocAccessor, getSource, getSpace, getTextInRange } from "@dxos/react-client/echo";
24
+ import { createDocAccessor, getTextInRange } from "@dxos/echo-db";
25
+ import { getSpace } from "@dxos/react-client/echo";
25
26
  import { comments, createExternalCommentSync } from "@dxos/react-ui-editor";
26
27
  import { AnchoredTo, Thread } from "@dxos/types";
27
28
  var getName = (doc, anchor) => {
@@ -39,9 +40,9 @@ var threads = (state, doc, dispatch) => {
39
40
  comments()
40
41
  ];
41
42
  }
42
- const query = space.db.query(Query.select(Filter.ids(doc.id)).targetOf(AnchoredTo.AnchoredTo));
43
+ const query = space.db.query(Query.select(Filter.id(doc.id)).targetOf(AnchoredTo.AnchoredTo));
43
44
  const unsubscribe = query.subscribe();
44
- const anchors = computed(() => query.objects.filter((anchor) => {
45
+ const anchors = computed(() => query.results.filter((anchor) => {
45
46
  const thread = Relation.getSource(anchor);
46
47
  return Obj.instanceOf(Thread.Thread, thread) && thread.status !== "resolved";
47
48
  }).concat(state.drafts[Obj.getDXN(doc).toString()] ?? []));
@@ -86,7 +87,7 @@ var threads = (state, doc, dispatch) => {
86
87
  draft.splice(index, 1);
87
88
  }
88
89
  }
89
- const thread = query.objects.find((object) => getSource(object).id === id);
90
+ const thread = query.results.find((object) => Relation.getSource(object).id === id);
90
91
  if (thread) {
91
92
  thread.anchor = void 0;
92
93
  }
@@ -98,9 +99,9 @@ var threads = (state, doc, dispatch) => {
98
99
  thread.name = getName(doc, cursor);
99
100
  draft.anchor = cursor;
100
101
  }
101
- const relation = query.objects.find((object) => getSource(object).id === id);
102
+ const relation = query.results.find((object) => Relation.getSource(object).id === id);
102
103
  if (relation) {
103
- const thread = getSource(relation);
104
+ const thread = Relation.getSource(relation);
104
105
  if (Obj.instanceOf(Thread.Thread, thread)) {
105
106
  thread.name = getName(doc, cursor);
106
107
  relation.anchor = cursor;
@@ -169,4 +170,4 @@ var selectionOverlapsComment = (state) => {
169
170
  export {
170
171
  markdown_default as default
171
172
  };
172
- //# sourceMappingURL=markdown-GG5566TL.mjs.map
173
+ //# sourceMappingURL=markdown-MC5OP2UR.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/capabilities/markdown.ts", "../../../src/extensions/threads.ts"],
4
+ "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { EditorView } from '@codemirror/view';\n\nimport { Capabilities, type PluginContext, contributes, createIntent } from '@dxos/app-framework';\nimport { Obj } from '@dxos/echo';\nimport { ATTENDABLE_PATH_SEPARATOR, DeckAction } from '@dxos/plugin-deck/types';\nimport { MarkdownCapabilities } from '@dxos/plugin-markdown';\nimport { type EditorState, commentClickedEffect, commentsState, overlap } from '@dxos/react-ui-editor';\n\nimport { threads } from '../extensions';\n\nimport { ThreadCapabilities } from './capabilities';\n\nexport default (context: PluginContext) =>\n contributes(MarkdownCapabilities.Extensions, [\n ({ document: doc }) => {\n const { dispatchPromise: dispatch } = context.getCapability(Capabilities.IntentDispatcher);\n const { state } = context.getCapability(ThreadCapabilities.MutableState);\n return threads(state, doc, dispatch);\n },\n ({ document: doc }) => {\n if (!doc) return [];\n const { state } = context.getCapability(ThreadCapabilities.MutableState);\n\n return EditorView.updateListener.of((update) => {\n if (update.docChanged || update.selectionSet) {\n state.toolbar[Obj.getDXN(doc).toString()] = selectionOverlapsComment(update.state);\n }\n });\n },\n ({ document: doc }) => {\n if (!doc) return [];\n const { dispatchPromise: dispatch } = context.getCapability(Capabilities.IntentDispatcher);\n const id = Obj.getDXN(doc).toString();\n\n return EditorView.updateListener.of((update) => {\n update.transactions.forEach((transaction) => {\n transaction.effects.forEach(async (effect) => {\n if (effect.is(commentClickedEffect)) {\n void dispatch(\n createIntent(DeckAction.ChangeCompanion, {\n primary: id,\n companion: `${id}${ATTENDABLE_PATH_SEPARATOR}comments`,\n }),\n );\n }\n });\n });\n });\n },\n ]);\n\nconst selectionOverlapsComment = (state: EditorState): boolean => {\n // May not be defined if thread plugin not installed.\n const commentState = state.field(commentsState, false);\n if (commentState === undefined) {\n return false;\n }\n\n const { selection } = state;\n for (const range of selection.ranges) {\n if (commentState.comments.some(({ range: commentRange }) => overlap(commentRange, range))) {\n return true;\n }\n }\n\n return false;\n};\n", "//\n// Copyright 2024 DXOS.org\n//\n\nimport { type Extension } from '@codemirror/state';\nimport { EditorView } from '@codemirror/view';\nimport { computed, effect } from '@preact/signals-core';\n\nimport { type PromiseIntentDispatcher, createIntent } from '@dxos/app-framework';\nimport { Filter, Obj, Query, Relation } from '@dxos/echo';\nimport { createDocAccessor, getTextInRange } from '@dxos/echo-db';\nimport { type Markdown } from '@dxos/plugin-markdown/types';\nimport { getSpace } from '@dxos/react-client/echo';\nimport { comments, createExternalCommentSync } from '@dxos/react-ui-editor';\nimport { AnchoredTo, Thread } from '@dxos/types';\n\nimport { ThreadAction, type ThreadState } from '../types';\n\n// TODO(burdon): Factor out.\nconst getName = (doc: Markdown.Document, anchor: string): string | undefined => {\n if (doc.content) {\n const [start, end] = anchor.split(':');\n return getTextInRange(createDocAccessor(doc.content.target!, ['content']), start, end);\n }\n};\n\n/**\n * Construct plugins.\n */\nexport const threads = (state: ThreadState, doc?: Markdown.Document, dispatch?: PromiseIntentDispatcher): Extension => {\n const space = getSpace(doc);\n if (!doc || !space || !dispatch) {\n // Include no-op comments extension here to ensure that the facets are always present when they are expected.\n // TODO(wittjosiah): The Editor should only look for these facets when comments are available.\n return [comments()];\n }\n\n const query = space.db.query(Query.select(Filter.id(doc.id)).targetOf(AnchoredTo.AnchoredTo));\n const unsubscribe = query.subscribe();\n\n const anchors = computed(() =>\n query.results\n .filter((anchor) => {\n const thread = Relation.getSource(anchor);\n return Obj.instanceOf(Thread.Thread, thread) && thread.status !== 'resolved';\n })\n .concat(state.drafts[Obj.getDXN(doc).toString()] ?? []),\n );\n\n return [\n EditorView.domEventHandlers({\n destroy: () => {\n unsubscribe();\n },\n }),\n\n EditorView.updateListener.of((update) => {\n if (update.docChanged) {\n anchors.value.forEach((anchor) => {\n if (anchor.anchor) {\n // Only update if the name has changed, otherwise this will cause an infinite loop.\n // Skip if the name is empty; this means comment text was deleted, but thread name should remain.\n const name = getName(doc, anchor.anchor);\n const thread = Relation.getSource(anchor) as Thread.Thread;\n if (name && name !== thread.name) {\n thread.name = name;\n }\n }\n });\n }\n }),\n\n createExternalCommentSync(\n Obj.getDXN(doc).toString(),\n (sink) => effect(() => sink()),\n () =>\n anchors.value\n .filter((anchor) => anchor.anchor)\n .map((anchor) => ({\n id: Obj.getDXN(Relation.getSource(anchor)).toString(),\n cursor: anchor.anchor,\n })),\n ),\n\n comments({\n id: Obj.getDXN(doc).toString(),\n onCreate: ({ cursor }) => {\n const name = getName(doc, cursor);\n void dispatch(\n createIntent(ThreadAction.Create, {\n anchor: cursor,\n name,\n subject: doc,\n }),\n );\n },\n onDelete: ({ id }) => {\n const draft = state.drafts[Obj.getDXN(doc).toString()];\n if (draft) {\n const index = draft.findIndex((thread) => Obj.getDXN(thread).toString() === id);\n if (index !== -1) {\n draft.splice(index, 1);\n }\n }\n\n const thread = query.results.find((object) => Relation.getSource(object).id === id);\n if (thread) {\n thread.anchor = undefined;\n }\n },\n onUpdate: ({ id, cursor }) => {\n const draft = state.drafts[Obj.getDXN(doc).toString()]?.find((thread) => Obj.getDXN(thread).toString() === id);\n if (draft) {\n const thread = Relation.getSource(draft) as Thread.Thread;\n thread.name = getName(doc, cursor);\n draft.anchor = cursor;\n }\n\n const relation = query.results.find((object) => Relation.getSource(object).id === id);\n if (relation) {\n const thread = Relation.getSource(relation);\n if (Obj.instanceOf(Thread.Thread, thread)) {\n thread.name = getName(doc, cursor);\n relation.anchor = cursor;\n }\n }\n },\n onSelect: ({ selection }) => {\n const current = selection.current ?? selection.closest;\n if (current) {\n void dispatch(createIntent(ThreadAction.Select, { current }));\n }\n },\n }),\n ];\n};\n"],
5
+ "mappings": "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",
6
+ "names": ["EditorView", "Capabilities", "contributes", "createIntent", "Obj", "ATTENDABLE_PATH_SEPARATOR", "DeckAction", "MarkdownCapabilities", "commentClickedEffect", "commentsState", "overlap", "EditorView", "computed", "effect", "createIntent", "Filter", "Obj", "Query", "Relation", "createDocAccessor", "getTextInRange", "getSpace", "comments", "createExternalCommentSync", "AnchoredTo", "Thread", "getName", "doc", "anchor", "content", "start", "end", "split", "getTextInRange", "createDocAccessor", "target", "threads", "state", "dispatch", "space", "getSpace", "comments", "query", "db", "Query", "select", "Filter", "id", "targetOf", "AnchoredTo", "unsubscribe", "subscribe", "anchors", "computed", "results", "filter", "thread", "Relation", "getSource", "Obj", "instanceOf", "Thread", "status", "concat", "drafts", "getDXN", "toString", "EditorView", "domEventHandlers", "destroy", "updateListener", "of", "update", "docChanged", "value", "forEach", "name", "createExternalCommentSync", "sink", "effect", "map", "cursor", "onCreate", "createIntent", "ThreadAction", "Create", "subject", "onDelete", "draft", "index", "findIndex", "splice", "find", "object", "undefined", "onUpdate", "relation", "onSelect", "selection", "current", "closest", "Select", "context", "contributes", "MarkdownCapabilities", "Extensions", "document", "doc", "dispatchPromise", "dispatch", "getCapability", "Capabilities", "IntentDispatcher", "state", "ThreadCapabilities", "MutableState", "threads", "EditorView", "updateListener", "of", "update", "docChanged", "selectionSet", "toolbar", "Obj", "getDXN", "toString", "selectionOverlapsComment", "id", "transactions", "forEach", "transaction", "effects", "effect", "is", "commentClickedEffect", "createIntent", "DeckAction", "ChangeCompanion", "primary", "companion", "ATTENDABLE_PATH_SEPARATOR", "commentState", "field", "commentsState", "undefined", "selection", "range", "ranges", "comments", "some", "commentRange", "overlap"]
7
+ }