@dxos/plugin-space 0.7.5-main.9d2a38b → 0.7.5-main.ff8607b
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-F6XSETHX.mjs → app-graph-builder-J4NX44Y4.mjs} +10 -8
- package/dist/lib/browser/{app-graph-builder-F6XSETHX.mjs.map → app-graph-builder-J4NX44Y4.mjs.map} +3 -3
- package/dist/lib/browser/{app-graph-serializer-FYJE23GN.mjs → app-graph-serializer-QF7VVRCV.mjs} +5 -5
- package/dist/lib/browser/{chunk-IZ7QKQ2E.mjs → chunk-6UIFMVVI.mjs} +14 -9
- package/dist/lib/browser/chunk-6UIFMVVI.mjs.map +7 -0
- package/dist/lib/browser/{chunk-SOXNANA6.mjs → chunk-PQXZCNAU.mjs} +3 -2
- package/dist/lib/browser/{chunk-SOXNANA6.mjs.map → chunk-PQXZCNAU.mjs.map} +3 -3
- package/dist/lib/browser/{chunk-UH5P4UL3.mjs → chunk-RLZQJD47.mjs} +3 -2
- package/dist/lib/browser/chunk-RLZQJD47.mjs.map +7 -0
- package/dist/lib/browser/{chunk-T36CIHPG.mjs → chunk-SDK7RZI3.mjs} +3 -3
- package/dist/lib/browser/{chunk-SSJ772GK.mjs → chunk-XPZ6IIXF.mjs} +4 -5
- package/dist/lib/browser/chunk-XPZ6IIXF.mjs.map +7 -0
- package/dist/lib/browser/{chunk-XXD33C4E.mjs → chunk-XZ2NH3CP.mjs} +291 -250
- package/dist/lib/browser/chunk-XZ2NH3CP.mjs.map +7 -0
- package/dist/lib/browser/{identity-created-4Q4PFIC5.mjs → identity-created-25TK5XNO.mjs} +3 -3
- package/dist/lib/browser/index.mjs +11 -11
- package/dist/lib/browser/index.mjs.map +3 -3
- package/dist/lib/browser/intent-resolver-IEDVV74T.mjs +523 -0
- package/dist/lib/browser/intent-resolver-IEDVV74T.mjs.map +7 -0
- package/dist/lib/browser/meta.json +1 -1
- package/dist/lib/browser/{react-root-BDOPFJGJ.mjs → react-root-6VRPRLQR.mjs} +6 -6
- package/dist/lib/browser/{react-surface-EGOL2JBL.mjs → react-surface-DMNDXLZ7.mjs} +26 -33
- package/dist/lib/browser/react-surface-DMNDXLZ7.mjs.map +7 -0
- package/dist/lib/browser/{settings-WF67QZSD.mjs → settings-K4JPYYEM.mjs} +3 -3
- package/dist/lib/browser/{spaces-ready-WVU7US3C.mjs → spaces-ready-2MUWWVVO.mjs} +31 -32
- package/dist/lib/browser/spaces-ready-2MUWWVVO.mjs.map +7 -0
- package/dist/lib/browser/{state-MS4KYJWI.mjs → state-6DCY5YJP.mjs} +3 -3
- package/dist/lib/browser/types/index.mjs +2 -2
- package/dist/lib/node/{app-graph-builder-GKLVZ4PM.cjs → app-graph-builder-ZOPG4MOS.cjs} +58 -56
- package/dist/lib/node/{app-graph-builder-GKLVZ4PM.cjs.map → app-graph-builder-ZOPG4MOS.cjs.map} +3 -3
- package/dist/lib/node/{app-graph-serializer-RMTU5YSC.cjs → app-graph-serializer-QE2G4MWB.cjs} +21 -21
- package/dist/lib/node/{chunk-5D4RWKTV.cjs → chunk-3QWZCN6L.cjs} +65 -60
- package/dist/lib/node/chunk-3QWZCN6L.cjs.map +7 -0
- package/dist/lib/node/{chunk-YCBBGTFD.cjs → chunk-6MEOP3DH.cjs} +8 -9
- package/dist/lib/node/chunk-6MEOP3DH.cjs.map +7 -0
- package/dist/lib/node/{chunk-UENH2YBM.cjs → chunk-D6BFKOXY.cjs} +8 -8
- package/dist/lib/node/{chunk-AJRP7AD6.cjs → chunk-SZEIQGQU.cjs} +292 -251
- package/dist/lib/node/chunk-SZEIQGQU.cjs.map +7 -0
- package/dist/lib/node/{chunk-56NGXG2A.cjs → chunk-UX3U4RU2.cjs} +9 -8
- package/dist/lib/node/chunk-UX3U4RU2.cjs.map +7 -0
- package/dist/lib/node/{chunk-AO4EW2RX.cjs → chunk-WZR6OAN3.cjs} +6 -5
- package/dist/lib/node/{chunk-AO4EW2RX.cjs.map → chunk-WZR6OAN3.cjs.map} +3 -3
- package/dist/lib/node/{identity-created-QQWX7WX3.cjs → identity-created-7G5U7R36.cjs} +7 -7
- package/dist/lib/node/index.cjs +90 -90
- package/dist/lib/node/index.cjs.map +3 -3
- package/dist/lib/node/intent-resolver-N2W2L6OL.cjs +522 -0
- package/dist/lib/node/intent-resolver-N2W2L6OL.cjs.map +7 -0
- package/dist/lib/node/meta.json +1 -1
- package/dist/lib/node/{react-root-ZTR2J2I3.cjs → react-root-YD35W3VU.cjs} +12 -12
- package/dist/lib/node/{react-surface-75KRPQYT.cjs → react-surface-QPLXK7DT.cjs} +72 -76
- package/dist/lib/node/react-surface-QPLXK7DT.cjs.map +7 -0
- package/dist/lib/node/{settings-KOVSPA3S.cjs → settings-TEELGWS4.cjs} +8 -8
- package/dist/lib/node/{spaces-ready-ILVGUHJH.cjs → spaces-ready-PZZQWS6T.cjs} +39 -40
- package/dist/lib/node/spaces-ready-PZZQWS6T.cjs.map +7 -0
- package/dist/lib/node/{state-4UIOUKLJ.cjs → state-WPZC4JXB.cjs} +8 -8
- package/dist/lib/node/types/index.cjs +16 -16
- package/dist/lib/node/types/index.cjs.map +1 -1
- package/dist/lib/node-esm/{app-graph-builder-NEHQ5Z63.mjs → app-graph-builder-TKGLOK22.mjs} +10 -8
- package/dist/lib/node-esm/{app-graph-builder-NEHQ5Z63.mjs.map → app-graph-builder-TKGLOK22.mjs.map} +3 -3
- package/dist/lib/node-esm/{app-graph-serializer-UWWS5OVC.mjs → app-graph-serializer-HLX2JRNF.mjs} +5 -5
- package/dist/lib/node-esm/{chunk-E5DWIQ3N.mjs → chunk-4UX5WGKJ.mjs} +3 -3
- package/dist/lib/node-esm/{chunk-HTBGWQEU.mjs → chunk-AAQRELDK.mjs} +4 -5
- package/dist/lib/node-esm/chunk-AAQRELDK.mjs.map +7 -0
- package/dist/lib/node-esm/{chunk-7FUVU45N.mjs → chunk-ICCM4YRJ.mjs} +3 -2
- package/dist/lib/node-esm/{chunk-7FUVU45N.mjs.map → chunk-ICCM4YRJ.mjs.map} +3 -3
- package/dist/lib/node-esm/{chunk-5QMAPAZD.mjs → chunk-LA45TPAN.mjs} +14 -9
- package/dist/lib/node-esm/chunk-LA45TPAN.mjs.map +7 -0
- package/dist/lib/node-esm/{chunk-375RB3CZ.mjs → chunk-LGL4A5B5.mjs} +3 -2
- package/dist/lib/node-esm/chunk-LGL4A5B5.mjs.map +7 -0
- package/dist/lib/node-esm/{chunk-GVOPDPS2.mjs → chunk-N6EAOMIS.mjs} +291 -250
- package/dist/lib/node-esm/chunk-N6EAOMIS.mjs.map +7 -0
- package/dist/lib/node-esm/{identity-created-HMNY2MPB.mjs → identity-created-7THGZ7EW.mjs} +3 -3
- package/dist/lib/node-esm/index.mjs +11 -11
- package/dist/lib/node-esm/index.mjs.map +3 -3
- package/dist/lib/node-esm/intent-resolver-L2TKJU4I.mjs +524 -0
- package/dist/lib/node-esm/intent-resolver-L2TKJU4I.mjs.map +7 -0
- package/dist/lib/node-esm/meta.json +1 -1
- package/dist/lib/node-esm/{react-root-OUPJA4RY.mjs → react-root-Q5MFDXZE.mjs} +6 -6
- package/dist/lib/node-esm/{react-surface-7EVWCKIP.mjs → react-surface-RQQZ5BOG.mjs} +26 -33
- package/dist/lib/node-esm/react-surface-RQQZ5BOG.mjs.map +7 -0
- package/dist/lib/node-esm/{settings-EDK6WI3V.mjs → settings-KXYUZBLN.mjs} +3 -3
- package/dist/lib/node-esm/{spaces-ready-CH3W7OGN.mjs → spaces-ready-MWNP3WBX.mjs} +31 -32
- package/dist/lib/node-esm/spaces-ready-MWNP3WBX.mjs.map +7 -0
- package/dist/lib/node-esm/{state-BMISGQ2O.mjs → state-5GH2D5U4.mjs} +3 -3
- package/dist/lib/node-esm/types/index.mjs +2 -2
- package/dist/types/src/SpacePlugin.d.ts.map +1 -1
- package/dist/types/src/capabilities/app-graph-builder.d.ts +22 -22
- package/dist/types/src/capabilities/app-graph-builder.d.ts.map +1 -1
- package/dist/types/src/capabilities/capabilities.d.ts +6 -0
- package/dist/types/src/capabilities/capabilities.d.ts.map +1 -1
- package/dist/types/src/capabilities/index.d.ts +33 -33
- package/dist/types/src/capabilities/index.d.ts.map +1 -1
- package/dist/types/src/capabilities/intent-resolver.d.ts.map +1 -1
- package/dist/types/src/capabilities/react-surface.d.ts.map +1 -1
- package/dist/types/src/capabilities/spaces-ready.d.ts.map +1 -1
- package/dist/types/src/components/CreateDialog/CreateObjectPanel.d.ts +4 -3
- package/dist/types/src/components/CreateDialog/CreateObjectPanel.d.ts.map +1 -1
- package/dist/types/src/components/CreateDialog/CreateSpaceDialog.d.ts.map +1 -1
- package/dist/types/src/components/JoinDialog.d.ts.map +1 -1
- package/dist/types/src/components/SpacePresence.d.ts.map +1 -1
- package/dist/types/src/components/SpaceSettings/SpaceSettingsDialog.d.ts.map +1 -1
- package/dist/types/src/components/SpaceSettings/SpaceSettingsPanel.d.ts.map +1 -1
- package/dist/types/src/components/SyncStatus/SyncStatus.d.ts.map +1 -1
- package/dist/types/src/meta.d.ts +1 -0
- package/dist/types/src/meta.d.ts.map +1 -1
- package/dist/types/src/types/types.d.ts +2 -2
- package/dist/types/src/types/types.d.ts.map +1 -1
- package/dist/types/src/util.d.ts.map +1 -1
- package/package.json +38 -37
- package/src/SpacePlugin.tsx +4 -5
- package/src/capabilities/app-graph-builder.ts +4 -2
- package/src/capabilities/capabilities.ts +4 -1
- package/src/capabilities/intent-resolver.ts +373 -304
- package/src/capabilities/react-surface.tsx +22 -30
- package/src/capabilities/spaces-ready.ts +20 -21
- package/src/components/AwaitingObject.tsx +5 -5
- package/src/components/CreateDialog/CreateObjectDialog.tsx +15 -15
- package/src/components/CreateDialog/CreateObjectPanel.tsx +114 -114
- package/src/components/CreateDialog/CreateSpaceDialog.tsx +10 -8
- package/src/components/JoinDialog.tsx +27 -19
- package/src/components/SpacePluginSettings.tsx +3 -3
- package/src/components/SpacePresence.tsx +2 -3
- package/src/components/SpaceSettings/SpaceSettingsDialog.tsx +16 -1
- package/src/components/SpaceSettings/SpaceSettingsPanel.tsx +3 -4
- package/src/components/SyncStatus/InlineSyncStatus.tsx +2 -2
- package/src/components/SyncStatus/SyncStatus.tsx +2 -1
- package/src/meta.ts +1 -0
- package/src/types/types.ts +2 -3
- package/src/util.tsx +8 -4
- package/dist/lib/browser/chunk-IZ7QKQ2E.mjs.map +0 -7
- package/dist/lib/browser/chunk-SSJ772GK.mjs.map +0 -7
- package/dist/lib/browser/chunk-UH5P4UL3.mjs.map +0 -7
- package/dist/lib/browser/chunk-XXD33C4E.mjs.map +0 -7
- package/dist/lib/browser/intent-resolver-XRZYCXXX.mjs +0 -459
- package/dist/lib/browser/intent-resolver-XRZYCXXX.mjs.map +0 -7
- package/dist/lib/browser/react-surface-EGOL2JBL.mjs.map +0 -7
- package/dist/lib/browser/spaces-ready-WVU7US3C.mjs.map +0 -7
- package/dist/lib/node/chunk-56NGXG2A.cjs.map +0 -7
- package/dist/lib/node/chunk-5D4RWKTV.cjs.map +0 -7
- package/dist/lib/node/chunk-AJRP7AD6.cjs.map +0 -7
- package/dist/lib/node/chunk-YCBBGTFD.cjs.map +0 -7
- package/dist/lib/node/intent-resolver-3NI6AUAI.cjs +0 -458
- package/dist/lib/node/intent-resolver-3NI6AUAI.cjs.map +0 -7
- package/dist/lib/node/react-surface-75KRPQYT.cjs.map +0 -7
- package/dist/lib/node/spaces-ready-ILVGUHJH.cjs.map +0 -7
- package/dist/lib/node-esm/chunk-375RB3CZ.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-5QMAPAZD.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-GVOPDPS2.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-HTBGWQEU.mjs.map +0 -7
- package/dist/lib/node-esm/intent-resolver-P5EVBOGP.mjs +0 -460
- package/dist/lib/node-esm/intent-resolver-P5EVBOGP.mjs.map +0 -7
- package/dist/lib/node-esm/react-surface-7EVWCKIP.mjs.map +0 -7
- package/dist/lib/node-esm/spaces-ready-CH3W7OGN.mjs.map +0 -7
- /package/dist/lib/browser/{app-graph-serializer-FYJE23GN.mjs.map → app-graph-serializer-QF7VVRCV.mjs.map} +0 -0
- /package/dist/lib/browser/{chunk-T36CIHPG.mjs.map → chunk-SDK7RZI3.mjs.map} +0 -0
- /package/dist/lib/browser/{identity-created-4Q4PFIC5.mjs.map → identity-created-25TK5XNO.mjs.map} +0 -0
- /package/dist/lib/browser/{react-root-BDOPFJGJ.mjs.map → react-root-6VRPRLQR.mjs.map} +0 -0
- /package/dist/lib/browser/{settings-WF67QZSD.mjs.map → settings-K4JPYYEM.mjs.map} +0 -0
- /package/dist/lib/browser/{state-MS4KYJWI.mjs.map → state-6DCY5YJP.mjs.map} +0 -0
- /package/dist/lib/node/{app-graph-serializer-RMTU5YSC.cjs.map → app-graph-serializer-QE2G4MWB.cjs.map} +0 -0
- /package/dist/lib/node/{chunk-UENH2YBM.cjs.map → chunk-D6BFKOXY.cjs.map} +0 -0
- /package/dist/lib/node/{identity-created-QQWX7WX3.cjs.map → identity-created-7G5U7R36.cjs.map} +0 -0
- /package/dist/lib/node/{react-root-ZTR2J2I3.cjs.map → react-root-YD35W3VU.cjs.map} +0 -0
- /package/dist/lib/node/{settings-KOVSPA3S.cjs.map → settings-TEELGWS4.cjs.map} +0 -0
- /package/dist/lib/node/{state-4UIOUKLJ.cjs.map → state-WPZC4JXB.cjs.map} +0 -0
- /package/dist/lib/node-esm/{app-graph-serializer-UWWS5OVC.mjs.map → app-graph-serializer-HLX2JRNF.mjs.map} +0 -0
- /package/dist/lib/node-esm/{chunk-E5DWIQ3N.mjs.map → chunk-4UX5WGKJ.mjs.map} +0 -0
- /package/dist/lib/node-esm/{identity-created-HMNY2MPB.mjs.map → identity-created-7THGZ7EW.mjs.map} +0 -0
- /package/dist/lib/node-esm/{react-root-OUPJA4RY.mjs.map → react-root-Q5MFDXZE.mjs.map} +0 -0
- /package/dist/lib/node-esm/{settings-EDK6WI3V.mjs.map → settings-KXYUZBLN.mjs.map} +0 -0
- /package/dist/lib/node-esm/{state-BMISGQ2O.mjs.map → state-5GH2D5U4.mjs.map} +0 -0
|
@@ -16,15 +16,15 @@ 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 app_graph_builder_ZOPG4MOS_exports = {};
|
|
20
|
+
__export(app_graph_builder_ZOPG4MOS_exports, {
|
|
21
21
|
default: () => app_graph_builder_default
|
|
22
22
|
});
|
|
23
|
-
module.exports = __toCommonJS(
|
|
24
|
-
var
|
|
25
|
-
var
|
|
26
|
-
var
|
|
27
|
-
var
|
|
23
|
+
module.exports = __toCommonJS(app_graph_builder_ZOPG4MOS_exports);
|
|
24
|
+
var import_chunk_UX3U4RU2 = require("./chunk-UX3U4RU2.cjs");
|
|
25
|
+
var import_chunk_3QWZCN6L = require("./chunk-3QWZCN6L.cjs");
|
|
26
|
+
var import_chunk_6MEOP3DH = require("./chunk-6MEOP3DH.cjs");
|
|
27
|
+
var import_chunk_WZR6OAN3 = require("./chunk-WZR6OAN3.cjs");
|
|
28
28
|
var import_app_framework = require("@dxos/app-framework");
|
|
29
29
|
var import_echo = require("@dxos/client/echo");
|
|
30
30
|
var import_live_object = require("@dxos/live-object");
|
|
@@ -36,8 +36,8 @@ var __dxlog_file = "/home/runner/work/dxos/dxos/packages/plugins/plugin-space/sr
|
|
|
36
36
|
var app_graph_builder_default = (context) => {
|
|
37
37
|
const resolve = (typename) => context.requestCapabilities(import_app_framework.Capabilities.Metadata).find(({ id }) => id === typename)?.metadata ?? {};
|
|
38
38
|
const spacesNode = {
|
|
39
|
-
id:
|
|
40
|
-
type:
|
|
39
|
+
id: import_chunk_3QWZCN6L.SPACES,
|
|
40
|
+
type: import_chunk_3QWZCN6L.SPACES,
|
|
41
41
|
cacheable: [
|
|
42
42
|
"label",
|
|
43
43
|
"role"
|
|
@@ -46,26 +46,28 @@ var app_graph_builder_default = (context) => {
|
|
|
46
46
|
label: [
|
|
47
47
|
"spaces label",
|
|
48
48
|
{
|
|
49
|
-
ns:
|
|
49
|
+
ns: import_chunk_WZR6OAN3.SPACE_PLUGIN
|
|
50
50
|
}
|
|
51
51
|
],
|
|
52
|
+
icon: "ph--planet--regular",
|
|
52
53
|
testId: "spacePlugin.spaces",
|
|
53
54
|
role: "branch",
|
|
55
|
+
disposition: "collection",
|
|
54
56
|
disabled: true,
|
|
55
57
|
childrenPersistenceClass: "echo",
|
|
56
58
|
onRearrangeChildren: async (nextOrder) => {
|
|
57
59
|
const { graph } = context.requestCapability(import_app_framework.Capabilities.AppGraph);
|
|
58
60
|
const client = context.requestCapability(import_plugin_client.ClientCapabilities.Client);
|
|
59
|
-
graph._sortEdges(
|
|
61
|
+
graph._sortEdges(import_chunk_3QWZCN6L.SPACES, "outbound", nextOrder.map(({ id }) => id));
|
|
60
62
|
const { objects: [spacesOrder] } = await client.spaces.default.db.query(import_echo.Filter.schema(import_echo.Expando, {
|
|
61
|
-
key:
|
|
63
|
+
key: import_chunk_3QWZCN6L.SHARED
|
|
62
64
|
})).run();
|
|
63
65
|
if (spacesOrder) {
|
|
64
66
|
spacesOrder.order = nextOrder.map(({ id }) => id);
|
|
65
67
|
} else {
|
|
66
68
|
import_log.log.warn("spaces order object not found", void 0, {
|
|
67
69
|
F: __dxlog_file,
|
|
68
|
-
L:
|
|
70
|
+
L: 74,
|
|
69
71
|
S: void 0,
|
|
70
72
|
C: (f, a) => f(...a)
|
|
71
73
|
});
|
|
@@ -76,21 +78,21 @@ var app_graph_builder_default = (context) => {
|
|
|
76
78
|
return (0, import_app_framework.contributes)(import_app_framework.Capabilities.AppGraphBuilder, [
|
|
77
79
|
// Primary actions.
|
|
78
80
|
(0, import_plugin_graph.createExtension)({
|
|
79
|
-
id: `${
|
|
80
|
-
|
|
81
|
+
id: `${import_chunk_WZR6OAN3.SPACE_PLUGIN}/primary-actions`,
|
|
82
|
+
position: "hoist",
|
|
81
83
|
filter: (node) => node.id === "root",
|
|
82
84
|
actions: () => [
|
|
83
85
|
{
|
|
84
|
-
id:
|
|
86
|
+
id: import_chunk_6MEOP3DH.SpaceAction.OpenCreateSpace._tag,
|
|
85
87
|
data: async () => {
|
|
86
88
|
const { dispatchPromise: dispatch } = context.requestCapability(import_app_framework.Capabilities.IntentDispatcher);
|
|
87
|
-
await dispatch((0, import_app_framework.createIntent)(
|
|
89
|
+
await dispatch((0, import_app_framework.createIntent)(import_chunk_6MEOP3DH.SpaceAction.OpenCreateSpace));
|
|
88
90
|
},
|
|
89
91
|
properties: {
|
|
90
92
|
label: [
|
|
91
93
|
"create space label",
|
|
92
94
|
{
|
|
93
|
-
ns:
|
|
95
|
+
ns: import_chunk_WZR6OAN3.SPACE_PLUGIN
|
|
94
96
|
}
|
|
95
97
|
],
|
|
96
98
|
icon: "ph--plus--regular",
|
|
@@ -99,16 +101,16 @@ var app_graph_builder_default = (context) => {
|
|
|
99
101
|
}
|
|
100
102
|
},
|
|
101
103
|
{
|
|
102
|
-
id:
|
|
104
|
+
id: import_chunk_6MEOP3DH.SpaceAction.Join._tag,
|
|
103
105
|
data: async () => {
|
|
104
106
|
const { dispatchPromise: dispatch } = context.requestCapability(import_app_framework.Capabilities.IntentDispatcher);
|
|
105
|
-
await dispatch((0, import_app_framework.createIntent)(
|
|
107
|
+
await dispatch((0, import_app_framework.createIntent)(import_chunk_6MEOP3DH.SpaceAction.Join));
|
|
106
108
|
},
|
|
107
109
|
properties: {
|
|
108
110
|
label: [
|
|
109
111
|
"join space label",
|
|
110
112
|
{
|
|
111
|
-
ns:
|
|
113
|
+
ns: import_chunk_WZR6OAN3.SPACE_PLUGIN
|
|
112
114
|
}
|
|
113
115
|
],
|
|
114
116
|
icon: "ph--sign-in--regular",
|
|
@@ -120,18 +122,18 @@ var app_graph_builder_default = (context) => {
|
|
|
120
122
|
}),
|
|
121
123
|
// Create spaces group node.
|
|
122
124
|
(0, import_plugin_graph.createExtension)({
|
|
123
|
-
id: `${
|
|
124
|
-
|
|
125
|
+
id: `${import_chunk_WZR6OAN3.SPACE_PLUGIN}/root`,
|
|
126
|
+
position: "hoist",
|
|
125
127
|
filter: (node) => node.id === "root",
|
|
126
128
|
connector: () => [
|
|
127
129
|
spacesNode
|
|
128
130
|
],
|
|
129
|
-
resolver: ({ id }) => id ===
|
|
131
|
+
resolver: ({ id }) => id === import_chunk_3QWZCN6L.SPACES ? spacesNode : void 0
|
|
130
132
|
}),
|
|
131
133
|
// Create space nodes.
|
|
132
134
|
(0, import_plugin_graph.createExtension)({
|
|
133
|
-
id:
|
|
134
|
-
filter: (node) => node.id ===
|
|
135
|
+
id: import_chunk_3QWZCN6L.SPACES,
|
|
136
|
+
filter: (node) => node.id === import_chunk_3QWZCN6L.SPACES,
|
|
135
137
|
connector: () => {
|
|
136
138
|
const client = context.requestCapability(import_plugin_client.ClientCapabilities.Client);
|
|
137
139
|
const spaces = (0, import_plugin_graph.toSignal)((onChange) => client.spaces.subscribe(() => onChange()).unsubscribe, () => client.spaces.get());
|
|
@@ -139,11 +141,11 @@ var app_graph_builder_default = (context) => {
|
|
|
139
141
|
if (!spaces || !isReady) {
|
|
140
142
|
return;
|
|
141
143
|
}
|
|
142
|
-
const state = context.requestCapability(
|
|
143
|
-
const settings = context.requestCapabilities(import_app_framework.Capabilities.SettingsStore)[0]?.getStore(
|
|
144
|
+
const state = context.requestCapability(import_chunk_UX3U4RU2.SpaceCapabilities.State);
|
|
145
|
+
const settings = context.requestCapabilities(import_app_framework.Capabilities.SettingsStore)[0]?.getStore(import_chunk_WZR6OAN3.SPACE_PLUGIN)?.value;
|
|
144
146
|
try {
|
|
145
|
-
const [spacesOrder] = (0,
|
|
146
|
-
key:
|
|
147
|
+
const [spacesOrder] = (0, import_chunk_3QWZCN6L.memoizeQuery)(client.spaces.default, import_echo.Filter.schema(import_echo.Expando, {
|
|
148
|
+
key: import_chunk_3QWZCN6L.SHARED
|
|
147
149
|
}));
|
|
148
150
|
const order = spacesOrder?.order ?? [];
|
|
149
151
|
const orderMap = new Map(order.map((id, index) => [
|
|
@@ -153,7 +155,7 @@ var app_graph_builder_default = (context) => {
|
|
|
153
155
|
return [
|
|
154
156
|
...spaces.filter((space) => orderMap.has(space.id)).sort((a, b) => orderMap.get(a.id) - orderMap.get(b.id)),
|
|
155
157
|
...spaces.filter((space) => !orderMap.has(space.id))
|
|
156
|
-
].filter((space) => settings?.showHidden ? true : space.state.get() !== import_echo.SpaceState.SPACE_INACTIVE).map((space) => (0,
|
|
158
|
+
].filter((space) => settings?.showHidden ? true : space.state.get() !== import_echo.SpaceState.SPACE_INACTIVE).map((space) => (0, import_chunk_3QWZCN6L.constructSpaceNode)({
|
|
157
159
|
space,
|
|
158
160
|
navigable: state.navigableCollections,
|
|
159
161
|
personal: space === client.spaces.default,
|
|
@@ -180,8 +182,8 @@ var app_graph_builder_default = (context) => {
|
|
|
180
182
|
if (space.state.get() === import_echo.SpaceState.SPACE_INACTIVE) {
|
|
181
183
|
return false;
|
|
182
184
|
} else {
|
|
183
|
-
const state = context.requestCapability(
|
|
184
|
-
return (0,
|
|
185
|
+
const state = context.requestCapability(import_chunk_UX3U4RU2.SpaceCapabilities.State);
|
|
186
|
+
return (0, import_chunk_3QWZCN6L.constructSpaceNode)({
|
|
185
187
|
space,
|
|
186
188
|
navigable: state.navigableCollections,
|
|
187
189
|
personal: space === client.spaces.default,
|
|
@@ -193,14 +195,14 @@ var app_graph_builder_default = (context) => {
|
|
|
193
195
|
}),
|
|
194
196
|
// Create space actions.
|
|
195
197
|
(0, import_plugin_graph.createExtension)({
|
|
196
|
-
id: `${
|
|
198
|
+
id: `${import_chunk_WZR6OAN3.SPACE_PLUGIN}/actions`,
|
|
197
199
|
filter: (node) => (0, import_echo.isSpace)(node.data),
|
|
198
200
|
actions: ({ node }) => {
|
|
199
201
|
const space = node.data;
|
|
200
202
|
const { dispatchPromise: dispatch } = context.requestCapability(import_app_framework.Capabilities.IntentDispatcher);
|
|
201
203
|
const client = context.requestCapability(import_plugin_client.ClientCapabilities.Client);
|
|
202
|
-
const state = context.requestCapability(
|
|
203
|
-
return (0,
|
|
204
|
+
const state = context.requestCapability(import_chunk_UX3U4RU2.SpaceCapabilities.State);
|
|
205
|
+
return (0, import_chunk_3QWZCN6L.constructSpaceActions)({
|
|
204
206
|
space,
|
|
205
207
|
dispatch,
|
|
206
208
|
personal: space === client.spaces.default,
|
|
@@ -210,7 +212,7 @@ var app_graph_builder_default = (context) => {
|
|
|
210
212
|
}),
|
|
211
213
|
// Create nodes for objects in the root collection of a space.
|
|
212
214
|
(0, import_plugin_graph.createExtension)({
|
|
213
|
-
id: `${
|
|
215
|
+
id: `${import_chunk_WZR6OAN3.SPACE_PLUGIN}/root-collection`,
|
|
214
216
|
filter: (node) => (0, import_echo.isSpace)(node.data),
|
|
215
217
|
connector: ({ node }) => {
|
|
216
218
|
const space = node.data;
|
|
@@ -218,12 +220,12 @@ var app_graph_builder_default = (context) => {
|
|
|
218
220
|
if (spaceState !== import_echo.SpaceState.SPACE_READY) {
|
|
219
221
|
return;
|
|
220
222
|
}
|
|
221
|
-
const collection = space.properties[
|
|
223
|
+
const collection = space.properties[import_chunk_6MEOP3DH.CollectionType.typename]?.target;
|
|
222
224
|
if (!collection) {
|
|
223
225
|
return;
|
|
224
226
|
}
|
|
225
|
-
const state = context.requestCapability(
|
|
226
|
-
return collection.objects.map((object) => object.target).filter(import_util.nonNullable).map((object) => (0,
|
|
227
|
+
const state = context.requestCapability(import_chunk_UX3U4RU2.SpaceCapabilities.State);
|
|
228
|
+
return collection.objects.map((object) => object.target).filter(import_util.nonNullable).map((object) => (0, import_chunk_3QWZCN6L.createObjectNode)({
|
|
227
229
|
object,
|
|
228
230
|
space,
|
|
229
231
|
resolve,
|
|
@@ -233,16 +235,16 @@ var app_graph_builder_default = (context) => {
|
|
|
233
235
|
}),
|
|
234
236
|
// Create nodes for objects in a collection or by its fully qualified id.
|
|
235
237
|
(0, import_plugin_graph.createExtension)({
|
|
236
|
-
id: `${
|
|
237
|
-
filter: (node) => node.data instanceof
|
|
238
|
+
id: `${import_chunk_WZR6OAN3.SPACE_PLUGIN}/objects`,
|
|
239
|
+
filter: (node) => node.data instanceof import_chunk_6MEOP3DH.CollectionType,
|
|
238
240
|
connector: ({ node }) => {
|
|
239
241
|
const collection = node.data;
|
|
240
242
|
const space = (0, import_echo.getSpace)(collection);
|
|
241
243
|
if (!space) {
|
|
242
244
|
return;
|
|
243
245
|
}
|
|
244
|
-
const state = context.requestCapability(
|
|
245
|
-
return collection.objects.map((object) => object.target).filter(import_util.nonNullable).map((object) => (0,
|
|
246
|
+
const state = context.requestCapability(import_chunk_UX3U4RU2.SpaceCapabilities.State);
|
|
247
|
+
return collection.objects.map((object) => object.target).filter(import_util.nonNullable).map((object) => (0, import_chunk_3QWZCN6L.createObjectNode)({
|
|
246
248
|
object,
|
|
247
249
|
space,
|
|
248
250
|
resolve,
|
|
@@ -266,7 +268,7 @@ var app_graph_builder_default = (context) => {
|
|
|
266
268
|
if (spaceState !== import_echo.SpaceState.SPACE_READY) {
|
|
267
269
|
return;
|
|
268
270
|
}
|
|
269
|
-
const [object] = (0,
|
|
271
|
+
const [object] = (0, import_chunk_3QWZCN6L.memoizeQuery)(space, {
|
|
270
272
|
id: objectId
|
|
271
273
|
});
|
|
272
274
|
if (!object) {
|
|
@@ -275,8 +277,8 @@ var app_graph_builder_default = (context) => {
|
|
|
275
277
|
if ((0, import_live_object.isDeleted)(object)) {
|
|
276
278
|
return false;
|
|
277
279
|
} else {
|
|
278
|
-
const state = context.requestCapability(
|
|
279
|
-
return (0,
|
|
280
|
+
const state = context.requestCapability(import_chunk_UX3U4RU2.SpaceCapabilities.State);
|
|
281
|
+
return (0, import_chunk_3QWZCN6L.createObjectNode)({
|
|
280
282
|
object,
|
|
281
283
|
space,
|
|
282
284
|
resolve,
|
|
@@ -287,12 +289,12 @@ var app_graph_builder_default = (context) => {
|
|
|
287
289
|
}),
|
|
288
290
|
// Create collection actions and action groups.
|
|
289
291
|
(0, import_plugin_graph.createExtension)({
|
|
290
|
-
id: `${
|
|
292
|
+
id: `${import_chunk_WZR6OAN3.SPACE_PLUGIN}/object-actions`,
|
|
291
293
|
filter: (node) => (0, import_echo.isEchoObject)(node.data),
|
|
292
294
|
actions: ({ node }) => {
|
|
293
295
|
const { dispatchPromise: dispatch } = context.requestCapability(import_app_framework.Capabilities.IntentDispatcher);
|
|
294
|
-
const state = context.requestCapability(
|
|
295
|
-
return (0,
|
|
296
|
+
const state = context.requestCapability(import_chunk_UX3U4RU2.SpaceCapabilities.State);
|
|
297
|
+
return (0, import_chunk_3QWZCN6L.constructObjectActions)({
|
|
296
298
|
node,
|
|
297
299
|
dispatch,
|
|
298
300
|
navigable: state.navigableCollections
|
|
@@ -301,7 +303,7 @@ var app_graph_builder_default = (context) => {
|
|
|
301
303
|
}),
|
|
302
304
|
// Create nodes for object settings.
|
|
303
305
|
(0, import_plugin_graph.createExtension)({
|
|
304
|
-
id: `${
|
|
306
|
+
id: `${import_chunk_WZR6OAN3.SPACE_PLUGIN}/settings-for-subject`,
|
|
305
307
|
resolver: ({ id }) => {
|
|
306
308
|
if (!id.endsWith("~settings")) {
|
|
307
309
|
return;
|
|
@@ -317,12 +319,12 @@ var app_graph_builder_default = (context) => {
|
|
|
317
319
|
const label2 = space ? space.properties.name || [
|
|
318
320
|
"unnamed space label",
|
|
319
321
|
{
|
|
320
|
-
ns:
|
|
322
|
+
ns: import_chunk_WZR6OAN3.SPACE_PLUGIN
|
|
321
323
|
}
|
|
322
324
|
] : [
|
|
323
325
|
"unnamed object settings label",
|
|
324
326
|
{
|
|
325
|
-
ns:
|
|
327
|
+
ns: import_chunk_WZR6OAN3.SPACE_PLUGIN
|
|
326
328
|
}
|
|
327
329
|
];
|
|
328
330
|
return {
|
|
@@ -338,7 +340,7 @@ var app_graph_builder_default = (context) => {
|
|
|
338
340
|
}
|
|
339
341
|
};
|
|
340
342
|
}
|
|
341
|
-
const [object] = (0,
|
|
343
|
+
const [object] = (0, import_chunk_3QWZCN6L.memoizeQuery)(space, {
|
|
342
344
|
id: objectId
|
|
343
345
|
});
|
|
344
346
|
if (!object || !subjectId) {
|
|
@@ -348,7 +350,7 @@ var app_graph_builder_default = (context) => {
|
|
|
348
350
|
const label = meta.label?.(object) || object.name || meta.placeholder || [
|
|
349
351
|
"unnamed object settings label",
|
|
350
352
|
{
|
|
351
|
-
ns:
|
|
353
|
+
ns: import_chunk_WZR6OAN3.SPACE_PLUGIN
|
|
352
354
|
}
|
|
353
355
|
];
|
|
354
356
|
return {
|
|
@@ -365,4 +367,4 @@ var app_graph_builder_default = (context) => {
|
|
|
365
367
|
})
|
|
366
368
|
]);
|
|
367
369
|
};
|
|
368
|
-
//# sourceMappingURL=app-graph-builder-
|
|
370
|
+
//# sourceMappingURL=app-graph-builder-ZOPG4MOS.cjs.map
|
package/dist/lib/node/{app-graph-builder-GKLVZ4PM.cjs.map → app-graph-builder-ZOPG4MOS.cjs.map}
RENAMED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
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 parseId,\n type ReactiveEchoObject,\n SPACE_ID_LENGTH,\n SpaceState,\n type Space,\n} from '@dxos/client/echo';\nimport { getTypename, isDeleted } from '@dxos/live-object';\nimport { log } from '@dxos/log';\nimport { ClientCapabilities } from '@dxos/plugin-client';\nimport { createExtension, toSignal, type Node } from '@dxos/plugin-graph';\nimport { nonNullable } 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 testId: 'spacePlugin.spaces',\n role: 'branch',\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 disposition: 'hoist',\n filter: (node): node is Node<null> => node.id === 'root',\n actions: () => [\n {\n id: SpaceAction.OpenCreateSpace._tag,\n data: async () => {\n const { dispatchPromise: dispatch } = context.requestCapability(Capabilities.IntentDispatcher);\n await dispatch(createIntent(SpaceAction.OpenCreateSpace));\n },\n properties: {\n label: ['create space label', { ns: SPACE_PLUGIN }],\n icon: 'ph--plus--regular',\n testId: 'spacePlugin.createSpace',\n disposition: 'item',\n },\n },\n {\n id: SpaceAction.Join._tag,\n data: async () => {\n const { dispatchPromise: dispatch } = context.requestCapability(Capabilities.IntentDispatcher);\n await dispatch(createIntent(SpaceAction.Join));\n },\n properties: {\n label: ['join space label', { ns: SPACE_PLUGIN }],\n icon: 'ph--sign-in--regular',\n testId: 'spacePlugin.joinSpace',\n disposition: 'item',\n },\n },\n ],\n }),\n\n // Create spaces group node.\n createExtension({\n id: `${SPACE_PLUGIN}/root`,\n disposition: '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 {\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(nonNullable)\n .map((object) => createObjectNode({ object, space, resolve, navigable: state.navigableCollections }))\n .filter(nonNullable);\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(nonNullable)\n .map((object) => createObjectNode({ object, space, resolve, navigable: state.navigableCollections }))\n .filter(nonNullable);\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 // Create nodes for object settings.\n createExtension({\n id: `${SPACE_PLUGIN}/settings-for-subject`,\n resolver: ({ id }) => {\n // TODO(Zan): Find util (or make one).\n if (!id.endsWith('~settings')) {\n return;\n }\n\n const type = 'orphan-settings-for-subject';\n const icon = 'ph--gear--regular';\n\n const [subjectId] = id.split('~');\n const { spaceId, objectId } = parseId(subjectId);\n const client = context.requestCapability(ClientCapabilities.Client);\n const spaces = toSignal(\n (onChange) => client.spaces.subscribe(() => onChange()).unsubscribe,\n () => client.spaces.get(),\n );\n const space = spaces?.find((space) => space.id === spaceId && space.state.get() === SpaceState.SPACE_READY);\n if (!objectId) {\n const label = space\n ? space.properties.name || ['unnamed space label', { ns: SPACE_PLUGIN }]\n : ['unnamed object settings label', { ns: SPACE_PLUGIN }];\n\n // TODO(wittjosiah): Support comments for arbitrary subjects.\n // This is to ensure that the comments panel is not stuck on an old object.\n return {\n id,\n type,\n data: null,\n properties: {\n icon,\n label,\n showResolvedThreads: false,\n object: null,\n space,\n },\n };\n }\n\n const [object] = memoizeQuery(space, { id: objectId });\n if (!object || !subjectId) {\n return;\n }\n\n const meta = resolve(getTypename(object) ?? '');\n const label = meta.label?.(object) ||\n object.name ||\n meta.placeholder || ['unnamed object settings label', { ns: SPACE_PLUGIN }];\n\n return {\n id,\n type,\n data: null,\n properties: {\n icon,\n label,\n object,\n },\n };\n },\n }),\n ]);\n};\n"],
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;AAIA,2BAA6E;AAC7E,kBAaO;AACP,yBAAuC;AACvC,iBAAoB;AACpB,2BAAmC;AACnC,0BAAqD;AACrD,kBAA4B;;AAe5B,IAAA,4BAAe,CAACA,YAAAA;AACd,QAAMC,UAAU,CAACC,aACfF,QAAQG,oBAAoBC,kCAAaC,QAAQ,EAAEC,KAAK,CAAC,EAAEC,GAAE,MAAOA,OAAOL,QAAAA,GAAWM,YAAY,CAAC;AAErG,QAAMC,aAAa;IACjBF,IAAIG;IACJC,MAAMD;IACNE,WAAW;MAAC;MAAS;;IACrBC,YAAY;MACVC,OAAO;QAAC;QAAgB;UAAEC,IAAIC;QAAa;;MAC3CC,QAAQ;MACRC,MAAM;MACNC,UAAU;MACVC,0BAA0B;MAC1BC,qBAAqB,OAAOC,cAAAA;AAC1B,cAAM,EAAEC,MAAK,
|
|
6
|
-
"names": ["context", "resolve", "typename", "requestCapabilities", "Capabilities", "Metadata", "find", "id", "metadata", "spacesNode", "SPACES", "type", "cacheable", "properties", "label", "ns", "SPACE_PLUGIN", "testId", "role", "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", "
|
|
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 parseId,\n type ReactiveEchoObject,\n SPACE_ID_LENGTH,\n SpaceState,\n type Space,\n} from '@dxos/client/echo';\nimport { getTypename, isDeleted } from '@dxos/live-object';\nimport { log } from '@dxos/log';\nimport { ClientCapabilities } from '@dxos/plugin-client';\nimport { createExtension, toSignal, type Node } from '@dxos/plugin-graph';\nimport { nonNullable } 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.OpenCreateSpace._tag,\n data: async () => {\n const { dispatchPromise: dispatch } = context.requestCapability(Capabilities.IntentDispatcher);\n await dispatch(createIntent(SpaceAction.OpenCreateSpace));\n },\n properties: {\n label: ['create space label', { ns: SPACE_PLUGIN }],\n icon: 'ph--plus--regular',\n testId: 'spacePlugin.createSpace',\n disposition: 'item',\n },\n },\n {\n id: SpaceAction.Join._tag,\n data: async () => {\n const { dispatchPromise: dispatch } = context.requestCapability(Capabilities.IntentDispatcher);\n await dispatch(createIntent(SpaceAction.Join));\n },\n properties: {\n label: ['join space label', { ns: SPACE_PLUGIN }],\n icon: 'ph--sign-in--regular',\n testId: 'spacePlugin.joinSpace',\n disposition: 'item',\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 {\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(nonNullable)\n .map((object) => createObjectNode({ object, space, resolve, navigable: state.navigableCollections }))\n .filter(nonNullable);\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(nonNullable)\n .map((object) => createObjectNode({ object, space, resolve, navigable: state.navigableCollections }))\n .filter(nonNullable);\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 // Create nodes for object settings.\n createExtension({\n id: `${SPACE_PLUGIN}/settings-for-subject`,\n resolver: ({ id }) => {\n // TODO(Zan): Find util (or make one).\n if (!id.endsWith('~settings')) {\n return;\n }\n\n const type = 'orphan-settings-for-subject';\n const icon = 'ph--gear--regular';\n\n const [subjectId] = id.split('~');\n const { spaceId, objectId } = parseId(subjectId);\n const client = context.requestCapability(ClientCapabilities.Client);\n const spaces = toSignal(\n (onChange) => client.spaces.subscribe(() => onChange()).unsubscribe,\n () => client.spaces.get(),\n );\n const space = spaces?.find((space) => space.id === spaceId && space.state.get() === SpaceState.SPACE_READY);\n if (!objectId) {\n const label = space\n ? space.properties.name || ['unnamed space label', { ns: SPACE_PLUGIN }]\n : ['unnamed object settings label', { ns: SPACE_PLUGIN }];\n\n // TODO(wittjosiah): Support comments for arbitrary subjects.\n // This is to ensure that the comments panel is not stuck on an old object.\n return {\n id,\n type,\n data: null,\n properties: {\n icon,\n label,\n showResolvedThreads: false,\n object: null,\n space,\n },\n };\n }\n\n const [object] = memoizeQuery(space, { id: objectId });\n if (!object || !subjectId) {\n return;\n }\n\n const meta = resolve(getTypename(object) ?? '');\n const label = meta.label?.(object) ||\n object.name ||\n meta.placeholder || ['unnamed object settings label', { ns: SPACE_PLUGIN }];\n\n return {\n id,\n type,\n data: null,\n properties: {\n icon,\n label,\n object,\n },\n };\n },\n }),\n ]);\n};\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": ["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", "OpenCreateSpace", "_tag", "data", "dispatchPromise", "dispatch", "IntentDispatcher", "createIntent", "Join", "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", "isSpace", "constructSpaceActions", "migrating", "sdkMigrationRunning", "spaceState", "SPACE_READY", "collection", "CollectionType", "target", "object", "nonNullable", "createObjectNode", "getSpace", "FQ_ID_LENGTH", "spaceId", "objectId", "split", "OBJECT_ID_LENGTH", "isDeleted", "isEchoObject", "constructObjectActions", "endsWith", "subjectId", "parseId", "name", "showResolvedThreads", "meta", "getTypename", "placeholder"]
|
|
7
7
|
}
|
package/dist/lib/node/{app-graph-serializer-RMTU5YSC.cjs → app-graph-serializer-QE2G4MWB.cjs}
RENAMED
|
@@ -16,42 +16,42 @@ 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 app_graph_serializer_QE2G4MWB_exports = {};
|
|
20
|
+
__export(app_graph_serializer_QE2G4MWB_exports, {
|
|
21
21
|
default: () => app_graph_serializer_default
|
|
22
22
|
});
|
|
23
|
-
module.exports = __toCommonJS(
|
|
24
|
-
var
|
|
25
|
-
var
|
|
26
|
-
var
|
|
27
|
-
var
|
|
23
|
+
module.exports = __toCommonJS(app_graph_serializer_QE2G4MWB_exports);
|
|
24
|
+
var import_chunk_D6BFKOXY = require("./chunk-D6BFKOXY.cjs");
|
|
25
|
+
var import_chunk_3QWZCN6L = require("./chunk-3QWZCN6L.cjs");
|
|
26
|
+
var import_chunk_6MEOP3DH = require("./chunk-6MEOP3DH.cjs");
|
|
27
|
+
var import_chunk_WZR6OAN3 = require("./chunk-WZR6OAN3.cjs");
|
|
28
28
|
var import_app_framework = require("@dxos/app-framework");
|
|
29
29
|
var import_echo = require("@dxos/client/echo");
|
|
30
30
|
var import_live_object = require("@dxos/live-object");
|
|
31
31
|
var DIRECTORY_TYPE = "text/directory";
|
|
32
32
|
var app_graph_serializer_default = (context) => (0, import_app_framework.contributes)(import_app_framework.Capabilities.AppGraphSerializer, [
|
|
33
33
|
{
|
|
34
|
-
inputType:
|
|
34
|
+
inputType: import_chunk_3QWZCN6L.SPACES,
|
|
35
35
|
outputType: DIRECTORY_TYPE,
|
|
36
36
|
serialize: (node) => ({
|
|
37
|
-
name:
|
|
38
|
-
data:
|
|
37
|
+
name: import_chunk_D6BFKOXY.translations_default[0]["en-US"][import_chunk_WZR6OAN3.SPACE_PLUGIN]["spaces label"],
|
|
38
|
+
data: import_chunk_D6BFKOXY.translations_default[0]["en-US"][import_chunk_WZR6OAN3.SPACE_PLUGIN]["spaces label"],
|
|
39
39
|
type: DIRECTORY_TYPE
|
|
40
40
|
}),
|
|
41
41
|
deserialize: () => {
|
|
42
42
|
}
|
|
43
43
|
},
|
|
44
44
|
{
|
|
45
|
-
inputType:
|
|
45
|
+
inputType: import_chunk_3QWZCN6L.SPACE_TYPE,
|
|
46
46
|
outputType: DIRECTORY_TYPE,
|
|
47
47
|
serialize: (node) => ({
|
|
48
|
-
name: node.data.properties.name ??
|
|
49
|
-
data: node.data.properties.name ??
|
|
48
|
+
name: node.data.properties.name ?? import_chunk_D6BFKOXY.translations_default[0]["en-US"][import_chunk_WZR6OAN3.SPACE_PLUGIN]["unnamed space label"],
|
|
49
|
+
data: node.data.properties.name ?? import_chunk_D6BFKOXY.translations_default[0]["en-US"][import_chunk_WZR6OAN3.SPACE_PLUGIN]["unnamed space label"],
|
|
50
50
|
type: DIRECTORY_TYPE
|
|
51
51
|
}),
|
|
52
52
|
deserialize: async (data) => {
|
|
53
53
|
const { dispatchPromise: dispatch } = context.requestCapability(import_app_framework.Capabilities.IntentDispatcher);
|
|
54
|
-
const result = await dispatch((0, import_app_framework.createIntent)(
|
|
54
|
+
const result = await dispatch((0, import_app_framework.createIntent)(import_chunk_6MEOP3DH.SpaceAction.Create, {
|
|
55
55
|
name: data.name,
|
|
56
56
|
edgeReplication: true
|
|
57
57
|
}));
|
|
@@ -59,23 +59,23 @@ var app_graph_serializer_default = (context) => (0, import_app_framework.contrib
|
|
|
59
59
|
}
|
|
60
60
|
},
|
|
61
61
|
{
|
|
62
|
-
inputType:
|
|
62
|
+
inputType: import_chunk_6MEOP3DH.CollectionType.typename,
|
|
63
63
|
outputType: DIRECTORY_TYPE,
|
|
64
64
|
serialize: (node) => ({
|
|
65
|
-
name: node.data.name ??
|
|
66
|
-
data: node.data.name ??
|
|
65
|
+
name: node.data.name ?? import_chunk_D6BFKOXY.translations_default[0]["en-US"][import_chunk_WZR6OAN3.SPACE_PLUGIN]["unnamed collection label"],
|
|
66
|
+
data: node.data.name ?? import_chunk_D6BFKOXY.translations_default[0]["en-US"][import_chunk_WZR6OAN3.SPACE_PLUGIN]["unnamed collection label"],
|
|
67
67
|
type: DIRECTORY_TYPE
|
|
68
68
|
}),
|
|
69
69
|
deserialize: async (data, ancestors) => {
|
|
70
70
|
const space = ancestors.find(import_echo.isSpace);
|
|
71
|
-
const collection = ancestors.findLast((ancestor) => ancestor instanceof
|
|
71
|
+
const collection = ancestors.findLast((ancestor) => ancestor instanceof import_chunk_6MEOP3DH.CollectionType) ?? space?.properties[import_chunk_6MEOP3DH.CollectionType.typename]?.target;
|
|
72
72
|
if (!space || !collection) {
|
|
73
73
|
return;
|
|
74
74
|
}
|
|
75
75
|
const { dispatchPromise: dispatch } = context.requestCapability(import_app_framework.Capabilities.IntentDispatcher);
|
|
76
|
-
const result = await dispatch((0, import_app_framework.createIntent)(
|
|
76
|
+
const result = await dispatch((0, import_app_framework.createIntent)(import_chunk_6MEOP3DH.SpaceAction.AddObject, {
|
|
77
77
|
target: collection,
|
|
78
|
-
object: (0, import_live_object.create)(
|
|
78
|
+
object: (0, import_live_object.create)(import_chunk_6MEOP3DH.CollectionType, {
|
|
79
79
|
name: data.name,
|
|
80
80
|
objects: [],
|
|
81
81
|
views: {}
|
|
@@ -85,4 +85,4 @@ var app_graph_serializer_default = (context) => (0, import_app_framework.contrib
|
|
|
85
85
|
}
|
|
86
86
|
}
|
|
87
87
|
]);
|
|
88
|
-
//# sourceMappingURL=app-graph-serializer-
|
|
88
|
+
//# sourceMappingURL=app-graph-serializer-QE2G4MWB.cjs.map
|