@dxos/plugin-space 0.8.0 → 0.8.1-main.013e445
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-MGK5HWPZ.mjs → app-graph-builder-7NG7UNQD.mjs} +5 -5
- package/dist/lib/browser/{app-graph-serializer-FOWFLYGU.mjs → app-graph-serializer-OZNRXG62.mjs} +7 -7
- package/dist/lib/browser/{app-graph-serializer-FOWFLYGU.mjs.map → app-graph-serializer-OZNRXG62.mjs.map} +2 -2
- package/dist/lib/browser/{chunk-23RVI5FZ.mjs → chunk-KV4JWY3Z.mjs} +9 -8
- package/dist/lib/browser/{chunk-23RVI5FZ.mjs.map → chunk-KV4JWY3Z.mjs.map} +3 -3
- package/dist/lib/browser/{chunk-NU7WDVGN.mjs → chunk-O7LODPTY.mjs} +2 -2
- package/dist/lib/browser/{chunk-PCEP3KQY.mjs → chunk-PE2T7DOU.mjs} +22 -21
- package/dist/lib/browser/chunk-PE2T7DOU.mjs.map +7 -0
- package/dist/lib/browser/{chunk-PQXZCNAU.mjs → chunk-PTKYMZWO.mjs} +1 -1
- package/dist/lib/browser/chunk-PTKYMZWO.mjs.map +7 -0
- package/dist/lib/browser/{chunk-ULA2UQJ4.mjs → chunk-TYU27VTL.mjs} +6 -62
- package/dist/lib/browser/chunk-TYU27VTL.mjs.map +7 -0
- package/dist/lib/browser/{chunk-UDWHTKB5.mjs → chunk-VIU4XFXR.mjs} +6 -8
- package/dist/lib/browser/chunk-VIU4XFXR.mjs.map +7 -0
- package/dist/lib/browser/{identity-created-FYGS6TBH.mjs → identity-created-TG52G7RV.mjs} +3 -3
- package/dist/lib/browser/index.mjs +13 -13
- package/dist/lib/browser/index.mjs.map +3 -3
- package/dist/lib/browser/{intent-resolver-GPNAQ2SG.mjs → intent-resolver-XAEHWUHJ.mjs} +11 -9
- package/dist/lib/browser/{intent-resolver-GPNAQ2SG.mjs.map → intent-resolver-XAEHWUHJ.mjs.map} +3 -3
- package/dist/lib/browser/meta.json +1 -1
- package/dist/lib/browser/{react-root-4CCSD7TZ.mjs → react-root-H5WH6EUY.mjs} +6 -6
- package/dist/lib/browser/{react-surface-FKMRI3WV.mjs → react-surface-523S3CFL.mjs} +9 -8
- package/dist/lib/browser/react-surface-523S3CFL.mjs.map +7 -0
- package/dist/lib/browser/{schema-5W3DSY2E.mjs → schema-UOCBWGA4.mjs} +3 -3
- package/dist/lib/browser/schema-tools-6J5ZEDBC.mjs +123 -0
- package/dist/lib/browser/schema-tools-6J5ZEDBC.mjs.map +7 -0
- package/dist/lib/browser/{settings-PHPCXX33.mjs → settings-XCHJUNYL.mjs} +3 -3
- package/dist/lib/browser/{spaces-ready-K47RR7N2.mjs → spaces-ready-VVPJN6TU.mjs} +5 -5
- package/dist/lib/browser/{state-INJ63O57.mjs → state-BUM7SQUV.mjs} +3 -3
- package/dist/lib/browser/types/index.mjs +2 -10
- package/dist/lib/node/{app-graph-builder-ZIUBXRPA.cjs → app-graph-builder-G3O5GZMQ.cjs} +45 -45
- package/dist/lib/node/{app-graph-serializer-VQOGHKXL.cjs → app-graph-serializer-774VMAFT.cjs} +21 -21
- package/dist/lib/node/{app-graph-serializer-VQOGHKXL.cjs.map → app-graph-serializer-774VMAFT.cjs.map} +2 -2
- package/dist/lib/node/{chunk-WAJKBO3J.cjs → chunk-37QRDFMQ.cjs} +10 -70
- package/dist/lib/node/chunk-37QRDFMQ.cjs.map +7 -0
- package/dist/lib/node/{chunk-U6DYXAR3.cjs → chunk-5MWD635N.cjs} +11 -13
- package/dist/lib/node/chunk-5MWD635N.cjs.map +7 -0
- package/dist/lib/node/{chunk-WZR6OAN3.cjs → chunk-6P2DB4QQ.cjs} +4 -4
- package/dist/lib/node/{chunk-WZR6OAN3.cjs.map → chunk-6P2DB4QQ.cjs.map} +2 -2
- package/dist/lib/node/{chunk-OVGKWJOC.cjs → chunk-7BN5N2ND.cjs} +60 -59
- package/dist/lib/node/{chunk-OVGKWJOC.cjs.map → chunk-7BN5N2ND.cjs.map} +3 -3
- package/dist/lib/node/{chunk-QE4GVR6C.cjs → chunk-BN5K3SRF.cjs} +83 -80
- package/dist/lib/node/chunk-BN5K3SRF.cjs.map +7 -0
- package/dist/lib/node/{chunk-YZKNRFHU.cjs → chunk-GRM6AGWI.cjs} +10 -10
- package/dist/lib/node/{identity-created-AXI64BLE.cjs → identity-created-AQCHGXOF.cjs} +7 -7
- package/dist/lib/node/index.cjs +96 -97
- package/dist/lib/node/index.cjs.map +3 -3
- package/dist/lib/node/{intent-resolver-ICHHI6I6.cjs → intent-resolver-7DUDOPMC.cjs} +71 -69
- package/dist/lib/node/{intent-resolver-ICHHI6I6.cjs.map → intent-resolver-7DUDOPMC.cjs.map} +3 -3
- package/dist/lib/node/meta.json +1 -1
- package/dist/lib/node/{react-root-TCBTUOOJ.cjs → react-root-HCFNELCK.cjs} +12 -12
- package/dist/lib/node/{react-surface-JSCCIZS5.cjs → react-surface-VIGVLED7.cjs} +62 -61
- package/dist/lib/node/react-surface-VIGVLED7.cjs.map +7 -0
- package/dist/lib/node/{schema-YN7WVFRX.cjs → schema-EERAOETL.cjs} +7 -7
- package/dist/lib/node/schema-tools-OZS4OC6X.cjs +146 -0
- package/dist/lib/node/schema-tools-OZS4OC6X.cjs.map +7 -0
- package/dist/lib/node/{settings-5QYFWNH7.cjs → settings-VPFJWIWP.cjs} +8 -8
- package/dist/lib/node/{spaces-ready-FQNAKR7G.cjs → spaces-ready-BDKHLPYB.cjs} +14 -14
- package/dist/lib/node/{state-57UE3DYE.cjs → state-AIETH3DE.cjs} +8 -8
- package/dist/lib/node/types/index.cjs +13 -21
- package/dist/lib/node/types/index.cjs.map +2 -2
- package/dist/lib/node-esm/{app-graph-builder-TERVM2SL.mjs → app-graph-builder-LJAESOIB.mjs} +5 -5
- package/dist/lib/node-esm/{app-graph-serializer-GZRSWHEN.mjs → app-graph-serializer-YATEFHDI.mjs} +7 -7
- package/dist/lib/node-esm/{app-graph-serializer-GZRSWHEN.mjs.map → app-graph-serializer-YATEFHDI.mjs.map} +2 -2
- package/dist/lib/node-esm/{chunk-6RSVVEPS.mjs → chunk-AJ4IZAKT.mjs} +2 -2
- package/dist/lib/node-esm/{chunk-HJCEJNW3.mjs → chunk-G6EUAPVP.mjs} +22 -21
- package/dist/lib/node-esm/chunk-G6EUAPVP.mjs.map +7 -0
- package/dist/lib/node-esm/{chunk-TRNZQEEN.mjs → chunk-KNJZGST5.mjs} +6 -62
- package/dist/lib/node-esm/chunk-KNJZGST5.mjs.map +7 -0
- package/dist/lib/node-esm/{chunk-ICCM4YRJ.mjs → chunk-MSWEFAPD.mjs} +1 -1
- package/dist/lib/node-esm/chunk-MSWEFAPD.mjs.map +7 -0
- package/dist/lib/node-esm/{chunk-2TQ2AJEZ.mjs → chunk-TTHJ55CE.mjs} +6 -8
- package/dist/lib/node-esm/chunk-TTHJ55CE.mjs.map +7 -0
- package/dist/lib/node-esm/{chunk-PGH5L7MV.mjs → chunk-XRC7NH6E.mjs} +9 -8
- package/dist/lib/node-esm/{chunk-PGH5L7MV.mjs.map → chunk-XRC7NH6E.mjs.map} +3 -3
- package/dist/lib/node-esm/{identity-created-3CGEXNPO.mjs → identity-created-CK3VMR6Q.mjs} +3 -3
- package/dist/lib/node-esm/index.mjs +13 -13
- package/dist/lib/node-esm/index.mjs.map +3 -3
- package/dist/lib/node-esm/{intent-resolver-VR42K5GE.mjs → intent-resolver-7MLSVU7R.mjs} +11 -9
- package/dist/lib/node-esm/{intent-resolver-VR42K5GE.mjs.map → intent-resolver-7MLSVU7R.mjs.map} +3 -3
- package/dist/lib/node-esm/meta.json +1 -1
- package/dist/lib/node-esm/{react-root-THJBSTQS.mjs → react-root-PLKZW44B.mjs} +6 -6
- package/dist/lib/node-esm/{react-surface-Z3BBQ5HX.mjs → react-surface-DTT3ZJVO.mjs} +9 -8
- package/dist/lib/node-esm/react-surface-DTT3ZJVO.mjs.map +7 -0
- package/dist/lib/node-esm/{schema-LOR2EVGY.mjs → schema-LOOOBN6J.mjs} +3 -3
- package/dist/lib/node-esm/schema-tools-KJVXGDBO.mjs +125 -0
- package/dist/lib/node-esm/schema-tools-KJVXGDBO.mjs.map +7 -0
- package/dist/lib/node-esm/{settings-H6MXTEQM.mjs → settings-2VSJTVUW.mjs} +3 -3
- package/dist/lib/node-esm/{spaces-ready-HKAQG5SA.mjs → spaces-ready-7ROQ7PRB.mjs} +5 -5
- package/dist/lib/node-esm/{state-VYA6OFHD.mjs → state-DWUAP6MH.mjs} +3 -3
- package/dist/lib/node-esm/types/index.mjs +2 -10
- 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/index.d.ts +1 -0
- package/dist/types/src/capabilities/index.d.ts.map +1 -1
- package/dist/types/src/capabilities/intent-resolver.d.ts.map +1 -1
- package/dist/types/src/capabilities/react-surface.d.ts.map +1 -1
- package/dist/types/src/capabilities/schema-tool.test.d.ts +2 -0
- package/dist/types/src/capabilities/schema-tool.test.d.ts.map +1 -0
- package/dist/types/src/capabilities/schema-tools.d.ts +13 -0
- package/dist/types/src/capabilities/schema-tools.d.ts.map +1 -0
- package/dist/types/src/components/AdvancedObjectSettings/AdvancedObjectSettings.d.ts +2 -1
- package/dist/types/src/components/AdvancedObjectSettings/AdvancedObjectSettings.d.ts.map +1 -1
- package/dist/types/src/components/AdvancedObjectSettings/ForeignKeys.d.ts +2 -1
- package/dist/types/src/components/AdvancedObjectSettings/ForeignKeys.d.ts.map +1 -1
- package/dist/types/src/components/AwaitingObject.d.ts +2 -1
- package/dist/types/src/components/AwaitingObject.d.ts.map +1 -1
- package/dist/types/src/components/BaseObjectSettings.d.ts +2 -1
- package/dist/types/src/components/BaseObjectSettings.d.ts.map +1 -1
- package/dist/types/src/components/CollectionMain.d.ts +2 -1
- package/dist/types/src/components/CollectionMain.d.ts.map +1 -1
- package/dist/types/src/components/CollectionSection.d.ts +2 -1
- package/dist/types/src/components/CollectionSection.d.ts.map +1 -1
- package/dist/types/src/components/CreateDialog/CreateObjectDialog.d.ts +2 -1
- package/dist/types/src/components/CreateDialog/CreateObjectDialog.d.ts.map +1 -1
- package/dist/types/src/components/CreateDialog/CreateObjectPanel.d.ts +2 -1
- package/dist/types/src/components/CreateDialog/CreateObjectPanel.d.ts.map +1 -1
- package/dist/types/src/components/CreateDialog/CreateSpaceDialog.d.ts +2 -1
- package/dist/types/src/components/CreateDialog/CreateSpaceDialog.d.ts.map +1 -1
- package/dist/types/src/components/JoinDialog.d.ts +2 -1
- package/dist/types/src/components/JoinDialog.d.ts.map +1 -1
- package/dist/types/src/components/MenuFooter.d.ts +2 -1
- package/dist/types/src/components/MenuFooter.d.ts.map +1 -1
- package/dist/types/src/components/PersistenceStatus.d.ts +2 -1
- package/dist/types/src/components/PersistenceStatus.d.ts.map +1 -1
- package/dist/types/src/components/PopoverAddSpace.d.ts +2 -1
- package/dist/types/src/components/PopoverAddSpace.d.ts.map +1 -1
- package/dist/types/src/components/PopoverRenameObject.d.ts +2 -1
- package/dist/types/src/components/PopoverRenameObject.d.ts.map +1 -1
- package/dist/types/src/components/PopoverRenameSpace.d.ts +2 -1
- package/dist/types/src/components/PopoverRenameSpace.d.ts.map +1 -1
- package/dist/types/src/components/ShareSpaceButton.d.ts +3 -2
- package/dist/types/src/components/ShareSpaceButton.d.ts.map +1 -1
- package/dist/types/src/components/SpacePluginSettings.d.ts +2 -1
- package/dist/types/src/components/SpacePluginSettings.d.ts.map +1 -1
- package/dist/types/src/components/SpacePresence.d.ts +5 -4
- package/dist/types/src/components/SpacePresence.d.ts.map +1 -1
- package/dist/types/src/components/SpacePresence.stories.d.ts +3 -2
- package/dist/types/src/components/SpacePresence.stories.d.ts.map +1 -1
- package/dist/types/src/components/SpaceSettings/SpaceSettingsDialog.d.ts +2 -1
- package/dist/types/src/components/SpaceSettings/SpaceSettingsDialog.d.ts.map +1 -1
- package/dist/types/src/components/SpaceSettings/SpaceSettingsPanel.d.ts +2 -1
- package/dist/types/src/components/SpaceSettings/SpaceSettingsPanel.d.ts.map +1 -1
- package/dist/types/src/components/SyncStatus/InlineSyncStatus.d.ts +2 -1
- package/dist/types/src/components/SyncStatus/InlineSyncStatus.d.ts.map +1 -1
- package/dist/types/src/components/SyncStatus/Space.d.ts +3 -2
- package/dist/types/src/components/SyncStatus/Space.d.ts.map +1 -1
- package/dist/types/src/components/SyncStatus/SyncStatus.d.ts +4 -3
- package/dist/types/src/components/SyncStatus/SyncStatus.d.ts.map +1 -1
- package/dist/types/src/meta.d.ts +2 -5
- package/dist/types/src/meta.d.ts.map +1 -1
- package/dist/types/src/translations.d.ts +5 -12
- package/dist/types/src/translations.d.ts.map +1 -1
- package/dist/types/src/types/thread.d.ts +177 -174
- package/dist/types/src/types/thread.d.ts.map +1 -1
- package/dist/types/src/types/types.d.ts +2 -0
- package/dist/types/src/types/types.d.ts.map +1 -1
- package/dist/types/src/util.d.ts.map +1 -1
- package/package.json +43 -41
- package/src/SpacePlugin.tsx +6 -1
- package/src/capabilities/app-graph-serializer.ts +2 -2
- package/src/capabilities/index.ts +1 -0
- package/src/capabilities/intent-resolver.ts +3 -1
- package/src/capabilities/react-surface.tsx +3 -2
- package/src/capabilities/schema-tool.test.ts +45 -0
- package/src/capabilities/schema-tools.ts +124 -0
- package/src/components/BaseObjectSettings.tsx +3 -1
- package/src/components/CreateDialog/CreateObjectDialog.tsx +3 -6
- package/src/components/PopoverRenameObject.tsx +1 -1
- package/src/meta.ts +2 -2
- package/src/translations.ts +2 -4
- package/src/types/thread.ts +2 -56
- package/src/types/types.ts +3 -0
- package/src/util.tsx +1 -2
- package/dist/lib/browser/chunk-PCEP3KQY.mjs.map +0 -7
- package/dist/lib/browser/chunk-PQXZCNAU.mjs.map +0 -7
- package/dist/lib/browser/chunk-UDWHTKB5.mjs.map +0 -7
- package/dist/lib/browser/chunk-ULA2UQJ4.mjs.map +0 -7
- package/dist/lib/browser/react-surface-FKMRI3WV.mjs.map +0 -7
- package/dist/lib/node/chunk-QE4GVR6C.cjs.map +0 -7
- package/dist/lib/node/chunk-U6DYXAR3.cjs.map +0 -7
- package/dist/lib/node/chunk-WAJKBO3J.cjs.map +0 -7
- package/dist/lib/node/react-surface-JSCCIZS5.cjs.map +0 -7
- package/dist/lib/node-esm/chunk-2TQ2AJEZ.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-HJCEJNW3.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-ICCM4YRJ.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-TRNZQEEN.mjs.map +0 -7
- package/dist/lib/node-esm/react-surface-Z3BBQ5HX.mjs.map +0 -7
- /package/dist/lib/browser/{app-graph-builder-MGK5HWPZ.mjs.map → app-graph-builder-7NG7UNQD.mjs.map} +0 -0
- /package/dist/lib/browser/{chunk-NU7WDVGN.mjs.map → chunk-O7LODPTY.mjs.map} +0 -0
- /package/dist/lib/browser/{identity-created-FYGS6TBH.mjs.map → identity-created-TG52G7RV.mjs.map} +0 -0
- /package/dist/lib/browser/{react-root-4CCSD7TZ.mjs.map → react-root-H5WH6EUY.mjs.map} +0 -0
- /package/dist/lib/browser/{schema-5W3DSY2E.mjs.map → schema-UOCBWGA4.mjs.map} +0 -0
- /package/dist/lib/browser/{settings-PHPCXX33.mjs.map → settings-XCHJUNYL.mjs.map} +0 -0
- /package/dist/lib/browser/{spaces-ready-K47RR7N2.mjs.map → spaces-ready-VVPJN6TU.mjs.map} +0 -0
- /package/dist/lib/browser/{state-INJ63O57.mjs.map → state-BUM7SQUV.mjs.map} +0 -0
- /package/dist/lib/node/{app-graph-builder-ZIUBXRPA.cjs.map → app-graph-builder-G3O5GZMQ.cjs.map} +0 -0
- /package/dist/lib/node/{chunk-YZKNRFHU.cjs.map → chunk-GRM6AGWI.cjs.map} +0 -0
- /package/dist/lib/node/{identity-created-AXI64BLE.cjs.map → identity-created-AQCHGXOF.cjs.map} +0 -0
- /package/dist/lib/node/{react-root-TCBTUOOJ.cjs.map → react-root-HCFNELCK.cjs.map} +0 -0
- /package/dist/lib/node/{schema-YN7WVFRX.cjs.map → schema-EERAOETL.cjs.map} +0 -0
- /package/dist/lib/node/{settings-5QYFWNH7.cjs.map → settings-VPFJWIWP.cjs.map} +0 -0
- /package/dist/lib/node/{spaces-ready-FQNAKR7G.cjs.map → spaces-ready-BDKHLPYB.cjs.map} +0 -0
- /package/dist/lib/node/{state-57UE3DYE.cjs.map → state-AIETH3DE.cjs.map} +0 -0
- /package/dist/lib/node-esm/{app-graph-builder-TERVM2SL.mjs.map → app-graph-builder-LJAESOIB.mjs.map} +0 -0
- /package/dist/lib/node-esm/{chunk-6RSVVEPS.mjs.map → chunk-AJ4IZAKT.mjs.map} +0 -0
- /package/dist/lib/node-esm/{identity-created-3CGEXNPO.mjs.map → identity-created-CK3VMR6Q.mjs.map} +0 -0
- /package/dist/lib/node-esm/{react-root-THJBSTQS.mjs.map → react-root-PLKZW44B.mjs.map} +0 -0
- /package/dist/lib/node-esm/{schema-LOR2EVGY.mjs.map → schema-LOOOBN6J.mjs.map} +0 -0
- /package/dist/lib/node-esm/{settings-H6MXTEQM.mjs.map → settings-2VSJTVUW.mjs.map} +0 -0
- /package/dist/lib/node-esm/{spaces-ready-HKAQG5SA.mjs.map → spaces-ready-7ROQ7PRB.mjs.map} +0 -0
- /package/dist/lib/node-esm/{state-VYA6OFHD.mjs.map → state-DWUAP6MH.mjs.map} +0 -0
|
@@ -24,21 +24,22 @@ import {
|
|
|
24
24
|
SpaceSettingsDialog,
|
|
25
25
|
SpaceSettingsPanel,
|
|
26
26
|
SyncStatus
|
|
27
|
-
} from "./chunk-
|
|
27
|
+
} from "./chunk-PE2T7DOU.mjs";
|
|
28
28
|
import {
|
|
29
29
|
SpaceCapabilities
|
|
30
|
-
} from "./chunk-
|
|
31
|
-
import "./chunk-
|
|
30
|
+
} from "./chunk-O7LODPTY.mjs";
|
|
31
|
+
import "./chunk-KV4JWY3Z.mjs";
|
|
32
32
|
import {
|
|
33
33
|
CollectionType
|
|
34
|
-
} from "./chunk-
|
|
34
|
+
} from "./chunk-TYU27VTL.mjs";
|
|
35
35
|
import {
|
|
36
36
|
SPACE_PLUGIN
|
|
37
|
-
} from "./chunk-
|
|
37
|
+
} from "./chunk-PTKYMZWO.mjs";
|
|
38
38
|
|
|
39
39
|
// packages/plugins/plugin-space/src/capabilities/react-surface.tsx
|
|
40
40
|
import React from "react";
|
|
41
41
|
import { Capabilities, contributes, createSurface, Surface, useCapability } from "@dxos/app-framework";
|
|
42
|
+
import { isInstanceOf } from "@dxos/echo-schema";
|
|
42
43
|
import { SettingsStore } from "@dxos/local-storage";
|
|
43
44
|
import { getSpace, isEchoObject, isReactiveObject, isSpace, SpaceState } from "@dxos/react-client/echo";
|
|
44
45
|
var react_surface_default = ({ createInvitationUrl }) => contributes(Capabilities.ReactSurface, [
|
|
@@ -62,7 +63,7 @@ var react_surface_default = ({ createInvitationUrl }) => contributes(Capabilitie
|
|
|
62
63
|
id: `${SPACE_PLUGIN}/collection-fallback`,
|
|
63
64
|
role: "article",
|
|
64
65
|
position: "fallback",
|
|
65
|
-
filter: (data) => data.subject
|
|
66
|
+
filter: (data) => isInstanceOf(CollectionType, data.subject),
|
|
66
67
|
component: ({ data }) => /* @__PURE__ */ React.createElement(CollectionMain, {
|
|
67
68
|
collection: data.subject
|
|
68
69
|
})
|
|
@@ -192,7 +193,7 @@ var react_surface_default = ({ createInvitationUrl }) => contributes(Capabilitie
|
|
|
192
193
|
createSurface({
|
|
193
194
|
id: `${SPACE_PLUGIN}/collection-section`,
|
|
194
195
|
role: "section",
|
|
195
|
-
filter: (data) => data.subject
|
|
196
|
+
filter: (data) => isInstanceOf(CollectionType, data.subject),
|
|
196
197
|
component: ({ data }) => /* @__PURE__ */ React.createElement(CollectionSection, {
|
|
197
198
|
collection: data.subject
|
|
198
199
|
})
|
|
@@ -222,4 +223,4 @@ var react_surface_default = ({ createInvitationUrl }) => contributes(Capabilitie
|
|
|
222
223
|
export {
|
|
223
224
|
react_surface_default as default
|
|
224
225
|
};
|
|
225
|
-
//# sourceMappingURL=react-surface-
|
|
226
|
+
//# sourceMappingURL=react-surface-523S3CFL.mjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/capabilities/react-surface.tsx"],
|
|
4
|
+
"sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport React from 'react';\n\nimport { Capabilities, contributes, createSurface, Surface, useCapability } from '@dxos/app-framework';\nimport { isInstanceOf } from '@dxos/echo-schema';\nimport { SettingsStore } from '@dxos/local-storage';\nimport {\n getSpace,\n isEchoObject,\n isReactiveObject,\n isSpace,\n SpaceState,\n type ReactiveEchoObject,\n type Space,\n} from '@dxos/react-client/echo';\nimport { type JoinPanelProps } from '@dxos/shell/react';\n\nimport { SpaceCapabilities } from './capabilities';\nimport {\n AdvancedObjectSettings,\n BaseObjectSettings,\n CollectionMain,\n CollectionSection,\n CREATE_OBJECT_DIALOG,\n CREATE_SPACE_DIALOG,\n CreateObjectDialog,\n CreateSpaceDialog,\n InlineSyncStatus,\n JOIN_DIALOG,\n JoinDialog,\n MenuFooter,\n POPOVER_RENAME_OBJECT,\n POPOVER_RENAME_SPACE,\n PopoverRenameObject,\n PopoverRenameSpace,\n SmallPresenceLive,\n SPACE_SETTINGS_DIALOG,\n SpacePluginSettings,\n SpacePresence,\n SpaceSettingsDialog,\n SpaceSettingsPanel,\n SyncStatus,\n type CreateObjectDialogProps,\n type SpaceSettingsDialogProps,\n POPOVER_ADD_SPACE,\n PopoverAddSpace,\n} from '../components';\nimport { SPACE_PLUGIN } from '../meta';\nimport { CollectionType, type SpaceSettingsProps } from '../types';\n\ntype ReactSurfaceOptions = {\n createInvitationUrl: (invitationCode: string) => string;\n};\n\nexport default ({ createInvitationUrl }: ReactSurfaceOptions) =>\n contributes(Capabilities.ReactSurface, [\n createSurface({\n id: `${SPACE_PLUGIN}/article`,\n role: 'article',\n filter: (data): data is { subject: Space } =>\n // TODO(wittjosiah): Need to avoid shotgun parsing space state everywhere.\n isSpace(data.subject) && data.subject.state.get() === SpaceState.SPACE_READY,\n component: ({ data, role, ...rest }) => (\n <Surface\n data={{ id: data.subject.id, subject: data.subject.properties[CollectionType.typename]?.target }}\n role={role}\n {...rest}\n />\n ),\n }),\n createSurface({\n id: `${SPACE_PLUGIN}/collection-fallback`,\n role: 'article',\n position: 'fallback',\n filter: (data): data is { subject: CollectionType } => isInstanceOf(CollectionType, data.subject),\n component: ({ data }) => <CollectionMain collection={data.subject} />,\n }),\n createSurface({\n id: `${SPACE_PLUGIN}/settings-panel`,\n // TODO(burdon): Add role name syntax to minimal plugin docs.\n role: 'complementary--settings',\n filter: (data): data is { subject: Space } => isSpace(data.subject),\n component: ({ data }) => <SpaceSettingsPanel space={data.subject} />,\n }),\n createSurface({\n id: `${SPACE_PLUGIN}/object-settings-base-panel`,\n role: 'complementary--settings',\n position: 'hoist',\n filter: (data): data is { subject: ReactiveEchoObject<any> } => isEchoObject(data.subject),\n component: ({ data }) => <BaseObjectSettings object={data.subject} />,\n }),\n createSurface({\n id: `${SPACE_PLUGIN}/object-settings-advanced-panel`,\n role: 'complementary--settings',\n position: 'fallback',\n filter: (data): data is { subject: ReactiveEchoObject<any> } => isEchoObject(data.subject),\n component: ({ data }) => <AdvancedObjectSettings object={data.subject} />,\n }),\n createSurface({\n id: SPACE_SETTINGS_DIALOG,\n role: 'dialog',\n filter: (data): data is { props: SpaceSettingsDialogProps } => data.component === SPACE_SETTINGS_DIALOG,\n component: ({ data }) => <SpaceSettingsDialog {...data.props} createInvitationUrl={createInvitationUrl} />,\n }),\n createSurface({\n id: JOIN_DIALOG,\n role: 'dialog',\n filter: (data): data is { props: JoinPanelProps } => data.component === JOIN_DIALOG,\n component: ({ data }) => <JoinDialog {...data.props} />,\n }),\n createSurface({\n id: CREATE_SPACE_DIALOG,\n role: 'dialog',\n filter: (data): data is any => data.component === CREATE_SPACE_DIALOG,\n component: () => <CreateSpaceDialog />,\n }),\n createSurface({\n id: CREATE_OBJECT_DIALOG,\n role: 'dialog',\n filter: (data): data is { props: CreateObjectDialogProps } => data.component === CREATE_OBJECT_DIALOG,\n component: ({ data }) => <CreateObjectDialog {...data.props} />,\n }),\n createSurface({\n id: POPOVER_RENAME_SPACE,\n role: 'popover',\n filter: (data): data is { props: Space } => data.component === POPOVER_RENAME_SPACE && isSpace(data.props),\n component: ({ data }) => <PopoverRenameSpace space={data.props} />,\n }),\n createSurface({\n id: POPOVER_RENAME_OBJECT,\n role: 'popover',\n filter: (data): data is { props: ReactiveEchoObject<any> } =>\n data.component === POPOVER_RENAME_OBJECT && isReactiveObject(data.props),\n component: ({ data }) => <PopoverRenameObject object={data.props} />,\n }),\n createSurface({\n id: POPOVER_ADD_SPACE,\n role: 'popover',\n filter: (data): data is any => data.component === POPOVER_ADD_SPACE,\n component: () => <PopoverAddSpace />,\n }),\n createSurface({\n id: `${SPACE_PLUGIN}/navtree-presence`,\n role: 'navtree-item-end',\n filter: (data): data is { id: string; subject: ReactiveEchoObject<any>; open?: boolean } =>\n typeof data.id === 'string' && isEchoObject(data.subject),\n component: ({ data }) => {\n // TODO(wittjosiah): Doesn't need to be mutable but readonly type messes with ComplexMap.\n const state = useCapability(SpaceCapabilities.MutableState);\n return <SmallPresenceLive id={data.id} open={data.open} viewers={state.viewersByObject[data.id]} />;\n },\n }),\n createSurface({\n // TODO(wittjosiah): Attention glyph for non-echo items should be handled elsewhere.\n id: `${SPACE_PLUGIN}/navtree-presence-fallback`,\n role: 'navtree-item-end',\n position: 'fallback',\n filter: (data): data is { id: string; open?: boolean } => typeof data.id === 'string',\n component: ({ data }) => <SmallPresenceLive id={data.id} open={data.open} />,\n }),\n createSurface({\n id: `${SPACE_PLUGIN}/navtree-sync-status`,\n role: 'navtree-item-end',\n filter: (data): data is { subject: Space; open?: boolean } => isSpace(data.subject),\n component: ({ data }) => <InlineSyncStatus space={data.subject} open={data.open} />,\n }),\n createSurface({\n id: `${SPACE_PLUGIN}/navbar-presence`,\n role: 'navbar-end',\n position: 'hoist',\n filter: (data): data is { subject: Space | ReactiveEchoObject<any> } =>\n isSpace(data.subject) || isEchoObject(data.subject),\n component: ({ data }) => {\n const space = isSpace(data.subject) ? data.subject : getSpace(data.subject);\n const object = isSpace(data.subject)\n ? data.subject.state.get() === SpaceState.SPACE_READY\n ? (space?.properties[CollectionType.typename]?.target as CollectionType)\n : undefined\n : data.subject;\n\n return object ? <SpacePresence object={object} /> : null;\n },\n }),\n createSurface({\n id: `${SPACE_PLUGIN}/collection-section`,\n role: 'section',\n filter: (data): data is { subject: CollectionType } => isInstanceOf(CollectionType, data.subject),\n component: ({ data }) => <CollectionSection collection={data.subject} />,\n }),\n createSurface({\n id: `${SPACE_PLUGIN}/settings`,\n role: 'article',\n filter: (data): data is { subject: SettingsStore<SpaceSettingsProps> } =>\n data.subject instanceof SettingsStore && data.subject.prefix === SPACE_PLUGIN,\n component: ({ data: { subject } }) => <SpacePluginSettings settings={subject.value} />,\n }),\n createSurface({\n id: `${SPACE_PLUGIN}/menu-footer`,\n role: 'menu-footer',\n filter: (data): data is { subject: ReactiveEchoObject<any> } => isEchoObject(data.subject),\n component: ({ data }) => <MenuFooter object={data.subject} />,\n }),\n createSurface({\n id: `${SPACE_PLUGIN}/status`,\n role: 'status',\n component: () => <SyncStatus />,\n }),\n ]);\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": ["React", "Capabilities", "contributes", "createSurface", "Surface", "useCapability", "isInstanceOf", "SettingsStore", "getSpace", "isEchoObject", "isReactiveObject", "isSpace", "SpaceState", "createInvitationUrl", "contributes", "Capabilities", "ReactSurface", "createSurface", "id", "SPACE_PLUGIN", "role", "filter", "data", "isSpace", "subject", "state", "get", "SpaceState", "SPACE_READY", "component", "rest", "Surface", "properties", "CollectionType", "typename", "target", "position", "isInstanceOf", "CollectionMain", "collection", "SpaceSettingsPanel", "space", "isEchoObject", "BaseObjectSettings", "object", "AdvancedObjectSettings", "SPACE_SETTINGS_DIALOG", "SpaceSettingsDialog", "props", "JOIN_DIALOG", "JoinDialog", "CREATE_SPACE_DIALOG", "CreateSpaceDialog", "CREATE_OBJECT_DIALOG", "CreateObjectDialog", "POPOVER_RENAME_SPACE", "PopoverRenameSpace", "POPOVER_RENAME_OBJECT", "isReactiveObject", "PopoverRenameObject", "POPOVER_ADD_SPACE", "PopoverAddSpace", "useCapability", "SpaceCapabilities", "MutableState", "SmallPresenceLive", "open", "viewers", "viewersByObject", "InlineSyncStatus", "getSpace", "undefined", "SpacePresence", "CollectionSection", "SettingsStore", "prefix", "SpacePluginSettings", "settings", "value", "MenuFooter", "SyncStatus"]
|
|
7
|
+
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import {
|
|
2
2
|
SpaceCapabilities
|
|
3
|
-
} from "./chunk-
|
|
4
|
-
import "./chunk-
|
|
3
|
+
} from "./chunk-O7LODPTY.mjs";
|
|
4
|
+
import "./chunk-PTKYMZWO.mjs";
|
|
5
5
|
|
|
6
6
|
// packages/plugins/plugin-space/src/capabilities/schema.ts
|
|
7
7
|
import { effect } from "@preact/signals-core";
|
|
@@ -21,4 +21,4 @@ var schema_default = (context) => {
|
|
|
21
21
|
export {
|
|
22
22
|
schema_default as default
|
|
23
23
|
};
|
|
24
|
-
//# sourceMappingURL=schema-
|
|
24
|
+
//# sourceMappingURL=schema-UOCBWGA4.mjs.map
|
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
// packages/plugins/plugin-space/src/capabilities/schema-tools.ts
|
|
2
|
+
import { DescriptionAnnotationId, ExamplesAnnotationId, TitleAnnotationId } from "effect/SchemaAST";
|
|
3
|
+
import { Capabilities, contributes } from "@dxos/app-framework";
|
|
4
|
+
import { defineTool, ToolResult } from "@dxos/artifact";
|
|
5
|
+
import { FormatEnum, FormatEnums, S, SelectOptionSchema, GeoPoint, toJsonSchema } from "@dxos/echo-schema";
|
|
6
|
+
import { invariant } from "@dxos/invariant";
|
|
7
|
+
import { hues } from "@dxos/react-ui-theme";
|
|
8
|
+
import { echoSchemaFromPropertyDefinitions } from "@dxos/schema";
|
|
9
|
+
var __dxlog_file = "/home/runner/work/dxos/dxos/packages/plugins/plugin-space/src/capabilities/schema-tools.ts";
|
|
10
|
+
var TypeNameSchema = S.String.pipe(S.pattern(/^\w+\.\w{2,}\/[\w/]+$/i), S.annotations({
|
|
11
|
+
[TitleAnnotationId]: "TypeName",
|
|
12
|
+
[DescriptionAnnotationId]: "Domain-style type name path. Dashes are not allowed. Use camel case for the final component of the type name.",
|
|
13
|
+
[ExamplesAnnotationId]: [
|
|
14
|
+
"example.com/type/Document",
|
|
15
|
+
"example.com/type/FlightList"
|
|
16
|
+
]
|
|
17
|
+
}));
|
|
18
|
+
var formatDescription = `The format of the property. Additional information:
|
|
19
|
+
${FormatEnum.GeoPoint}: ${JSON.stringify(toJsonSchema(GeoPoint))}
|
|
20
|
+
This tuple is GeoJSON. You must specify \`${FormatEnum.GeoPoint}\` as [Longitude, Latitude]`;
|
|
21
|
+
var PropertyDefinitionSchema = S.Struct({
|
|
22
|
+
name: S.String.annotations({
|
|
23
|
+
[DescriptionAnnotationId]: "The name of the property."
|
|
24
|
+
}),
|
|
25
|
+
format: S.Union(...FormatEnums.map((format) => S.Literal(format))).annotations({
|
|
26
|
+
[DescriptionAnnotationId]: formatDescription
|
|
27
|
+
}),
|
|
28
|
+
config: S.optional(S.Struct({
|
|
29
|
+
options: S.optional(S.Array(SelectOptionSchema).annotations({
|
|
30
|
+
description: `Options for SingleSelect/MultiSelect formats. Available colors: ${hues.join(", ")}`
|
|
31
|
+
}).pipe(S.mutable))
|
|
32
|
+
}))
|
|
33
|
+
}).pipe(S.mutable);
|
|
34
|
+
var SYSTEM_NAMESPACE = "dxos.org/echo/schema";
|
|
35
|
+
var schema_tools_default = () => contributes(Capabilities.Tools, [
|
|
36
|
+
defineTool(SYSTEM_NAMESPACE, {
|
|
37
|
+
name: "list",
|
|
38
|
+
description: "List registered schemas in the space.",
|
|
39
|
+
caption: "Listing registered schemas...",
|
|
40
|
+
schema: S.Struct({}),
|
|
41
|
+
execute: async (_input, { extensions }) => {
|
|
42
|
+
invariant(extensions?.space, "No space.", {
|
|
43
|
+
F: __dxlog_file,
|
|
44
|
+
L: 67,
|
|
45
|
+
S: void 0,
|
|
46
|
+
A: [
|
|
47
|
+
"extensions?.space",
|
|
48
|
+
"'No space.'"
|
|
49
|
+
]
|
|
50
|
+
});
|
|
51
|
+
const space = extensions.space;
|
|
52
|
+
const schemas = await space.db.schemaRegistry.query({}).run();
|
|
53
|
+
return ToolResult.Success(schemas.map((schema) => ({
|
|
54
|
+
typename: schema.typename,
|
|
55
|
+
version: schema.version
|
|
56
|
+
})));
|
|
57
|
+
}
|
|
58
|
+
}),
|
|
59
|
+
defineTool(SYSTEM_NAMESPACE, {
|
|
60
|
+
name: "get",
|
|
61
|
+
description: "Get a specific schema by its typename.",
|
|
62
|
+
caption: "Getting schema...",
|
|
63
|
+
schema: S.Struct({
|
|
64
|
+
typename: S.String.annotations({
|
|
65
|
+
description: "The fully qualified typename of the schema."
|
|
66
|
+
})
|
|
67
|
+
}),
|
|
68
|
+
execute: async ({ typename }, { extensions }) => {
|
|
69
|
+
invariant(extensions?.space, "No space.", {
|
|
70
|
+
F: __dxlog_file,
|
|
71
|
+
L: 89,
|
|
72
|
+
S: void 0,
|
|
73
|
+
A: [
|
|
74
|
+
"extensions?.space",
|
|
75
|
+
"'No space.'"
|
|
76
|
+
]
|
|
77
|
+
});
|
|
78
|
+
const space = extensions.space;
|
|
79
|
+
const schema = await space.db.schemaRegistry.query({
|
|
80
|
+
typename
|
|
81
|
+
}).firstOrUndefined();
|
|
82
|
+
if (!schema) {
|
|
83
|
+
return ToolResult.Error(`Schema not found: ${typename}`);
|
|
84
|
+
}
|
|
85
|
+
return ToolResult.Success(schema);
|
|
86
|
+
}
|
|
87
|
+
}),
|
|
88
|
+
defineTool(SYSTEM_NAMESPACE, {
|
|
89
|
+
name: "create",
|
|
90
|
+
description: "Create a new schema with the provided definition.",
|
|
91
|
+
caption: "Creating schema...",
|
|
92
|
+
schema: S.Struct({
|
|
93
|
+
typename: TypeNameSchema.annotations({
|
|
94
|
+
description: 'The fully qualified schema typename. Must start with a domain, and then one or more path components (e.g., "example.com/type/TypeName").'
|
|
95
|
+
}),
|
|
96
|
+
properties: S.Array(PropertyDefinitionSchema).pipe(S.annotations({
|
|
97
|
+
description: "Array of property definitions for the schema."
|
|
98
|
+
}), S.mutable)
|
|
99
|
+
}),
|
|
100
|
+
execute: async ({ typename, properties }, { extensions }) => {
|
|
101
|
+
invariant(extensions?.space, "No space.", {
|
|
102
|
+
F: __dxlog_file,
|
|
103
|
+
L: 115,
|
|
104
|
+
S: void 0,
|
|
105
|
+
A: [
|
|
106
|
+
"extensions?.space",
|
|
107
|
+
"'No space.'"
|
|
108
|
+
]
|
|
109
|
+
});
|
|
110
|
+
const space = extensions.space;
|
|
111
|
+
const schema = echoSchemaFromPropertyDefinitions(typename, properties);
|
|
112
|
+
const [registeredSchema] = await space.db.schemaRegistry.register([
|
|
113
|
+
schema
|
|
114
|
+
]);
|
|
115
|
+
return ToolResult.Success(registeredSchema);
|
|
116
|
+
}
|
|
117
|
+
})
|
|
118
|
+
]);
|
|
119
|
+
export {
|
|
120
|
+
TypeNameSchema,
|
|
121
|
+
schema_tools_default as default
|
|
122
|
+
};
|
|
123
|
+
//# sourceMappingURL=schema-tools-6J5ZEDBC.mjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/capabilities/schema-tools.ts"],
|
|
4
|
+
"sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { DescriptionAnnotationId, ExamplesAnnotationId, TitleAnnotationId } from 'effect/SchemaAST';\n\nimport { Capabilities, contributes, type PromiseIntentDispatcher } from '@dxos/app-framework';\nimport { defineTool, ToolResult } from '@dxos/artifact';\nimport { type Space } from '@dxos/client/echo';\nimport { FormatEnum, FormatEnums, S, SelectOptionSchema, GeoPoint, toJsonSchema } from '@dxos/echo-schema';\nimport { invariant } from '@dxos/invariant';\nimport { hues } from '@dxos/react-ui-theme';\nimport { echoSchemaFromPropertyDefinitions } from '@dxos/schema';\n\n// TODO(burdon): Factor out.\ndeclare global {\n interface ToolContextExtensions {\n space?: Space;\n dispatch?: PromiseIntentDispatcher;\n }\n}\n\n// TODO(ZaymonFC): Move this somewhere common.\nexport const TypeNameSchema = S.String.pipe(\n S.pattern(/^\\w+\\.\\w{2,}\\/[\\w/]+$/i),\n S.annotations({\n [TitleAnnotationId]: 'TypeName',\n [DescriptionAnnotationId]:\n 'Domain-style type name path. Dashes are not allowed. Use camel case for the final component of the type name.',\n [ExamplesAnnotationId]: ['example.com/type/Document', 'example.com/type/FlightList'],\n }),\n);\n\nconst formatDescription = `The format of the property. Additional information:\n ${FormatEnum.GeoPoint}: ${JSON.stringify(toJsonSchema(GeoPoint))}\n This tuple is GeoJSON. You must specify \\`${FormatEnum.GeoPoint}\\` as [Longitude, Latitude]`;\n\n// TODO(ZaymonFC): All properties are default optional, but maybe we should allow for required properties.\nconst PropertyDefinitionSchema = S.Struct({\n name: S.String.annotations({ [DescriptionAnnotationId]: 'The name of the property.' }),\n format: S.Union(...FormatEnums.map((format) => S.Literal(format))).annotations({\n [DescriptionAnnotationId]: formatDescription,\n }),\n config: S.optional(\n S.Struct({\n options: S.optional(\n S.Array(SelectOptionSchema)\n .annotations({\n description: `Options for SingleSelect/MultiSelect formats. Available colors: ${hues.join(', ')}`,\n })\n .pipe(S.mutable),\n ),\n }),\n ),\n}).pipe(S.mutable);\n\nconst SYSTEM_NAMESPACE = 'dxos.org/echo/schema';\n\nexport default () =>\n contributes(Capabilities.Tools, [\n defineTool(SYSTEM_NAMESPACE, {\n name: 'list',\n description: 'List registered schemas in the space.',\n caption: 'Listing registered schemas...',\n schema: S.Struct({}),\n execute: async (_input, { extensions }) => {\n invariant(extensions?.space, 'No space.');\n const space = extensions.space;\n\n const schemas = await space.db.schemaRegistry.query({}).run();\n return ToolResult.Success(\n schemas.map((schema) => ({\n typename: schema.typename,\n version: schema.version,\n })),\n );\n },\n }),\n defineTool(SYSTEM_NAMESPACE, {\n name: 'get',\n description: 'Get a specific schema by its typename.',\n caption: 'Getting schema...',\n schema: S.Struct({\n typename: S.String.annotations({\n description: 'The fully qualified typename of the schema.',\n }),\n }),\n execute: async ({ typename }, { extensions }) => {\n invariant(extensions?.space, 'No space.');\n const space = extensions.space;\n\n const schema = await space.db.schemaRegistry.query({ typename }).firstOrUndefined();\n if (!schema) {\n return ToolResult.Error(`Schema not found: ${typename}`);\n }\n\n return ToolResult.Success(schema);\n },\n }),\n defineTool(SYSTEM_NAMESPACE, {\n name: 'create',\n description: 'Create a new schema with the provided definition.',\n caption: 'Creating schema...',\n schema: S.Struct({\n typename: TypeNameSchema.annotations({\n description:\n 'The fully qualified schema typename. Must start with a domain, and then one or more path components (e.g., \"example.com/type/TypeName\").',\n }),\n properties: S.Array(PropertyDefinitionSchema).pipe(\n S.annotations({ description: 'Array of property definitions for the schema.' }),\n S.mutable,\n ),\n }),\n execute: async ({ typename, properties }, { extensions }) => {\n invariant(extensions?.space, 'No space.');\n const space = extensions.space;\n\n const schema = echoSchemaFromPropertyDefinitions(typename, properties);\n const [registeredSchema] = await space.db.schemaRegistry.register([schema]);\n\n return ToolResult.Success(registeredSchema);\n },\n }),\n ]);\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": ["DescriptionAnnotationId", "ExamplesAnnotationId", "TitleAnnotationId", "Capabilities", "contributes", "defineTool", "ToolResult", "FormatEnum", "FormatEnums", "S", "SelectOptionSchema", "GeoPoint", "toJsonSchema", "invariant", "hues", "echoSchemaFromPropertyDefinitions", "TypeNameSchema", "String", "pipe", "pattern", "annotations", "formatDescription", "JSON", "stringify", "PropertyDefinitionSchema", "Struct", "name", "format", "Union", "map", "Literal", "config", "optional", "options", "Array", "description", "join", "mutable", "SYSTEM_NAMESPACE", "Tools", "caption", "schema", "execute", "_input", "extensions", "space", "schemas", "db", "schemaRegistry", "query", "run", "Success", "typename", "version", "firstOrUndefined", "Error", "properties", "registeredSchema", "register"]
|
|
7
|
+
}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import {
|
|
2
2
|
SpaceSettingsSchema
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-TYU27VTL.mjs";
|
|
4
4
|
import {
|
|
5
5
|
SPACE_PLUGIN
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-PTKYMZWO.mjs";
|
|
7
7
|
|
|
8
8
|
// packages/plugins/plugin-space/src/capabilities/settings.ts
|
|
9
9
|
import { Capabilities, contributes } from "@dxos/app-framework";
|
|
@@ -21,4 +21,4 @@ var settings_default = () => {
|
|
|
21
21
|
export {
|
|
22
22
|
settings_default as default
|
|
23
23
|
};
|
|
24
|
-
//# sourceMappingURL=settings-
|
|
24
|
+
//# sourceMappingURL=settings-XCHJUNYL.mjs.map
|
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
import {
|
|
2
2
|
SpaceCapabilities
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-O7LODPTY.mjs";
|
|
4
4
|
import {
|
|
5
5
|
COMPOSER_SPACE_LOCK,
|
|
6
6
|
SHARED
|
|
7
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-KV4JWY3Z.mjs";
|
|
8
8
|
import {
|
|
9
9
|
SpaceAction
|
|
10
|
-
} from "./chunk-
|
|
11
|
-
import "./chunk-
|
|
10
|
+
} from "./chunk-TYU27VTL.mjs";
|
|
11
|
+
import "./chunk-PTKYMZWO.mjs";
|
|
12
12
|
|
|
13
13
|
// packages/plugins/plugin-space/src/capabilities/spaces-ready.ts
|
|
14
14
|
import { contributes, createIntent, Capabilities, LayoutAction } from "@dxos/app-framework";
|
|
@@ -196,4 +196,4 @@ var spaces_ready_default = async (context) => {
|
|
|
196
196
|
export {
|
|
197
197
|
spaces_ready_default as default
|
|
198
198
|
};
|
|
199
|
-
//# sourceMappingURL=spaces-ready-
|
|
199
|
+
//# sourceMappingURL=spaces-ready-VVPJN6TU.mjs.map
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import {
|
|
2
2
|
SpaceCapabilities
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-O7LODPTY.mjs";
|
|
4
4
|
import {
|
|
5
5
|
SPACE_PLUGIN
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-PTKYMZWO.mjs";
|
|
7
7
|
|
|
8
8
|
// packages/plugins/plugin-space/src/capabilities/state.ts
|
|
9
9
|
import { effect } from "@preact/signals-core";
|
|
@@ -44,4 +44,4 @@ var state_default = (context) => {
|
|
|
44
44
|
export {
|
|
45
45
|
state_default as default
|
|
46
46
|
};
|
|
47
|
-
//# sourceMappingURL=state-
|
|
47
|
+
//# sourceMappingURL=state-BUM7SQUV.mjs.map
|
|
@@ -1,11 +1,7 @@
|
|
|
1
1
|
import {
|
|
2
|
-
ActorSchema,
|
|
3
2
|
ChannelType,
|
|
4
3
|
CollectionAction,
|
|
5
4
|
CollectionType,
|
|
6
|
-
ContactType,
|
|
7
|
-
MessageState,
|
|
8
|
-
MessageType,
|
|
9
5
|
SPACE_ACTION,
|
|
10
6
|
SPACE_DIRECTORY_HANDLE,
|
|
11
7
|
SpaceAction,
|
|
@@ -14,16 +10,12 @@ import {
|
|
|
14
10
|
ThreadStatus,
|
|
15
11
|
ThreadType,
|
|
16
12
|
defineObjectForm
|
|
17
|
-
} from "../chunk-
|
|
18
|
-
import "../chunk-
|
|
13
|
+
} from "../chunk-TYU27VTL.mjs";
|
|
14
|
+
import "../chunk-PTKYMZWO.mjs";
|
|
19
15
|
export {
|
|
20
|
-
ActorSchema,
|
|
21
16
|
ChannelType,
|
|
22
17
|
CollectionAction,
|
|
23
18
|
CollectionType,
|
|
24
|
-
ContactType,
|
|
25
|
-
MessageState,
|
|
26
|
-
MessageType,
|
|
27
19
|
SPACE_ACTION,
|
|
28
20
|
SPACE_DIRECTORY_HANDLE,
|
|
29
21
|
SpaceAction,
|
|
@@ -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_G3O5GZMQ_exports = {};
|
|
20
|
+
__export(app_graph_builder_G3O5GZMQ_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_G3O5GZMQ_exports);
|
|
24
|
+
var import_chunk_GRM6AGWI = require("./chunk-GRM6AGWI.cjs");
|
|
25
|
+
var import_chunk_7BN5N2ND = require("./chunk-7BN5N2ND.cjs");
|
|
26
|
+
var import_chunk_37QRDFMQ = require("./chunk-37QRDFMQ.cjs");
|
|
27
|
+
var import_chunk_6P2DB4QQ = require("./chunk-6P2DB4QQ.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_7BN5N2ND.SPACES,
|
|
40
|
+
type: import_chunk_7BN5N2ND.SPACES,
|
|
41
41
|
cacheable: [
|
|
42
42
|
"label",
|
|
43
43
|
"role"
|
|
@@ -46,7 +46,7 @@ var app_graph_builder_default = (context) => {
|
|
|
46
46
|
label: [
|
|
47
47
|
"spaces label",
|
|
48
48
|
{
|
|
49
|
-
ns:
|
|
49
|
+
ns: import_chunk_6P2DB4QQ.SPACE_PLUGIN
|
|
50
50
|
}
|
|
51
51
|
],
|
|
52
52
|
icon: "ph--planet--regular",
|
|
@@ -58,9 +58,9 @@ var app_graph_builder_default = (context) => {
|
|
|
58
58
|
onRearrangeChildren: async (nextOrder) => {
|
|
59
59
|
const { graph } = context.requestCapability(import_app_framework.Capabilities.AppGraph);
|
|
60
60
|
const client = context.requestCapability(import_plugin_client.ClientCapabilities.Client);
|
|
61
|
-
graph._sortEdges(
|
|
61
|
+
graph._sortEdges(import_chunk_7BN5N2ND.SPACES, "outbound", nextOrder.map(({ id }) => id));
|
|
62
62
|
const { objects: [spacesOrder] } = await client.spaces.default.db.query(import_echo.Filter.schema(import_echo.Expando, {
|
|
63
|
-
key:
|
|
63
|
+
key: import_chunk_7BN5N2ND.SHARED
|
|
64
64
|
})).run();
|
|
65
65
|
if (spacesOrder) {
|
|
66
66
|
spacesOrder.order = nextOrder.map(({ id }) => id);
|
|
@@ -78,21 +78,21 @@ var app_graph_builder_default = (context) => {
|
|
|
78
78
|
return (0, import_app_framework.contributes)(import_app_framework.Capabilities.AppGraphBuilder, [
|
|
79
79
|
// Primary actions.
|
|
80
80
|
(0, import_plugin_graph.createExtension)({
|
|
81
|
-
id: `${
|
|
81
|
+
id: `${import_chunk_6P2DB4QQ.SPACE_PLUGIN}/primary-actions`,
|
|
82
82
|
position: "hoist",
|
|
83
83
|
filter: (node) => node.id === "root",
|
|
84
84
|
actions: () => [
|
|
85
85
|
{
|
|
86
|
-
id:
|
|
86
|
+
id: import_chunk_37QRDFMQ.SpaceAction.AddSpace._tag,
|
|
87
87
|
data: async (params) => {
|
|
88
88
|
const { dispatchPromise: dispatch } = context.requestCapability(import_app_framework.Capabilities.IntentDispatcher);
|
|
89
|
-
await dispatch((0, import_app_framework.createIntent)(
|
|
89
|
+
await dispatch((0, import_app_framework.createIntent)(import_chunk_37QRDFMQ.SpaceAction.AddSpace));
|
|
90
90
|
},
|
|
91
91
|
properties: {
|
|
92
92
|
label: [
|
|
93
93
|
"add space label",
|
|
94
94
|
{
|
|
95
|
-
ns:
|
|
95
|
+
ns: import_chunk_6P2DB4QQ.SPACE_PLUGIN
|
|
96
96
|
}
|
|
97
97
|
],
|
|
98
98
|
icon: "ph--plus--regular",
|
|
@@ -105,18 +105,18 @@ var app_graph_builder_default = (context) => {
|
|
|
105
105
|
}),
|
|
106
106
|
// Create spaces group node.
|
|
107
107
|
(0, import_plugin_graph.createExtension)({
|
|
108
|
-
id: `${
|
|
108
|
+
id: `${import_chunk_6P2DB4QQ.SPACE_PLUGIN}/root`,
|
|
109
109
|
position: "hoist",
|
|
110
110
|
filter: (node) => node.id === "root",
|
|
111
111
|
connector: () => [
|
|
112
112
|
spacesNode
|
|
113
113
|
],
|
|
114
|
-
resolver: ({ id }) => id ===
|
|
114
|
+
resolver: ({ id }) => id === import_chunk_7BN5N2ND.SPACES ? spacesNode : void 0
|
|
115
115
|
}),
|
|
116
116
|
// Create space nodes.
|
|
117
117
|
(0, import_plugin_graph.createExtension)({
|
|
118
|
-
id:
|
|
119
|
-
filter: (node) => node.id ===
|
|
118
|
+
id: import_chunk_7BN5N2ND.SPACES,
|
|
119
|
+
filter: (node) => node.id === import_chunk_7BN5N2ND.SPACES,
|
|
120
120
|
connector: () => {
|
|
121
121
|
const client = context.requestCapability(import_plugin_client.ClientCapabilities.Client);
|
|
122
122
|
const spaces = (0, import_plugin_graph.toSignal)((onChange) => client.spaces.subscribe(() => onChange()).unsubscribe, () => client.spaces.get());
|
|
@@ -124,11 +124,11 @@ var app_graph_builder_default = (context) => {
|
|
|
124
124
|
if (!spaces || !isReady) {
|
|
125
125
|
return;
|
|
126
126
|
}
|
|
127
|
-
const state = context.requestCapability(
|
|
128
|
-
const settings = context.requestCapabilities(import_app_framework.Capabilities.SettingsStore)[0]?.getStore(
|
|
127
|
+
const state = context.requestCapability(import_chunk_GRM6AGWI.SpaceCapabilities.State);
|
|
128
|
+
const settings = context.requestCapabilities(import_app_framework.Capabilities.SettingsStore)[0]?.getStore(import_chunk_6P2DB4QQ.SPACE_PLUGIN)?.value;
|
|
129
129
|
try {
|
|
130
|
-
const [spacesOrder] = (0,
|
|
131
|
-
key:
|
|
130
|
+
const [spacesOrder] = (0, import_chunk_7BN5N2ND.memoizeQuery)(client.spaces.default, import_echo.Filter.schema(import_echo.Expando, {
|
|
131
|
+
key: import_chunk_7BN5N2ND.SHARED
|
|
132
132
|
}));
|
|
133
133
|
const order = spacesOrder?.order ?? [];
|
|
134
134
|
const orderMap = new Map(order.map((id, index) => [
|
|
@@ -138,7 +138,7 @@ var app_graph_builder_default = (context) => {
|
|
|
138
138
|
return [
|
|
139
139
|
...spaces.filter((space) => orderMap.has(space.id)).sort((a, b) => orderMap.get(a.id) - orderMap.get(b.id)),
|
|
140
140
|
...spaces.filter((space) => !orderMap.has(space.id))
|
|
141
|
-
].filter((space) => settings?.showHidden ? true : space.state.get() !== import_echo.SpaceState.SPACE_INACTIVE).map((space) => (0,
|
|
141
|
+
].filter((space) => settings?.showHidden ? true : space.state.get() !== import_echo.SpaceState.SPACE_INACTIVE).map((space) => (0, import_chunk_7BN5N2ND.constructSpaceNode)({
|
|
142
142
|
space,
|
|
143
143
|
navigable: state.navigableCollections,
|
|
144
144
|
personal: space === client.spaces.default,
|
|
@@ -167,8 +167,8 @@ var app_graph_builder_default = (context) => {
|
|
|
167
167
|
} else if (space.state.get() !== import_echo.SpaceState.SPACE_READY) {
|
|
168
168
|
return void 0;
|
|
169
169
|
} else {
|
|
170
|
-
const state = context.requestCapability(
|
|
171
|
-
return (0,
|
|
170
|
+
const state = context.requestCapability(import_chunk_GRM6AGWI.SpaceCapabilities.State);
|
|
171
|
+
return (0, import_chunk_7BN5N2ND.constructSpaceNode)({
|
|
172
172
|
space,
|
|
173
173
|
navigable: state.navigableCollections,
|
|
174
174
|
personal: space === client.spaces.default,
|
|
@@ -180,14 +180,14 @@ var app_graph_builder_default = (context) => {
|
|
|
180
180
|
}),
|
|
181
181
|
// Create space actions.
|
|
182
182
|
(0, import_plugin_graph.createExtension)({
|
|
183
|
-
id: `${
|
|
183
|
+
id: `${import_chunk_6P2DB4QQ.SPACE_PLUGIN}/actions`,
|
|
184
184
|
filter: (node) => (0, import_echo.isSpace)(node.data),
|
|
185
185
|
actions: ({ node }) => {
|
|
186
186
|
const space = node.data;
|
|
187
187
|
const { dispatchPromise: dispatch } = context.requestCapability(import_app_framework.Capabilities.IntentDispatcher);
|
|
188
188
|
const client = context.requestCapability(import_plugin_client.ClientCapabilities.Client);
|
|
189
|
-
const state = context.requestCapability(
|
|
190
|
-
return (0,
|
|
189
|
+
const state = context.requestCapability(import_chunk_GRM6AGWI.SpaceCapabilities.State);
|
|
190
|
+
return (0, import_chunk_7BN5N2ND.constructSpaceActions)({
|
|
191
191
|
space,
|
|
192
192
|
dispatch,
|
|
193
193
|
personal: space === client.spaces.default,
|
|
@@ -197,7 +197,7 @@ var app_graph_builder_default = (context) => {
|
|
|
197
197
|
}),
|
|
198
198
|
// Create nodes for objects in the root collection of a space.
|
|
199
199
|
(0, import_plugin_graph.createExtension)({
|
|
200
|
-
id: `${
|
|
200
|
+
id: `${import_chunk_6P2DB4QQ.SPACE_PLUGIN}/root-collection`,
|
|
201
201
|
filter: (node) => (0, import_echo.isSpace)(node.data),
|
|
202
202
|
connector: ({ node }) => {
|
|
203
203
|
const space = node.data;
|
|
@@ -205,12 +205,12 @@ var app_graph_builder_default = (context) => {
|
|
|
205
205
|
if (spaceState !== import_echo.SpaceState.SPACE_READY) {
|
|
206
206
|
return;
|
|
207
207
|
}
|
|
208
|
-
const collection = space.properties[
|
|
208
|
+
const collection = space.properties[import_chunk_37QRDFMQ.CollectionType.typename]?.target;
|
|
209
209
|
if (!collection) {
|
|
210
210
|
return;
|
|
211
211
|
}
|
|
212
|
-
const state = context.requestCapability(
|
|
213
|
-
return collection.objects.map((object) => object.target).filter(import_util.isNonNullable).map((object) => (0,
|
|
212
|
+
const state = context.requestCapability(import_chunk_GRM6AGWI.SpaceCapabilities.State);
|
|
213
|
+
return collection.objects.map((object) => object.target).filter(import_util.isNonNullable).map((object) => (0, import_chunk_7BN5N2ND.createObjectNode)({
|
|
214
214
|
object,
|
|
215
215
|
space,
|
|
216
216
|
resolve,
|
|
@@ -220,16 +220,16 @@ var app_graph_builder_default = (context) => {
|
|
|
220
220
|
}),
|
|
221
221
|
// Create nodes for objects in a collection or by its fully qualified id.
|
|
222
222
|
(0, import_plugin_graph.createExtension)({
|
|
223
|
-
id: `${
|
|
224
|
-
filter: (node) => node.data instanceof
|
|
223
|
+
id: `${import_chunk_6P2DB4QQ.SPACE_PLUGIN}/objects`,
|
|
224
|
+
filter: (node) => node.data instanceof import_chunk_37QRDFMQ.CollectionType,
|
|
225
225
|
connector: ({ node }) => {
|
|
226
226
|
const collection = node.data;
|
|
227
227
|
const space = (0, import_echo.getSpace)(collection);
|
|
228
228
|
if (!space) {
|
|
229
229
|
return;
|
|
230
230
|
}
|
|
231
|
-
const state = context.requestCapability(
|
|
232
|
-
return collection.objects.map((object) => object.target).filter(import_util.isNonNullable).map((object) => (0,
|
|
231
|
+
const state = context.requestCapability(import_chunk_GRM6AGWI.SpaceCapabilities.State);
|
|
232
|
+
return collection.objects.map((object) => object.target).filter(import_util.isNonNullable).map((object) => (0, import_chunk_7BN5N2ND.createObjectNode)({
|
|
233
233
|
object,
|
|
234
234
|
space,
|
|
235
235
|
resolve,
|
|
@@ -253,7 +253,7 @@ var app_graph_builder_default = (context) => {
|
|
|
253
253
|
if (spaceState !== import_echo.SpaceState.SPACE_READY) {
|
|
254
254
|
return;
|
|
255
255
|
}
|
|
256
|
-
const [object] = (0,
|
|
256
|
+
const [object] = (0, import_chunk_7BN5N2ND.memoizeQuery)(space, {
|
|
257
257
|
id: objectId
|
|
258
258
|
});
|
|
259
259
|
if (!object) {
|
|
@@ -262,8 +262,8 @@ var app_graph_builder_default = (context) => {
|
|
|
262
262
|
if ((0, import_live_object.isDeleted)(object)) {
|
|
263
263
|
return false;
|
|
264
264
|
} else {
|
|
265
|
-
const state = context.requestCapability(
|
|
266
|
-
return (0,
|
|
265
|
+
const state = context.requestCapability(import_chunk_GRM6AGWI.SpaceCapabilities.State);
|
|
266
|
+
return (0, import_chunk_7BN5N2ND.createObjectNode)({
|
|
267
267
|
object,
|
|
268
268
|
space,
|
|
269
269
|
resolve,
|
|
@@ -274,12 +274,12 @@ var app_graph_builder_default = (context) => {
|
|
|
274
274
|
}),
|
|
275
275
|
// Create collection actions and action groups.
|
|
276
276
|
(0, import_plugin_graph.createExtension)({
|
|
277
|
-
id: `${
|
|
277
|
+
id: `${import_chunk_6P2DB4QQ.SPACE_PLUGIN}/object-actions`,
|
|
278
278
|
filter: (node) => (0, import_echo.isEchoObject)(node.data),
|
|
279
279
|
actions: ({ node }) => {
|
|
280
280
|
const { dispatchPromise: dispatch } = context.requestCapability(import_app_framework.Capabilities.IntentDispatcher);
|
|
281
|
-
const state = context.requestCapability(
|
|
282
|
-
return (0,
|
|
281
|
+
const state = context.requestCapability(import_chunk_GRM6AGWI.SpaceCapabilities.State);
|
|
282
|
+
return (0, import_chunk_7BN5N2ND.constructObjectActions)({
|
|
283
283
|
node,
|
|
284
284
|
dispatch,
|
|
285
285
|
navigable: state.navigableCollections
|
|
@@ -288,4 +288,4 @@ var app_graph_builder_default = (context) => {
|
|
|
288
288
|
})
|
|
289
289
|
]);
|
|
290
290
|
};
|
|
291
|
-
//# sourceMappingURL=app-graph-builder-
|
|
291
|
+
//# sourceMappingURL=app-graph-builder-G3O5GZMQ.cjs.map
|