@dxos/plugin-space 0.7.5-main.e9bb01b → 0.7.5-staging.2ff1350
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/{app-graph-builder-J4NX44Y4.mjs → app-graph-builder-MGK5HWPZ.mjs} +21 -100
- package/dist/lib/browser/app-graph-builder-MGK5HWPZ.mjs.map +7 -0
- package/dist/lib/browser/{app-graph-serializer-QF7VVRCV.mjs → app-graph-serializer-FOWFLYGU.mjs} +4 -4
- package/dist/lib/browser/{chunk-6UIFMVVI.mjs → chunk-23RVI5FZ.mjs} +16 -5
- package/dist/lib/browser/chunk-23RVI5FZ.mjs.map +7 -0
- package/dist/lib/browser/{chunk-RLZQJD47.mjs → chunk-NU7WDVGN.mjs} +2 -1
- package/dist/lib/browser/chunk-NU7WDVGN.mjs.map +7 -0
- package/dist/lib/browser/{chunk-XZ2NH3CP.mjs → chunk-POARSSRI.mjs} +306 -210
- package/dist/lib/browser/chunk-POARSSRI.mjs.map +7 -0
- package/dist/lib/browser/{chunk-SDK7RZI3.mjs → chunk-UDWHTKB5.mjs} +6 -3
- package/dist/lib/browser/chunk-UDWHTKB5.mjs.map +7 -0
- package/dist/lib/browser/{chunk-XPZ6IIXF.mjs → chunk-ULA2UQJ4.mjs} +15 -1
- package/dist/lib/browser/chunk-ULA2UQJ4.mjs.map +7 -0
- package/dist/lib/browser/{identity-created-25TK5XNO.mjs → identity-created-FYGS6TBH.mjs} +2 -2
- package/dist/lib/browser/index.mjs +55 -21
- package/dist/lib/browser/index.mjs.map +3 -3
- package/dist/lib/browser/{intent-resolver-IEDVV74T.mjs → intent-resolver-E2UU3DAS.mjs} +86 -54
- package/dist/lib/browser/intent-resolver-E2UU3DAS.mjs.map +7 -0
- package/dist/lib/browser/meta.json +1 -1
- package/dist/lib/browser/{react-root-6VRPRLQR.mjs → react-root-STUND2SO.mjs} +5 -5
- package/dist/lib/browser/{react-surface-DMNDXLZ7.mjs → react-surface-P7CKFNJR.mjs} +16 -22
- package/dist/lib/browser/react-surface-P7CKFNJR.mjs.map +7 -0
- package/dist/lib/browser/schema-5W3DSY2E.mjs +24 -0
- package/dist/lib/browser/schema-5W3DSY2E.mjs.map +7 -0
- package/dist/lib/browser/{settings-K4JPYYEM.mjs → settings-PHPCXX33.mjs} +2 -2
- package/dist/lib/browser/{spaces-ready-2MUWWVVO.mjs → spaces-ready-K47RR7N2.mjs} +4 -4
- package/dist/lib/browser/{state-6DCY5YJP.mjs → state-INJ63O57.mjs} +2 -2
- package/dist/lib/browser/types/index.mjs +5 -3
- package/dist/lib/node/{app-graph-builder-ZOPG4MOS.cjs → app-graph-builder-ZIUBXRPA.cjs} +45 -124
- package/dist/lib/node/app-graph-builder-ZIUBXRPA.cjs.map +7 -0
- package/dist/lib/node/{app-graph-serializer-QE2G4MWB.cjs → app-graph-serializer-VQOGHKXL.cjs} +20 -20
- package/dist/lib/node/{chunk-3QWZCN6L.cjs → chunk-OVGKWJOC.cjs} +51 -40
- package/dist/lib/node/chunk-OVGKWJOC.cjs.map +7 -0
- package/dist/lib/node/{chunk-SZEIQGQU.cjs → chunk-RHYA4XUB.cjs} +367 -270
- package/dist/lib/node/chunk-RHYA4XUB.cjs.map +7 -0
- package/dist/lib/node/{chunk-D6BFKOXY.cjs → chunk-U6DYXAR3.cjs} +10 -7
- package/dist/lib/node/chunk-U6DYXAR3.cjs.map +7 -0
- package/dist/lib/node/{chunk-6MEOP3DH.cjs → chunk-WAJKBO3J.cjs} +21 -6
- package/dist/lib/node/chunk-WAJKBO3J.cjs.map +7 -0
- package/dist/lib/node/{chunk-UX3U4RU2.cjs → chunk-YZKNRFHU.cjs} +5 -4
- package/dist/lib/node/chunk-YZKNRFHU.cjs.map +7 -0
- package/dist/lib/node/{identity-created-7G5U7R36.cjs → identity-created-AXI64BLE.cjs} +6 -6
- package/dist/lib/node/index.cjs +108 -75
- package/dist/lib/node/index.cjs.map +3 -3
- package/dist/lib/node/{intent-resolver-N2W2L6OL.cjs → intent-resolver-TJ5DFPZP.cjs} +136 -105
- package/dist/lib/node/intent-resolver-TJ5DFPZP.cjs.map +7 -0
- package/dist/lib/node/meta.json +1 -1
- package/dist/lib/node/{react-root-YD35W3VU.cjs → react-root-WQGBCJ2K.cjs} +10 -10
- package/dist/lib/node/{react-surface-QPLXK7DT.cjs → react-surface-GSEV6XCR.cjs} +49 -57
- package/dist/lib/node/react-surface-GSEV6XCR.cjs.map +7 -0
- package/dist/lib/node/schema-YN7WVFRX.cjs +40 -0
- package/dist/lib/node/schema-YN7WVFRX.cjs.map +7 -0
- package/dist/lib/node/{settings-TEELGWS4.cjs → settings-5QYFWNH7.cjs} +6 -6
- package/dist/lib/node/{spaces-ready-PZZQWS6T.cjs → spaces-ready-FQNAKR7G.cjs} +13 -13
- package/dist/lib/node/{state-WPZC4JXB.cjs → state-57UE3DYE.cjs} +6 -6
- package/dist/lib/node/types/index.cjs +18 -16
- package/dist/lib/node/types/index.cjs.map +2 -2
- package/dist/lib/node-esm/{app-graph-builder-TKGLOK22.mjs → app-graph-builder-TERVM2SL.mjs} +21 -100
- package/dist/lib/node-esm/app-graph-builder-TERVM2SL.mjs.map +7 -0
- package/dist/lib/node-esm/{app-graph-serializer-HLX2JRNF.mjs → app-graph-serializer-GZRSWHEN.mjs} +4 -4
- package/dist/lib/node-esm/{chunk-4UX5WGKJ.mjs → chunk-2TQ2AJEZ.mjs} +6 -3
- package/dist/lib/node-esm/chunk-2TQ2AJEZ.mjs.map +7 -0
- package/dist/lib/node-esm/{chunk-LGL4A5B5.mjs → chunk-6RSVVEPS.mjs} +2 -1
- package/dist/lib/node-esm/chunk-6RSVVEPS.mjs.map +7 -0
- package/dist/lib/node-esm/{chunk-N6EAOMIS.mjs → chunk-ONKFX23L.mjs} +306 -210
- package/dist/lib/node-esm/chunk-ONKFX23L.mjs.map +7 -0
- package/dist/lib/node-esm/{chunk-LA45TPAN.mjs → chunk-PGH5L7MV.mjs} +16 -5
- package/dist/lib/node-esm/chunk-PGH5L7MV.mjs.map +7 -0
- package/dist/lib/node-esm/{chunk-AAQRELDK.mjs → chunk-TRNZQEEN.mjs} +15 -1
- package/dist/lib/node-esm/chunk-TRNZQEEN.mjs.map +7 -0
- package/dist/lib/node-esm/{identity-created-7THGZ7EW.mjs → identity-created-3CGEXNPO.mjs} +2 -2
- package/dist/lib/node-esm/index.mjs +55 -21
- package/dist/lib/node-esm/index.mjs.map +3 -3
- package/dist/lib/node-esm/{intent-resolver-L2TKJU4I.mjs → intent-resolver-7NJCJ3FA.mjs} +86 -54
- package/dist/lib/node-esm/intent-resolver-7NJCJ3FA.mjs.map +7 -0
- package/dist/lib/node-esm/meta.json +1 -1
- package/dist/lib/node-esm/{react-root-Q5MFDXZE.mjs → react-root-OLYAEMP5.mjs} +5 -5
- package/dist/lib/node-esm/{react-surface-RQQZ5BOG.mjs → react-surface-6IFC6ZMN.mjs} +16 -22
- package/dist/lib/node-esm/react-surface-6IFC6ZMN.mjs.map +7 -0
- package/dist/lib/node-esm/schema-LOR2EVGY.mjs +25 -0
- package/dist/lib/node-esm/schema-LOR2EVGY.mjs.map +7 -0
- package/dist/lib/node-esm/{settings-KXYUZBLN.mjs → settings-H6MXTEQM.mjs} +2 -2
- package/dist/lib/node-esm/{spaces-ready-MWNP3WBX.mjs → spaces-ready-HKAQG5SA.mjs} +4 -4
- package/dist/lib/node-esm/{state-5GH2D5U4.mjs → state-VYA6OFHD.mjs} +2 -2
- package/dist/lib/node-esm/types/index.mjs +5 -3
- package/dist/types/src/SpacePlugin.d.ts +5 -1
- package/dist/types/src/SpacePlugin.d.ts.map +1 -1
- package/dist/types/src/capabilities/app-graph-builder.d.ts.map +1 -1
- package/dist/types/src/capabilities/capabilities.d.ts +2 -1
- package/dist/types/src/capabilities/capabilities.d.ts.map +1 -1
- package/dist/types/src/capabilities/index.d.ts +2 -0
- package/dist/types/src/capabilities/index.d.ts.map +1 -1
- package/dist/types/src/capabilities/intent-resolver.d.ts +2 -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/capabilities/schema.d.ts +4 -0
- package/dist/types/src/capabilities/schema.d.ts.map +1 -0
- package/dist/types/src/components/AdvancedObjectSettings/AdvancedObjectSettings.d.ts +1 -2
- package/dist/types/src/components/AdvancedObjectSettings/AdvancedObjectSettings.d.ts.map +1 -1
- package/dist/types/src/components/AdvancedObjectSettings/ForeignKeys.d.ts +1 -2
- package/dist/types/src/components/AdvancedObjectSettings/ForeignKeys.d.ts.map +1 -1
- package/dist/types/src/components/AwaitingObject.d.ts +1 -2
- package/dist/types/src/components/AwaitingObject.d.ts.map +1 -1
- package/dist/types/src/components/BaseObjectSettings.d.ts +1 -2
- package/dist/types/src/components/BaseObjectSettings.d.ts.map +1 -1
- package/dist/types/src/components/CollectionMain.d.ts +1 -2
- package/dist/types/src/components/CollectionMain.d.ts.map +1 -1
- package/dist/types/src/components/CollectionSection.d.ts +1 -2
- package/dist/types/src/components/CollectionSection.d.ts.map +1 -1
- package/dist/types/src/components/CreateDialog/CreateObjectDialog.d.ts +2 -4
- package/dist/types/src/components/CreateDialog/CreateObjectDialog.d.ts.map +1 -1
- package/dist/types/src/components/CreateDialog/CreateObjectDialog.stories.d.ts.map +1 -1
- package/dist/types/src/components/CreateDialog/CreateObjectPanel.d.ts +5 -7
- package/dist/types/src/components/CreateDialog/CreateObjectPanel.d.ts.map +1 -1
- package/dist/types/src/components/CreateDialog/CreateSpaceDialog.d.ts +1 -2
- package/dist/types/src/components/CreateDialog/CreateSpaceDialog.d.ts.map +1 -1
- package/dist/types/src/components/JoinDialog.d.ts +1 -2
- package/dist/types/src/components/JoinDialog.d.ts.map +1 -1
- package/dist/types/src/components/MenuFooter.d.ts +1 -2
- package/dist/types/src/components/MenuFooter.d.ts.map +1 -1
- package/dist/types/src/components/PersistenceStatus.d.ts +1 -2
- package/dist/types/src/components/PersistenceStatus.d.ts.map +1 -1
- package/dist/types/src/components/PopoverAddSpace.d.ts +3 -0
- package/dist/types/src/components/PopoverAddSpace.d.ts.map +1 -0
- package/dist/types/src/components/PopoverRenameObject.d.ts +1 -2
- package/dist/types/src/components/PopoverRenameObject.d.ts.map +1 -1
- package/dist/types/src/components/PopoverRenameSpace.d.ts +1 -2
- package/dist/types/src/components/PopoverRenameSpace.d.ts.map +1 -1
- package/dist/types/src/components/ShareSpaceButton.d.ts +2 -3
- package/dist/types/src/components/ShareSpaceButton.d.ts.map +1 -1
- package/dist/types/src/components/SpacePluginSettings.d.ts +1 -2
- package/dist/types/src/components/SpacePluginSettings.d.ts.map +1 -1
- package/dist/types/src/components/SpacePresence.d.ts +4 -5
- package/dist/types/src/components/SpacePresence.d.ts.map +1 -1
- package/dist/types/src/components/SpacePresence.stories.d.ts +2 -3
- package/dist/types/src/components/SpacePresence.stories.d.ts.map +1 -1
- package/dist/types/src/components/SpaceSettings/SpaceSettingsDialog.d.ts +1 -2
- package/dist/types/src/components/SpaceSettings/SpaceSettingsDialog.d.ts.map +1 -1
- package/dist/types/src/components/SpaceSettings/SpaceSettingsPanel.d.ts +3 -5
- package/dist/types/src/components/SpaceSettings/SpaceSettingsPanel.d.ts.map +1 -1
- package/dist/types/src/components/SpaceSettings/SpaceSettingsPanel.stories.d.ts.map +1 -1
- package/dist/types/src/components/SyncStatus/InlineSyncStatus.d.ts +1 -2
- package/dist/types/src/components/SyncStatus/InlineSyncStatus.d.ts.map +1 -1
- package/dist/types/src/components/SyncStatus/Space.d.ts +2 -3
- package/dist/types/src/components/SyncStatus/Space.d.ts.map +1 -1
- package/dist/types/src/components/SyncStatus/SyncStatus.d.ts +3 -4
- package/dist/types/src/components/SyncStatus/SyncStatus.d.ts.map +1 -1
- package/dist/types/src/components/index.d.ts +1 -0
- package/dist/types/src/components/index.d.ts.map +1 -1
- package/dist/types/src/events.d.ts +4 -0
- package/dist/types/src/events.d.ts.map +1 -1
- package/dist/types/src/index.d.ts +1 -1
- package/dist/types/src/index.d.ts.map +1 -1
- package/dist/types/src/translations.d.ts +9 -0
- package/dist/types/src/translations.d.ts.map +1 -1
- package/dist/types/src/types/types.d.ts +26 -1
- package/dist/types/src/types/types.d.ts.map +1 -1
- package/dist/types/src/util.d.ts +2 -1
- package/dist/types/src/util.d.ts.map +1 -1
- package/package.json +41 -39
- package/src/SpacePlugin.tsx +41 -12
- package/src/capabilities/app-graph-builder.ts +15 -90
- package/src/capabilities/capabilities.ts +3 -1
- package/src/capabilities/index.ts +1 -0
- package/src/capabilities/intent-resolver.ts +93 -46
- package/src/capabilities/react-surface.tsx +12 -28
- package/src/capabilities/schema.ts +27 -0
- package/src/components/BaseObjectSettings.tsx +7 -0
- package/src/components/CreateDialog/CreateObjectDialog.stories.tsx +1 -3
- package/src/components/CreateDialog/CreateObjectDialog.tsx +29 -21
- package/src/components/CreateDialog/CreateObjectPanel.tsx +41 -44
- package/src/components/CreateDialog/CreateSpaceDialog.tsx +8 -1
- package/src/components/PopoverAddSpace.tsx +46 -0
- package/src/components/SpacePresence.stories.tsx +2 -2
- package/src/components/SpaceSettings/SpaceSettingsPanel.stories.tsx +5 -1
- package/src/components/SpaceSettings/SpaceSettingsPanel.tsx +27 -4
- package/src/components/index.ts +1 -0
- package/src/events.ts +6 -0
- package/src/index.ts +1 -1
- package/src/translations.ts +3 -0
- package/src/types/types.ts +21 -1
- package/src/util.tsx +8 -2
- package/dist/lib/browser/app-graph-builder-J4NX44Y4.mjs.map +0 -7
- package/dist/lib/browser/chunk-6UIFMVVI.mjs.map +0 -7
- package/dist/lib/browser/chunk-RLZQJD47.mjs.map +0 -7
- package/dist/lib/browser/chunk-SDK7RZI3.mjs.map +0 -7
- package/dist/lib/browser/chunk-XPZ6IIXF.mjs.map +0 -7
- package/dist/lib/browser/chunk-XZ2NH3CP.mjs.map +0 -7
- package/dist/lib/browser/intent-resolver-IEDVV74T.mjs.map +0 -7
- package/dist/lib/browser/react-surface-DMNDXLZ7.mjs.map +0 -7
- package/dist/lib/node/app-graph-builder-ZOPG4MOS.cjs.map +0 -7
- package/dist/lib/node/chunk-3QWZCN6L.cjs.map +0 -7
- package/dist/lib/node/chunk-6MEOP3DH.cjs.map +0 -7
- package/dist/lib/node/chunk-D6BFKOXY.cjs.map +0 -7
- package/dist/lib/node/chunk-SZEIQGQU.cjs.map +0 -7
- package/dist/lib/node/chunk-UX3U4RU2.cjs.map +0 -7
- package/dist/lib/node/intent-resolver-N2W2L6OL.cjs.map +0 -7
- package/dist/lib/node/react-surface-QPLXK7DT.cjs.map +0 -7
- package/dist/lib/node-esm/app-graph-builder-TKGLOK22.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-4UX5WGKJ.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-AAQRELDK.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-LA45TPAN.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-LGL4A5B5.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-N6EAOMIS.mjs.map +0 -7
- package/dist/lib/node-esm/intent-resolver-L2TKJU4I.mjs.map +0 -7
- package/dist/lib/node-esm/react-surface-RQQZ5BOG.mjs.map +0 -7
- /package/dist/lib/browser/{app-graph-serializer-QF7VVRCV.mjs.map → app-graph-serializer-FOWFLYGU.mjs.map} +0 -0
- /package/dist/lib/browser/{identity-created-25TK5XNO.mjs.map → identity-created-FYGS6TBH.mjs.map} +0 -0
- /package/dist/lib/browser/{react-root-6VRPRLQR.mjs.map → react-root-STUND2SO.mjs.map} +0 -0
- /package/dist/lib/browser/{settings-K4JPYYEM.mjs.map → settings-PHPCXX33.mjs.map} +0 -0
- /package/dist/lib/browser/{spaces-ready-2MUWWVVO.mjs.map → spaces-ready-K47RR7N2.mjs.map} +0 -0
- /package/dist/lib/browser/{state-6DCY5YJP.mjs.map → state-INJ63O57.mjs.map} +0 -0
- /package/dist/lib/node/{app-graph-serializer-QE2G4MWB.cjs.map → app-graph-serializer-VQOGHKXL.cjs.map} +0 -0
- /package/dist/lib/node/{identity-created-7G5U7R36.cjs.map → identity-created-AXI64BLE.cjs.map} +0 -0
- /package/dist/lib/node/{react-root-YD35W3VU.cjs.map → react-root-WQGBCJ2K.cjs.map} +0 -0
- /package/dist/lib/node/{settings-TEELGWS4.cjs.map → settings-5QYFWNH7.cjs.map} +0 -0
- /package/dist/lib/node/{spaces-ready-PZZQWS6T.cjs.map → spaces-ready-FQNAKR7G.cjs.map} +0 -0
- /package/dist/lib/node/{state-WPZC4JXB.cjs.map → state-57UE3DYE.cjs.map} +0 -0
- /package/dist/lib/node-esm/{app-graph-serializer-HLX2JRNF.mjs.map → app-graph-serializer-GZRSWHEN.mjs.map} +0 -0
- /package/dist/lib/node-esm/{identity-created-7THGZ7EW.mjs.map → identity-created-3CGEXNPO.mjs.map} +0 -0
- /package/dist/lib/node-esm/{react-root-Q5MFDXZE.mjs.map → react-root-OLYAEMP5.mjs.map} +0 -0
- /package/dist/lib/node-esm/{settings-KXYUZBLN.mjs.map → settings-H6MXTEQM.mjs.map} +0 -0
- /package/dist/lib/node-esm/{spaces-ready-MWNP3WBX.mjs.map → spaces-ready-HKAQG5SA.mjs.map} +0 -0
- /package/dist/lib/node-esm/{state-5GH2D5U4.mjs.map → state-VYA6OFHD.mjs.map} +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
SpaceCapabilities
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-NU7WDVGN.mjs";
|
|
4
4
|
import {
|
|
5
5
|
SHARED,
|
|
6
6
|
SPACES,
|
|
@@ -9,23 +9,23 @@ import {
|
|
|
9
9
|
constructSpaceNode,
|
|
10
10
|
createObjectNode,
|
|
11
11
|
memoizeQuery
|
|
12
|
-
} from "./chunk-
|
|
12
|
+
} from "./chunk-23RVI5FZ.mjs";
|
|
13
13
|
import {
|
|
14
14
|
CollectionType,
|
|
15
15
|
SpaceAction
|
|
16
|
-
} from "./chunk-
|
|
16
|
+
} from "./chunk-ULA2UQJ4.mjs";
|
|
17
17
|
import {
|
|
18
18
|
SPACE_PLUGIN
|
|
19
19
|
} from "./chunk-PQXZCNAU.mjs";
|
|
20
20
|
|
|
21
21
|
// packages/plugins/plugin-space/src/capabilities/app-graph-builder.ts
|
|
22
22
|
import { Capabilities, contributes, createIntent } from "@dxos/app-framework";
|
|
23
|
-
import { Expando, Filter, FQ_ID_LENGTH, getSpace, isEchoObject, isSpace, OBJECT_ID_LENGTH,
|
|
24
|
-
import {
|
|
23
|
+
import { Expando, Filter, FQ_ID_LENGTH, getSpace, isEchoObject, isSpace, OBJECT_ID_LENGTH, SPACE_ID_LENGTH, SpaceState } from "@dxos/client/echo";
|
|
24
|
+
import { isDeleted } from "@dxos/live-object";
|
|
25
25
|
import { log } from "@dxos/log";
|
|
26
26
|
import { ClientCapabilities } from "@dxos/plugin-client";
|
|
27
27
|
import { createExtension, toSignal } from "@dxos/plugin-graph";
|
|
28
|
-
import {
|
|
28
|
+
import { isNonNullable } from "@dxos/util";
|
|
29
29
|
var __dxlog_file = "/home/runner/work/dxos/dxos/packages/plugins/plugin-space/src/capabilities/app-graph-builder.ts";
|
|
30
30
|
var app_graph_builder_default = (context) => {
|
|
31
31
|
const resolve = (typename) => context.requestCapabilities(Capabilities.Metadata).find(({ id }) => id === typename)?.metadata ?? {};
|
|
@@ -61,7 +61,7 @@ var app_graph_builder_default = (context) => {
|
|
|
61
61
|
} else {
|
|
62
62
|
log.warn("spaces order object not found", void 0, {
|
|
63
63
|
F: __dxlog_file,
|
|
64
|
-
L:
|
|
64
|
+
L: 73,
|
|
65
65
|
S: void 0,
|
|
66
66
|
C: (f, a) => f(...a)
|
|
67
67
|
});
|
|
@@ -77,39 +77,22 @@ var app_graph_builder_default = (context) => {
|
|
|
77
77
|
filter: (node) => node.id === "root",
|
|
78
78
|
actions: () => [
|
|
79
79
|
{
|
|
80
|
-
id: SpaceAction.
|
|
81
|
-
data: async () => {
|
|
80
|
+
id: SpaceAction.AddSpace._tag,
|
|
81
|
+
data: async (params) => {
|
|
82
82
|
const { dispatchPromise: dispatch } = context.requestCapability(Capabilities.IntentDispatcher);
|
|
83
|
-
await dispatch(createIntent(SpaceAction.
|
|
83
|
+
await dispatch(createIntent(SpaceAction.AddSpace));
|
|
84
84
|
},
|
|
85
85
|
properties: {
|
|
86
86
|
label: [
|
|
87
|
-
"
|
|
87
|
+
"add space label",
|
|
88
88
|
{
|
|
89
89
|
ns: SPACE_PLUGIN
|
|
90
90
|
}
|
|
91
91
|
],
|
|
92
92
|
icon: "ph--plus--regular",
|
|
93
|
-
testId: "spacePlugin.
|
|
94
|
-
disposition: "item"
|
|
95
|
-
|
|
96
|
-
},
|
|
97
|
-
{
|
|
98
|
-
id: SpaceAction.Join._tag,
|
|
99
|
-
data: async () => {
|
|
100
|
-
const { dispatchPromise: dispatch } = context.requestCapability(Capabilities.IntentDispatcher);
|
|
101
|
-
await dispatch(createIntent(SpaceAction.Join));
|
|
102
|
-
},
|
|
103
|
-
properties: {
|
|
104
|
-
label: [
|
|
105
|
-
"join space label",
|
|
106
|
-
{
|
|
107
|
-
ns: SPACE_PLUGIN
|
|
108
|
-
}
|
|
109
|
-
],
|
|
110
|
-
icon: "ph--sign-in--regular",
|
|
111
|
-
testId: "spacePlugin.joinSpace",
|
|
112
|
-
disposition: "item"
|
|
93
|
+
testId: "spacePlugin.addSpace",
|
|
94
|
+
disposition: "item",
|
|
95
|
+
position: "fallback"
|
|
113
96
|
}
|
|
114
97
|
}
|
|
115
98
|
]
|
|
@@ -175,6 +158,8 @@ var app_graph_builder_default = (context) => {
|
|
|
175
158
|
}
|
|
176
159
|
if (space.state.get() === SpaceState.SPACE_INACTIVE) {
|
|
177
160
|
return false;
|
|
161
|
+
} else if (space.state.get() !== SpaceState.SPACE_READY) {
|
|
162
|
+
return void 0;
|
|
178
163
|
} else {
|
|
179
164
|
const state = context.requestCapability(SpaceCapabilities.State);
|
|
180
165
|
return constructSpaceNode({
|
|
@@ -219,12 +204,12 @@ var app_graph_builder_default = (context) => {
|
|
|
219
204
|
return;
|
|
220
205
|
}
|
|
221
206
|
const state = context.requestCapability(SpaceCapabilities.State);
|
|
222
|
-
return collection.objects.map((object) => object.target).filter(
|
|
207
|
+
return collection.objects.map((object) => object.target).filter(isNonNullable).map((object) => createObjectNode({
|
|
223
208
|
object,
|
|
224
209
|
space,
|
|
225
210
|
resolve,
|
|
226
211
|
navigable: state.navigableCollections
|
|
227
|
-
})).filter(
|
|
212
|
+
})).filter(isNonNullable);
|
|
228
213
|
}
|
|
229
214
|
}),
|
|
230
215
|
// Create nodes for objects in a collection or by its fully qualified id.
|
|
@@ -238,12 +223,12 @@ var app_graph_builder_default = (context) => {
|
|
|
238
223
|
return;
|
|
239
224
|
}
|
|
240
225
|
const state = context.requestCapability(SpaceCapabilities.State);
|
|
241
|
-
return collection.objects.map((object) => object.target).filter(
|
|
226
|
+
return collection.objects.map((object) => object.target).filter(isNonNullable).map((object) => createObjectNode({
|
|
242
227
|
object,
|
|
243
228
|
space,
|
|
244
229
|
resolve,
|
|
245
230
|
navigable: state.navigableCollections
|
|
246
|
-
})).filter(
|
|
231
|
+
})).filter(isNonNullable);
|
|
247
232
|
},
|
|
248
233
|
resolver: ({ id }) => {
|
|
249
234
|
if (id.length !== FQ_ID_LENGTH) {
|
|
@@ -294,74 +279,10 @@ var app_graph_builder_default = (context) => {
|
|
|
294
279
|
navigable: state.navigableCollections
|
|
295
280
|
});
|
|
296
281
|
}
|
|
297
|
-
}),
|
|
298
|
-
// Create nodes for object settings.
|
|
299
|
-
createExtension({
|
|
300
|
-
id: `${SPACE_PLUGIN}/settings-for-subject`,
|
|
301
|
-
resolver: ({ id }) => {
|
|
302
|
-
if (!id.endsWith("~settings")) {
|
|
303
|
-
return;
|
|
304
|
-
}
|
|
305
|
-
const type = "orphan-settings-for-subject";
|
|
306
|
-
const icon = "ph--gear--regular";
|
|
307
|
-
const [subjectId] = id.split("~");
|
|
308
|
-
const { spaceId, objectId } = parseId(subjectId);
|
|
309
|
-
const client = context.requestCapability(ClientCapabilities.Client);
|
|
310
|
-
const spaces = toSignal((onChange) => client.spaces.subscribe(() => onChange()).unsubscribe, () => client.spaces.get());
|
|
311
|
-
const space = spaces?.find((space2) => space2.id === spaceId && space2.state.get() === SpaceState.SPACE_READY);
|
|
312
|
-
if (!objectId) {
|
|
313
|
-
const label2 = space ? space.properties.name || [
|
|
314
|
-
"unnamed space label",
|
|
315
|
-
{
|
|
316
|
-
ns: SPACE_PLUGIN
|
|
317
|
-
}
|
|
318
|
-
] : [
|
|
319
|
-
"unnamed object settings label",
|
|
320
|
-
{
|
|
321
|
-
ns: SPACE_PLUGIN
|
|
322
|
-
}
|
|
323
|
-
];
|
|
324
|
-
return {
|
|
325
|
-
id,
|
|
326
|
-
type,
|
|
327
|
-
data: null,
|
|
328
|
-
properties: {
|
|
329
|
-
icon,
|
|
330
|
-
label: label2,
|
|
331
|
-
showResolvedThreads: false,
|
|
332
|
-
object: null,
|
|
333
|
-
space
|
|
334
|
-
}
|
|
335
|
-
};
|
|
336
|
-
}
|
|
337
|
-
const [object] = memoizeQuery(space, {
|
|
338
|
-
id: objectId
|
|
339
|
-
});
|
|
340
|
-
if (!object || !subjectId) {
|
|
341
|
-
return;
|
|
342
|
-
}
|
|
343
|
-
const meta = resolve(getTypename(object) ?? "");
|
|
344
|
-
const label = meta.label?.(object) || object.name || meta.placeholder || [
|
|
345
|
-
"unnamed object settings label",
|
|
346
|
-
{
|
|
347
|
-
ns: SPACE_PLUGIN
|
|
348
|
-
}
|
|
349
|
-
];
|
|
350
|
-
return {
|
|
351
|
-
id,
|
|
352
|
-
type,
|
|
353
|
-
data: null,
|
|
354
|
-
properties: {
|
|
355
|
-
icon,
|
|
356
|
-
label,
|
|
357
|
-
object
|
|
358
|
-
}
|
|
359
|
-
};
|
|
360
|
-
}
|
|
361
282
|
})
|
|
362
283
|
]);
|
|
363
284
|
};
|
|
364
285
|
export {
|
|
365
286
|
app_graph_builder_default as default
|
|
366
287
|
};
|
|
367
|
-
//# sourceMappingURL=app-graph-builder-
|
|
288
|
+
//# sourceMappingURL=app-graph-builder-MGK5HWPZ.mjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/capabilities/app-graph-builder.ts"],
|
|
4
|
+
"sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { Capabilities, contributes, createIntent, type PluginsContext } from '@dxos/app-framework';\nimport {\n Expando,\n Filter,\n FQ_ID_LENGTH,\n getSpace,\n isEchoObject,\n isSpace,\n OBJECT_ID_LENGTH,\n type ReactiveEchoObject,\n SPACE_ID_LENGTH,\n SpaceState,\n type Space,\n} from '@dxos/client/echo';\nimport { isDeleted } from '@dxos/live-object';\nimport { log } from '@dxos/log';\nimport { ClientCapabilities } from '@dxos/plugin-client';\nimport { createExtension, toSignal, type Node, type InvokeParams } from '@dxos/plugin-graph';\nimport { isNonNullable } from '@dxos/util';\n\nimport { SpaceCapabilities } from './capabilities';\nimport { SPACE_PLUGIN } from '../meta';\nimport { CollectionType, SpaceAction, type SpaceSettingsProps } from '../types';\nimport {\n constructObjectActions,\n constructSpaceActions,\n constructSpaceNode,\n createObjectNode,\n memoizeQuery,\n SHARED,\n SPACES,\n} from '../util';\n\nexport default (context: PluginsContext) => {\n const resolve = (typename: string) =>\n context.requestCapabilities(Capabilities.Metadata).find(({ id }) => id === typename)?.metadata ?? {};\n\n const spacesNode = {\n id: SPACES,\n type: SPACES,\n cacheable: ['label', 'role'],\n properties: {\n label: ['spaces label', { ns: SPACE_PLUGIN }],\n icon: 'ph--planet--regular',\n testId: 'spacePlugin.spaces',\n role: 'branch',\n disposition: 'collection',\n disabled: true,\n childrenPersistenceClass: 'echo',\n onRearrangeChildren: async (nextOrder: Space[]) => {\n const { graph } = context.requestCapability(Capabilities.AppGraph);\n const client = context.requestCapability(ClientCapabilities.Client);\n\n // NOTE: This is needed to ensure order is updated by next animation frame.\n // TODO(wittjosiah): Is there a better way to do this?\n // If not, graph should be passed as an argument to the extension.\n graph._sortEdges(\n SPACES,\n 'outbound',\n nextOrder.map(({ id }) => id),\n );\n\n const {\n objects: [spacesOrder],\n } = await client.spaces.default.db.query(Filter.schema(Expando, { key: SHARED })).run();\n if (spacesOrder) {\n spacesOrder.order = nextOrder.map(({ id }) => id);\n } else {\n log.warn('spaces order object not found');\n }\n },\n },\n };\n\n return contributes(Capabilities.AppGraphBuilder, [\n // Primary actions.\n createExtension({\n id: `${SPACE_PLUGIN}/primary-actions`,\n position: 'hoist',\n filter: (node): node is Node<null> => node.id === 'root',\n actions: () => [\n {\n id: SpaceAction.AddSpace._tag,\n data: async (params: InvokeParams) => {\n const { dispatchPromise: dispatch } = context.requestCapability(Capabilities.IntentDispatcher);\n await dispatch(createIntent(SpaceAction.AddSpace));\n },\n properties: {\n label: ['add space label', { ns: SPACE_PLUGIN }],\n icon: 'ph--plus--regular',\n testId: 'spacePlugin.addSpace',\n disposition: 'item',\n position: 'fallback',\n },\n },\n ],\n }),\n\n // Create spaces group node.\n createExtension({\n id: `${SPACE_PLUGIN}/root`,\n position: 'hoist',\n filter: (node): node is Node<null> => node.id === 'root',\n connector: () => [spacesNode],\n resolver: ({ id }) => (id === SPACES ? spacesNode : undefined),\n }),\n\n // Create space nodes.\n createExtension({\n id: SPACES,\n filter: (node): node is Node<null> => node.id === SPACES,\n connector: () => {\n const client = context.requestCapability(ClientCapabilities.Client);\n const spaces = toSignal(\n (onChange) => client.spaces.subscribe(() => onChange()).unsubscribe,\n () => client.spaces.get(),\n );\n\n const isReady = toSignal(\n (onChange) => client.spaces.isReady.subscribe(() => onChange()).unsubscribe,\n () => client.spaces.isReady.get(),\n );\n\n if (!spaces || !isReady) {\n return;\n }\n\n const state = context.requestCapability(SpaceCapabilities.State);\n const settings = context\n .requestCapabilities(Capabilities.SettingsStore)[0]\n ?.getStore<SpaceSettingsProps>(SPACE_PLUGIN)?.value;\n\n // TODO(wittjosiah): During client reset, accessing default space throws.\n try {\n const [spacesOrder] = memoizeQuery(client.spaces.default, Filter.schema(Expando, { key: SHARED }));\n const order: string[] = spacesOrder?.order ?? [];\n const orderMap = new Map(order.map((id, index) => [id, index]));\n return [\n ...spaces\n .filter((space) => orderMap.has(space.id))\n .sort((a, b) => orderMap.get(a.id)! - orderMap.get(b.id)!),\n ...spaces.filter((space) => !orderMap.has(space.id)),\n ]\n .filter((space) => (settings?.showHidden ? true : space.state.get() !== SpaceState.SPACE_INACTIVE))\n .map((space) =>\n constructSpaceNode({\n space,\n navigable: state.navigableCollections,\n personal: space === client.spaces.default,\n namesCache: state.spaceNames,\n resolve,\n }),\n );\n } catch {}\n },\n resolver: ({ id }) => {\n if (id.length !== SPACE_ID_LENGTH) {\n return;\n }\n\n const client = context.requestCapability(ClientCapabilities.Client);\n const spaces = toSignal(\n (onChange) => client.spaces.subscribe(() => onChange()).unsubscribe,\n () => client.spaces.get(),\n );\n\n const isReady = toSignal(\n (onChange) => client.spaces.isReady.subscribe(() => onChange()).unsubscribe,\n () => client.spaces.isReady.get(),\n );\n\n if (!spaces || !isReady) {\n return;\n }\n\n const space = spaces.find((space) => space.id === id);\n if (!space) {\n return;\n }\n\n if (space.state.get() === SpaceState.SPACE_INACTIVE) {\n return false;\n } else if (space.state.get() !== SpaceState.SPACE_READY) {\n return undefined;\n } else {\n const state = context.requestCapability(SpaceCapabilities.State);\n return constructSpaceNode({\n space,\n navigable: state.navigableCollections,\n personal: space === client.spaces.default,\n namesCache: state.spaceNames,\n resolve,\n });\n }\n },\n }),\n\n // Create space actions.\n createExtension({\n id: `${SPACE_PLUGIN}/actions`,\n filter: (node): node is Node<Space> => isSpace(node.data),\n actions: ({ node }) => {\n const space = node.data;\n const { dispatchPromise: dispatch } = context.requestCapability(Capabilities.IntentDispatcher);\n const client = context.requestCapability(ClientCapabilities.Client);\n const state = context.requestCapability(SpaceCapabilities.State);\n return constructSpaceActions({\n space,\n dispatch,\n personal: space === client.spaces.default,\n migrating: state.sdkMigrationRunning[space.id],\n });\n },\n }),\n\n // Create nodes for objects in the root collection of a space.\n createExtension({\n id: `${SPACE_PLUGIN}/root-collection`,\n filter: (node): node is Node<Space> => isSpace(node.data),\n connector: ({ node }) => {\n const space = node.data;\n const spaceState = toSignal(\n (onChange) => space.state.subscribe(() => onChange()).unsubscribe,\n () => space.state.get(),\n space.id,\n );\n if (spaceState !== SpaceState.SPACE_READY) {\n return;\n }\n\n const collection = space.properties[CollectionType.typename]?.target as CollectionType | undefined;\n if (!collection) {\n return;\n }\n\n const state = context.requestCapability(SpaceCapabilities.State);\n\n return collection.objects\n .map((object) => object.target)\n .filter(isNonNullable)\n .map((object) => createObjectNode({ object, space, resolve, navigable: state.navigableCollections }))\n .filter(isNonNullable);\n },\n }),\n\n // Create nodes for objects in a collection or by its fully qualified id.\n createExtension({\n id: `${SPACE_PLUGIN}/objects`,\n filter: (node): node is Node<CollectionType> => node.data instanceof CollectionType,\n connector: ({ node }) => {\n const collection = node.data;\n const space = getSpace(collection);\n if (!space) {\n return;\n }\n\n const state = context.requestCapability(SpaceCapabilities.State);\n\n return collection.objects\n .map((object) => object.target)\n .filter(isNonNullable)\n .map((object) => createObjectNode({ object, space, resolve, navigable: state.navigableCollections }))\n .filter(isNonNullable);\n },\n resolver: ({ id }) => {\n if (id.length !== FQ_ID_LENGTH) {\n return;\n }\n\n const [spaceId, objectId] = id.split(':');\n if (spaceId.length !== SPACE_ID_LENGTH && objectId.length !== OBJECT_ID_LENGTH) {\n return;\n }\n\n const client = context.requestCapability(ClientCapabilities.Client);\n const space = client.spaces.get().find((space) => space.id === spaceId);\n if (!space) {\n return;\n }\n\n const spaceState = toSignal(\n (onChange) => space.state.subscribe(() => onChange()).unsubscribe,\n () => space.state.get(),\n space.id,\n );\n if (spaceState !== SpaceState.SPACE_READY) {\n return;\n }\n\n const [object] = memoizeQuery(space, { id: objectId });\n if (!object) {\n return;\n }\n\n if (isDeleted(object)) {\n return false;\n } else {\n const state = context.requestCapability(SpaceCapabilities.State);\n return createObjectNode({ object, space, resolve, navigable: state.navigableCollections });\n }\n },\n }),\n\n // Create collection actions and action groups.\n createExtension({\n id: `${SPACE_PLUGIN}/object-actions`,\n filter: (node): node is Node<ReactiveEchoObject<any>> => isEchoObject(node.data),\n actions: ({ node }) => {\n const { dispatchPromise: dispatch } = context.requestCapability(Capabilities.IntentDispatcher);\n const state = context.requestCapability(SpaceCapabilities.State);\n return constructObjectActions({ node, dispatch, navigable: state.navigableCollections });\n },\n }),\n ]);\n};\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": ["Capabilities", "contributes", "createIntent", "Expando", "Filter", "FQ_ID_LENGTH", "getSpace", "isEchoObject", "isSpace", "OBJECT_ID_LENGTH", "SPACE_ID_LENGTH", "SpaceState", "isDeleted", "log", "ClientCapabilities", "createExtension", "toSignal", "isNonNullable", "context", "resolve", "typename", "requestCapabilities", "Capabilities", "Metadata", "find", "id", "metadata", "spacesNode", "SPACES", "type", "cacheable", "properties", "label", "ns", "SPACE_PLUGIN", "icon", "testId", "role", "disposition", "disabled", "childrenPersistenceClass", "onRearrangeChildren", "nextOrder", "graph", "requestCapability", "AppGraph", "client", "ClientCapabilities", "Client", "_sortEdges", "map", "objects", "spacesOrder", "spaces", "default", "db", "query", "Filter", "schema", "Expando", "key", "SHARED", "run", "order", "log", "warn", "contributes", "AppGraphBuilder", "createExtension", "position", "filter", "node", "actions", "SpaceAction", "AddSpace", "_tag", "data", "params", "dispatchPromise", "dispatch", "IntentDispatcher", "createIntent", "connector", "resolver", "undefined", "toSignal", "onChange", "subscribe", "unsubscribe", "get", "isReady", "state", "SpaceCapabilities", "State", "settings", "SettingsStore", "getStore", "value", "memoizeQuery", "orderMap", "Map", "index", "space", "has", "sort", "a", "b", "showHidden", "SpaceState", "SPACE_INACTIVE", "constructSpaceNode", "navigable", "navigableCollections", "personal", "namesCache", "spaceNames", "length", "SPACE_ID_LENGTH", "SPACE_READY", "isSpace", "constructSpaceActions", "migrating", "sdkMigrationRunning", "spaceState", "collection", "CollectionType", "target", "object", "isNonNullable", "createObjectNode", "getSpace", "FQ_ID_LENGTH", "spaceId", "objectId", "split", "OBJECT_ID_LENGTH", "isDeleted", "isEchoObject", "constructObjectActions"]
|
|
7
|
+
}
|
package/dist/lib/browser/{app-graph-serializer-QF7VVRCV.mjs → app-graph-serializer-FOWFLYGU.mjs}
RENAMED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
import {
|
|
2
2
|
translations_default
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-UDWHTKB5.mjs";
|
|
4
4
|
import {
|
|
5
5
|
SPACES,
|
|
6
6
|
SPACE_TYPE
|
|
7
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-23RVI5FZ.mjs";
|
|
8
8
|
import {
|
|
9
9
|
CollectionType,
|
|
10
10
|
SpaceAction
|
|
11
|
-
} from "./chunk-
|
|
11
|
+
} from "./chunk-ULA2UQJ4.mjs";
|
|
12
12
|
import {
|
|
13
13
|
SPACE_PLUGIN
|
|
14
14
|
} from "./chunk-PQXZCNAU.mjs";
|
|
@@ -77,4 +77,4 @@ var app_graph_serializer_default = (context) => contributes(Capabilities.AppGrap
|
|
|
77
77
|
export {
|
|
78
78
|
app_graph_serializer_default as default
|
|
79
79
|
};
|
|
80
|
-
//# sourceMappingURL=app-graph-serializer-
|
|
80
|
+
//# sourceMappingURL=app-graph-serializer-FOWFLYGU.mjs.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import {
|
|
2
2
|
CollectionType,
|
|
3
3
|
SpaceAction
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-ULA2UQJ4.mjs";
|
|
5
5
|
import {
|
|
6
6
|
SPACE_PLUGIN
|
|
7
7
|
} from "./chunk-PQXZCNAU.mjs";
|
|
@@ -110,7 +110,8 @@ var constructSpaceNode = ({ space, navigable = false, personal, namesCache, reso
|
|
|
110
110
|
namesCache
|
|
111
111
|
}),
|
|
112
112
|
description: space.state.get() === SpaceState.SPACE_READY && space.properties.description,
|
|
113
|
-
|
|
113
|
+
hue: space.state.get() === SpaceState.SPACE_READY && space.properties.hue,
|
|
114
|
+
icon: space.state.get() === SpaceState.SPACE_READY && space.properties.icon ? `ph--${space.properties.icon}--regular` : void 0,
|
|
114
115
|
disabled: !navigable || space.state.get() !== SpaceState.SPACE_READY || hasPendingMigration,
|
|
115
116
|
testId: "spacePlugin.space"
|
|
116
117
|
}
|
|
@@ -342,6 +343,16 @@ var createObjectNode = ({ object, space, navigable = false, resolve }) => {
|
|
|
342
343
|
};
|
|
343
344
|
var constructObjectActions = ({ node, dispatch, navigable = false }) => {
|
|
344
345
|
const object = node.data;
|
|
346
|
+
const space = getSpace(object);
|
|
347
|
+
invariant(space, "Space not found", {
|
|
348
|
+
F: __dxlog_file,
|
|
349
|
+
L: 423,
|
|
350
|
+
S: void 0,
|
|
351
|
+
A: [
|
|
352
|
+
"space",
|
|
353
|
+
"'Space not found'"
|
|
354
|
+
]
|
|
355
|
+
});
|
|
345
356
|
const getId = (id) => `${id}/${fullyQualifiedId(object)}`;
|
|
346
357
|
const actions = [
|
|
347
358
|
...object instanceof CollectionType ? [
|
|
@@ -420,7 +431,7 @@ var constructObjectActions = ({ node, dispatch, navigable = false }) => {
|
|
|
420
431
|
id: getId("copy-link"),
|
|
421
432
|
type: ACTION_TYPE,
|
|
422
433
|
data: async () => {
|
|
423
|
-
const url = `${window.location.origin}/${fullyQualifiedId(object)}`;
|
|
434
|
+
const url = `${window.location.origin}/${space.id}/${fullyQualifiedId(object)}`;
|
|
424
435
|
await navigator.clipboard.writeText(url);
|
|
425
436
|
},
|
|
426
437
|
properties: {
|
|
@@ -493,7 +504,7 @@ var cloneObject = async (object, resolve, newSpace) => {
|
|
|
493
504
|
const serializer = metadata.serializer;
|
|
494
505
|
invariant(serializer, `No serializer for type: ${typename}`, {
|
|
495
506
|
F: __dxlog_file,
|
|
496
|
-
L:
|
|
507
|
+
L: 567,
|
|
497
508
|
S: void 0,
|
|
498
509
|
A: [
|
|
499
510
|
"serializer",
|
|
@@ -525,4 +536,4 @@ export {
|
|
|
525
536
|
getNestedObjects,
|
|
526
537
|
cloneObject
|
|
527
538
|
};
|
|
528
|
-
//# sourceMappingURL=chunk-
|
|
539
|
+
//# sourceMappingURL=chunk-23RVI5FZ.mjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/util.tsx"],
|
|
4
|
+
"sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nimport { createIntent, type PromiseIntentDispatcher, LayoutAction } from '@dxos/app-framework';\nimport { EXPANDO_TYPENAME, getObjectAnnotation, getTypename, type Expando } from '@dxos/echo-schema';\nimport { invariant } from '@dxos/invariant';\nimport { getSchema, isReactiveObject, makeRef } from '@dxos/live-object';\nimport { Migrations } from '@dxos/migrations';\nimport {\n ACTION_GROUP_TYPE,\n ACTION_TYPE,\n cleanup,\n getGraph,\n memoize,\n type ActionData,\n type Graph,\n type InvokeParams,\n type Node,\n type NodeArg,\n} from '@dxos/plugin-graph';\nimport {\n Filter,\n fullyQualifiedId,\n getSpace,\n isEchoObject,\n isSpace,\n SpaceState,\n type Echo,\n type FilterSource,\n type Query,\n type QueryOptions,\n type ReactiveEchoObject,\n type Space,\n} from '@dxos/react-client/echo';\n\nimport { SPACE_PLUGIN } from './meta';\nimport { CollectionType, SpaceAction } from './types';\n\nexport const SPACES = `${SPACE_PLUGIN}-spaces`;\nexport const SPACE_TYPE = 'dxos.org/type/Space';\nexport const COMPOSER_SPACE_LOCK = 'dxos.org/plugin/space/lock';\n// TODO(wittjosiah): Remove.\nexport const SHARED = 'shared-spaces';\n\nconst EMPTY_ARRAY: never[] = [];\n\n/**\n *\n * @param spaceOrEcho\n * @param filter\n * @param options\n * @returns\n */\nexport const memoizeQuery = <T extends ReactiveEchoObject<any>>(\n spaceOrEcho?: Space | Echo,\n filter?: FilterSource<T>,\n options?: QueryOptions,\n): T[] => {\n const key = JSON.stringify({\n space: isSpace(spaceOrEcho) ? spaceOrEcho.id : undefined,\n filter: Filter.from(filter).toProto(),\n });\n\n const query = memoize(\n () =>\n isSpace(spaceOrEcho)\n ? spaceOrEcho.db.query(filter, options)\n : (spaceOrEcho?.query(filter, options) as Query<T> | undefined),\n key,\n );\n const unsubscribe = memoize(() => query?.subscribe(), key);\n cleanup(() => unsubscribe?.());\n\n return query?.objects ?? EMPTY_ARRAY;\n};\n\n// TODO(wittjosiah): Factor out? Expose via capability?\nexport const getSpaceDisplayName = (\n space: Space,\n { personal, namesCache = {} }: { personal?: boolean; namesCache?: Record<string, string> } = {},\n): string | [string, { ns: string }] => {\n return space.state.get() === SpaceState.SPACE_READY && (space.properties.name?.length ?? 0) > 0\n ? space.properties.name\n : namesCache[space.id]\n ? namesCache[space.id]\n : personal\n ? ['personal space label', { ns: SPACE_PLUGIN }]\n : ['unnamed space label', { ns: SPACE_PLUGIN }];\n};\n\nconst getCollectionGraphNodePartials = ({\n navigable,\n collection,\n space,\n resolve,\n}: {\n navigable: boolean;\n collection: CollectionType;\n space: Space;\n resolve: (typename: string) => Record<string, any>;\n}) => {\n return {\n disabled: !navigable,\n acceptPersistenceClass: new Set(['echo']),\n acceptPersistenceKey: new Set([space.id]),\n role: 'branch',\n onRearrangeChildren: (nextOrder: unknown[]) => {\n // Change on disk.\n collection.objects = nextOrder.filter(isEchoObject).map(makeRef);\n },\n onTransferStart: (child: Node<ReactiveEchoObject<any>>, index?: number) => {\n // TODO(wittjosiah): Support transfer between spaces.\n // const childSpace = getSpace(child.data);\n // if (space && childSpace && !childSpace.key.equals(space.key)) {\n // // Create clone of child and add to destination space.\n // const newObject = clone(child.data, {\n // // TODO(wittjosiah): This needs to be generalized and not hardcoded here.\n // additional: [\n // child.data.content,\n // ...(child.data.objects ?? []),\n // ...(child.data.objects ?? []).map((object: TypedObject) => object.content),\n // ],\n // });\n // space.db.add(newObject);\n // collection.objects.push(newObject);\n // } else {\n\n // Add child to destination collection.\n // TODO(dmaretskyi): Compare by id.\n if (!collection.objects.find((object) => object.target === child.data)) {\n if (typeof index !== 'undefined') {\n collection.objects.splice(index, 0, makeRef(child.data));\n } else {\n collection.objects.push(makeRef(child.data));\n }\n }\n\n // }\n },\n onTransferEnd: (child: Node<ReactiveEchoObject<any>>, destination: Node) => {\n // Remove child from origin collection.\n const index = collection.objects.findIndex((object) => object.target === child.data);\n if (index > -1) {\n collection.objects.splice(index, 1);\n }\n\n // TODO(wittjosiah): Support transfer between spaces.\n // const childSpace = getSpace(child.data);\n // const destinationSpace =\n // destination.data instanceof SpaceProxy ? destination.data : getSpace(destination.data);\n // if (destinationSpace && childSpace && !childSpace.key.equals(destinationSpace.key)) {\n // // Mark child as deleted in origin space.\n // childSpace.db.remove(child.data);\n // }\n },\n onCopy: async (child: Node<ReactiveEchoObject<any>>, index?: number) => {\n // Create clone of child and add to destination space.\n const newObject = await cloneObject(child.data, resolve, space);\n space.db.add(newObject);\n if (typeof index !== 'undefined') {\n collection.objects.splice(index, 0, makeRef(newObject));\n } else {\n collection.objects.push(makeRef(newObject));\n }\n },\n };\n};\n\nconst checkPendingMigration = (space: Space) => {\n return (\n space.state.get() === SpaceState.SPACE_REQUIRES_MIGRATION ||\n (space.state.get() === SpaceState.SPACE_READY &&\n !!Migrations.versionProperty &&\n space.properties[Migrations.versionProperty] !== Migrations.targetVersion)\n );\n};\n\nexport const constructSpaceNode = ({\n space,\n navigable = false,\n personal,\n namesCache,\n resolve,\n}: {\n space: Space;\n navigable?: boolean;\n personal?: boolean;\n namesCache?: Record<string, string>;\n resolve: (typename: string) => Record<string, any>;\n}) => {\n const hasPendingMigration = checkPendingMigration(space);\n const collection = space.state.get() === SpaceState.SPACE_READY && space.properties[CollectionType.typename]?.target;\n const partials =\n space.state.get() === SpaceState.SPACE_READY && collection instanceof CollectionType\n ? getCollectionGraphNodePartials({ collection, space, resolve, navigable })\n : {};\n\n return {\n id: space.id,\n type: SPACE_TYPE,\n cacheable: ['label', 'icon', 'role'],\n data: space,\n properties: {\n ...partials,\n label: getSpaceDisplayName(space, { personal, namesCache }),\n description: space.state.get() === SpaceState.SPACE_READY && space.properties.description,\n hue: space.state.get() === SpaceState.SPACE_READY && space.properties.hue,\n icon:\n space.state.get() === SpaceState.SPACE_READY && space.properties.icon\n ? `ph--${space.properties.icon}--regular`\n : undefined,\n disabled: !navigable || space.state.get() !== SpaceState.SPACE_READY || hasPendingMigration,\n testId: 'spacePlugin.space',\n },\n };\n};\n\nexport const constructSpaceActions = ({\n space,\n dispatch,\n personal,\n migrating,\n}: {\n space: Space;\n dispatch: PromiseIntentDispatcher;\n personal?: boolean;\n migrating?: boolean;\n}) => {\n const state = space.state.get();\n const hasPendingMigration = checkPendingMigration(space);\n const getId = (id: string) => `${id}/${space.id}`;\n const actions: NodeArg<ActionData>[] = [];\n\n if (hasPendingMigration) {\n actions.push({\n id: getId(SpaceAction.Migrate._tag),\n type: ACTION_GROUP_TYPE,\n data: async () => {\n await dispatch(createIntent(SpaceAction.Migrate, { space }));\n },\n properties: {\n label: ['migrate space label', { ns: SPACE_PLUGIN }],\n icon: 'ph--database--regular',\n disposition: 'toolbar',\n disabled: migrating || Migrations.running(space),\n },\n });\n }\n\n if (state === SpaceState.SPACE_READY && !hasPendingMigration) {\n const locked = space.properties[COMPOSER_SPACE_LOCK];\n actions.push(\n {\n id: getId(SpaceAction.OpenCreateObject._tag),\n type: ACTION_TYPE,\n data: async () => {\n await dispatch(createIntent(SpaceAction.OpenCreateObject, { target: space }));\n },\n properties: {\n label: ['create object in space label', { ns: SPACE_PLUGIN }],\n icon: 'ph--plus--regular',\n disposition: 'item',\n testId: 'spacePlugin.createObject',\n },\n },\n {\n id: getId(SpaceAction.Share._tag),\n type: ACTION_TYPE,\n data: async () => {\n if (locked) {\n return;\n }\n await dispatch(createIntent(SpaceAction.Share, { space }));\n },\n properties: {\n label: ['share space label', { ns: SPACE_PLUGIN }],\n icon: 'ph--users--regular',\n disabled: locked,\n disposition: 'toolbar',\n iconOnly: false,\n variant: 'default',\n testId: 'spacePlugin.shareSpace',\n keyBinding: {\n macos: 'meta+.',\n windows: 'alt+.',\n },\n },\n },\n {\n id: locked ? getId(SpaceAction.Unlock._tag) : getId(SpaceAction.Lock._tag),\n type: ACTION_TYPE,\n data: async () => {\n if (locked) {\n await dispatch(createIntent(SpaceAction.Unlock, { space }));\n } else {\n await dispatch(createIntent(SpaceAction.Lock, { space }));\n }\n },\n properties: {\n label: [locked ? 'unlock space label' : 'lock space label', { ns: SPACE_PLUGIN }],\n icon: locked ? 'ph--lock-simple-open--regular' : 'ph--lock-simple--regular',\n },\n },\n {\n id: getId(SpaceAction.Rename._tag),\n type: ACTION_TYPE,\n data: async (params: InvokeParams) => {\n await dispatch(createIntent(SpaceAction.Rename, { space, caller: params.caller }));\n },\n properties: {\n label: ['rename space label', { ns: SPACE_PLUGIN }],\n icon: 'ph--pencil-simple-line--regular',\n keyBinding: {\n macos: 'shift+F6',\n windows: 'shift+F6',\n },\n },\n },\n {\n id: getId(SpaceAction.OpenSettings._tag),\n type: ACTION_TYPE,\n data: async () => {\n await dispatch(createIntent(SpaceAction.OpenSettings, { space }));\n },\n properties: {\n label: ['open space settings label', { ns: SPACE_PLUGIN }],\n icon: 'ph--gear--regular',\n },\n },\n );\n }\n\n // TODO(wittjosiah): Consider moving close space into the space settings dialog.\n if (state !== SpaceState.SPACE_INACTIVE && !hasPendingMigration) {\n actions.push({\n id: getId(SpaceAction.Close._tag),\n type: ACTION_TYPE,\n data: async () => {\n await dispatch(createIntent(SpaceAction.Close, { space }));\n },\n properties: {\n label: ['close space label', { ns: SPACE_PLUGIN }],\n icon: 'ph--x--regular',\n disabled: personal,\n },\n });\n }\n\n if (state === SpaceState.SPACE_INACTIVE) {\n actions.push({\n id: getId(SpaceAction.Open._tag),\n type: ACTION_TYPE,\n data: async () => {\n await dispatch(createIntent(SpaceAction.Open, { space }));\n },\n properties: {\n label: ['open space label', { ns: SPACE_PLUGIN }],\n icon: 'ph--clock-counter-clockwise--regular',\n disposition: 'toolbar',\n },\n });\n }\n\n return actions;\n};\n\nexport const createObjectNode = ({\n object,\n space,\n navigable = false,\n resolve,\n}: {\n object: ReactiveEchoObject<any>;\n space: Space;\n navigable?: boolean;\n resolve: (typename: string) => Record<string, any>;\n}) => {\n const type = getTypename(object);\n if (!type) {\n return undefined;\n }\n\n const metadata = resolve(type);\n if (Object.keys(metadata).length === 0) {\n return undefined;\n }\n\n const partials =\n object instanceof CollectionType\n ? getCollectionGraphNodePartials({ collection: object, space, resolve, navigable })\n : metadata.graphProps;\n\n return {\n id: fullyQualifiedId(object),\n type,\n cacheable: ['label', 'icon', 'role'],\n data: object,\n properties: {\n ...partials,\n label: metadata.label?.(object) ||\n object.name ||\n metadata.placeholder || ['unnamed object label', { ns: SPACE_PLUGIN }],\n icon: metadata.icon ?? 'ph--placeholder--regular',\n testId: 'spacePlugin.object',\n persistenceClass: 'echo',\n persistenceKey: space?.id,\n },\n };\n};\n\nexport const constructObjectActions = ({\n node,\n dispatch,\n navigable = false,\n}: {\n node: Node<ReactiveEchoObject<any>>;\n dispatch: PromiseIntentDispatcher;\n navigable?: boolean;\n}) => {\n const object = node.data;\n const space = getSpace(object);\n invariant(space, 'Space not found');\n const getId = (id: string) => `${id}/${fullyQualifiedId(object)}`;\n const actions: NodeArg<ActionData>[] = [\n ...(object instanceof CollectionType\n ? [\n {\n id: getId(SpaceAction.OpenCreateObject._tag),\n type: ACTION_TYPE,\n data: async () => {\n await dispatch(createIntent(SpaceAction.OpenCreateObject, { target: object }));\n },\n properties: {\n label: ['create object in collection label', { ns: SPACE_PLUGIN }],\n icon: 'ph--plus--regular',\n disposition: 'toolbar',\n testId: 'spacePlugin.createObject',\n },\n },\n ]\n : []),\n {\n id: getId(SpaceAction.RenameObject._tag),\n type: ACTION_TYPE,\n data: async (params: InvokeParams) => {\n await dispatch(createIntent(SpaceAction.RenameObject, { object, caller: params.caller }));\n },\n properties: {\n label: [\n object instanceof CollectionType ? 'rename collection label' : 'rename object label',\n { ns: SPACE_PLUGIN },\n ],\n icon: 'ph--pencil-simple-line--regular',\n // TODO(wittjosiah): Doesn't work.\n // keyBinding: 'shift+F6',\n testId: 'spacePlugin.renameObject',\n },\n },\n {\n id: getId(SpaceAction.RemoveObjects._tag),\n type: ACTION_TYPE,\n data: async () => {\n const graph = getGraph(node);\n const collection = graph\n .nodes(node, { relation: 'inbound' })\n .find(({ data }) => data instanceof CollectionType)?.data;\n await dispatch(createIntent(SpaceAction.RemoveObjects, { objects: [object], target: collection }));\n },\n properties: {\n label: [\n object instanceof CollectionType ? 'delete collection label' : 'delete object label',\n { ns: SPACE_PLUGIN },\n ],\n icon: 'ph--trash--regular',\n keyBinding: object instanceof CollectionType ? undefined : 'shift+meta+Backspace',\n testId: 'spacePlugin.deleteObject',\n },\n },\n ...(navigable || !(object instanceof CollectionType)\n ? [\n {\n id: getId('copy-link'),\n type: ACTION_TYPE,\n data: async () => {\n const url = `${window.location.origin}/${space.id}/${fullyQualifiedId(object)}`;\n await navigator.clipboard.writeText(url);\n },\n properties: {\n label: ['copy link label', { ns: SPACE_PLUGIN }],\n icon: 'ph--link--regular',\n testId: 'spacePlugin.copyLink',\n },\n },\n ]\n : []),\n // TODO(wittjosiah): Factor out and apply to all nodes.\n {\n id: getId(LayoutAction.Expose._tag),\n type: ACTION_TYPE,\n data: async () => {\n await dispatch(createIntent(LayoutAction.Expose, { part: 'navigation', subject: fullyQualifiedId(object) }));\n },\n properties: {\n label: ['expose object label', { ns: SPACE_PLUGIN }],\n icon: 'ph--eye--regular',\n testId: 'spacePlugin.exposeObject',\n },\n },\n ];\n\n return actions;\n};\n\n/**\n * @deprecated\n */\nexport const getActiveSpace = (graph: Graph, active?: string) => {\n if (!active) {\n return;\n }\n\n const node = graph.findNode(active);\n if (!node || !isReactiveObject(node.data)) {\n return;\n }\n\n return getSpace(node.data);\n};\n\n/**\n * @deprecated This is a temporary solution.\n */\nexport const getNestedObjects = async (\n object: ReactiveEchoObject<any>,\n resolve: (typename: string) => Record<string, any>,\n): Promise<ReactiveEchoObject<any>[]> => {\n const type = getTypename(object);\n if (!type) {\n return [];\n }\n\n const metadata = resolve(type);\n const loadReferences = metadata?.loadReferences;\n if (typeof loadReferences !== 'function') {\n return [];\n }\n\n const objects: ReactiveEchoObject<any>[] = await loadReferences(object);\n const nested = await Promise.all(objects.map((object) => getNestedObjects(object, resolve)));\n return [...objects, ...nested.flat()];\n};\n\n/**\n * @deprecated Workaround for ECHO not supporting clone.\n */\n// TODO(burdon): Remove.\nexport const cloneObject = async (\n object: Expando,\n resolve: (typename: string) => Record<string, any>,\n newSpace: Space,\n): Promise<Expando> => {\n const schema = getSchema(object);\n const typename = schema ? getObjectAnnotation(schema)?.typename ?? EXPANDO_TYPENAME : EXPANDO_TYPENAME;\n const metadata = resolve(typename);\n const serializer = metadata.serializer;\n invariant(serializer, `No serializer for type: ${typename}`);\n const content = await serializer.serialize({ object });\n return serializer.deserialize({ content, space: newSpace, newId: true });\n};\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": ["createIntent", "LayoutAction", "EXPANDO_TYPENAME", "getObjectAnnotation", "getTypename", "invariant", "getSchema", "isReactiveObject", "makeRef", "Migrations", "ACTION_GROUP_TYPE", "ACTION_TYPE", "cleanup", "getGraph", "memoize", "Filter", "fullyQualifiedId", "getSpace", "isEchoObject", "isSpace", "SpaceState", "SPACES", "SPACE_PLUGIN", "SPACE_TYPE", "COMPOSER_SPACE_LOCK", "SHARED", "EMPTY_ARRAY", "memoizeQuery", "spaceOrEcho", "filter", "options", "key", "JSON", "stringify", "space", "isSpace", "id", "undefined", "Filter", "from", "toProto", "query", "memoize", "db", "unsubscribe", "subscribe", "cleanup", "objects", "getSpaceDisplayName", "personal", "namesCache", "state", "get", "SpaceState", "SPACE_READY", "properties", "name", "length", "ns", "getCollectionGraphNodePartials", "navigable", "collection", "resolve", "disabled", "acceptPersistenceClass", "Set", "acceptPersistenceKey", "role", "onRearrangeChildren", "nextOrder", "isEchoObject", "map", "makeRef", "onTransferStart", "child", "index", "find", "object", "target", "data", "splice", "push", "onTransferEnd", "destination", "findIndex", "onCopy", "newObject", "cloneObject", "add", "checkPendingMigration", "SPACE_REQUIRES_MIGRATION", "Migrations", "versionProperty", "targetVersion", "constructSpaceNode", "hasPendingMigration", "CollectionType", "typename", "partials", "type", "cacheable", "label", "description", "hue", "icon", "testId", "constructSpaceActions", "dispatch", "migrating", "getId", "actions", "SpaceAction", "Migrate", "_tag", "ACTION_GROUP_TYPE", "createIntent", "disposition", "running", "locked", "OpenCreateObject", "ACTION_TYPE", "Share", "iconOnly", "variant", "keyBinding", "macos", "windows", "Unlock", "Lock", "Rename", "params", "caller", "OpenSettings", "SPACE_INACTIVE", "Close", "Open", "createObjectNode", "getTypename", "metadata", "Object", "keys", "graphProps", "fullyQualifiedId", "placeholder", "persistenceClass", "persistenceKey", "constructObjectActions", "node", "getSpace", "invariant", "RenameObject", "RemoveObjects", "graph", "getGraph", "nodes", "relation", "url", "window", "location", "origin", "navigator", "clipboard", "writeText", "LayoutAction", "Expose", "part", "subject", "getActiveSpace", "active", "findNode", "isReactiveObject", "getNestedObjects", "loadReferences", "nested", "Promise", "all", "flat", "newSpace", "schema", "getSchema", "getObjectAnnotation", "EXPANDO_TYPENAME", "serializer", "content", "serialize", "deserialize", "newId"]
|
|
7
|
+
}
|
|
@@ -9,6 +9,7 @@ var SpaceCapabilities;
|
|
|
9
9
|
SpaceCapabilities2.State = defineCapability(`${SPACE_PLUGIN}/capability/state`);
|
|
10
10
|
SpaceCapabilities2.MutableState = defineCapability(`${SPACE_PLUGIN}/capability/state`);
|
|
11
11
|
SpaceCapabilities2.SettingsPanel = defineCapability(`${SPACE_PLUGIN}/capability/settings-panel`);
|
|
12
|
+
SpaceCapabilities2.ObjectForm = defineCapability(`${SPACE_PLUGIN}/capability/object-form`);
|
|
12
13
|
})(SpaceCapabilities || (SpaceCapabilities = {}));
|
|
13
14
|
var ThreadCapabilities;
|
|
14
15
|
(function(ThreadCapabilities2) {
|
|
@@ -19,4 +20,4 @@ export {
|
|
|
19
20
|
SpaceCapabilities,
|
|
20
21
|
ThreadCapabilities
|
|
21
22
|
};
|
|
22
|
-
//# sourceMappingURL=chunk-
|
|
23
|
+
//# sourceMappingURL=chunk-NU7WDVGN.mjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/capabilities/capabilities.ts"],
|
|
4
|
+
"sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { defineCapability, type Label } from '@dxos/app-framework';\nimport { type DeepReadonly } from '@dxos/util';\n\nimport { SPACE_PLUGIN } from '../meta';\nimport { type ObjectForm, type PluginState } from '../types';\n\nexport namespace SpaceCapabilities {\n export const State = defineCapability<DeepReadonly<PluginState>>(`${SPACE_PLUGIN}/capability/state`);\n export const MutableState = defineCapability<PluginState>(`${SPACE_PLUGIN}/capability/state`);\n\n export type SpaceSettingsPanel = { id: string; label: Label };\n export const SettingsPanel = defineCapability<SpaceSettingsPanel>(`${SPACE_PLUGIN}/capability/settings-panel`);\n\n export const ObjectForm = defineCapability<ObjectForm<any>>(`${SPACE_PLUGIN}/capability/object-form`);\n}\n\n// TODO(wittjosiah): Factor out.\nexport namespace ThreadCapabilities {\n type ThreadCapability<T = any> = {\n predicate: (obj: any) => obj is T;\n createSort: (obj: T) => (anchorA: string | undefined, anchorB: string | undefined) => number;\n };\n export const Thread = defineCapability<ThreadCapability>(`${SPACE_PLUGIN}/capability/thread`);\n}\n"],
|
|
5
|
+
"mappings": ";;;;;AAIA,SAASA,wBAAoC;;UAM5BC,oBAAAA;qBACFC,QAAQC,iBAA4C,GAAGC,YAAAA,mBAA+B;qBACtFC,eAAeF,iBAA8B,GAAGC,YAAAA,mBAA+B;qBAG/EE,gBAAgBH,iBAAqC,GAAGC,YAAAA,4BAAwC;qBAEhGG,aAAaJ,iBAAkC,GAAGC,YAAAA,yBAAqC;AACtG,GARiBH,sBAAAA,oBAAAA,CAAAA,EAAAA;;UAWAO,qBAAAA;sBAKFC,SAASN,iBAAmC,GAAGC,YAAAA,oBAAgC;AAC9F,GANiBI,uBAAAA,qBAAAA,CAAAA,EAAAA;",
|
|
6
|
+
"names": ["defineCapability", "SpaceCapabilities", "State", "defineCapability", "SPACE_PLUGIN", "MutableState", "SettingsPanel", "ObjectForm", "ThreadCapabilities", "Thread"]
|
|
7
|
+
}
|