@dxos/plugin-space 0.8.4-main.21d9917 → 0.8.4-main.2244d791bb
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/CollectionArticle-LKTAABXP.mjs +128 -0
- package/dist/lib/browser/CollectionArticle-LKTAABXP.mjs.map +7 -0
- package/dist/lib/browser/{ObjectCardStack-TWHN6C2Y.mjs → ObjectCardStack-CXNBCSMR.mjs} +2 -2
- package/dist/lib/browser/ObjectCardStack-CXNBCSMR.mjs.map +7 -0
- package/dist/lib/browser/{ObjectDetails-GEDIISKK.mjs → ObjectDetails-HXV4IQEM.mjs} +6 -5
- package/dist/lib/browser/ObjectDetails-HXV4IQEM.mjs.map +7 -0
- package/dist/lib/browser/{RecordArticle-W57QE7QV.mjs → RecordArticle-36LDKFWF.mjs} +11 -10
- package/dist/lib/browser/RecordArticle-36LDKFWF.mjs.map +7 -0
- package/dist/lib/browser/{app-graph-builder-SJHTZXZF.mjs → app-graph-builder-GLV46QSI.mjs} +26 -19
- package/dist/lib/browser/app-graph-builder-GLV46QSI.mjs.map +7 -0
- package/dist/lib/browser/{app-graph-serializer-7AT7QMSK.mjs → app-graph-serializer-VOLRDNVE.mjs} +9 -8
- package/dist/lib/browser/app-graph-serializer-VOLRDNVE.mjs.map +7 -0
- package/dist/lib/browser/{chunk-ZT2VPYRM.mjs → chunk-7D63MVRS.mjs} +3 -3
- package/dist/lib/browser/chunk-7D63MVRS.mjs.map +7 -0
- package/dist/lib/browser/{chunk-4WZUGLQQ.mjs → chunk-A7ZCVQGZ.mjs} +10 -9
- package/dist/lib/browser/chunk-A7ZCVQGZ.mjs.map +7 -0
- package/dist/lib/browser/{chunk-CCRSHECL.mjs → chunk-KGLWYGIF.mjs} +4 -3
- package/dist/lib/browser/chunk-KGLWYGIF.mjs.map +7 -0
- package/dist/lib/browser/{chunk-AWVAX26X.mjs → chunk-NF3ZFAB4.mjs} +2 -2
- package/dist/lib/browser/{chunk-SUI34XSA.mjs → chunk-WAOJLA2S.mjs} +12 -12
- package/dist/lib/browser/chunk-WAOJLA2S.mjs.map +7 -0
- package/dist/lib/browser/{chunk-3X2EA2OA.mjs → chunk-XRTOZE23.mjs} +128 -137
- package/dist/lib/browser/chunk-XRTOZE23.mjs.map +7 -0
- package/dist/lib/browser/cli/index.mjs +31 -29
- package/dist/lib/browser/cli/index.mjs.map +3 -3
- package/dist/lib/browser/index.mjs +58 -53
- package/dist/lib/browser/index.mjs.map +3 -3
- package/dist/lib/browser/meta.json +1 -1
- package/dist/lib/browser/{operation-resolver-SIRQT36Z.mjs → operation-resolver-PJJ3PCM7.mjs} +45 -42
- package/dist/lib/browser/operation-resolver-PJJ3PCM7.mjs.map +7 -0
- package/dist/lib/browser/{react-root-PI7VTZUZ.mjs → react-root-MRIDHLHH.mjs} +8 -8
- package/dist/lib/browser/react-root-MRIDHLHH.mjs.map +7 -0
- package/dist/lib/browser/{react-surface-BPE7VWI7.mjs → react-surface-ARZZ343H.mjs} +38 -37
- package/dist/lib/browser/react-surface-ARZZ343H.mjs.map +7 -0
- package/dist/lib/browser/{repair-CJG26D52.mjs → repair-DKU4TUD2.mjs} +2 -2
- package/dist/lib/browser/{settings-ZS2AQ73E.mjs → settings-M2DMD2ZA.mjs} +5 -4
- package/dist/lib/browser/settings-M2DMD2ZA.mjs.map +7 -0
- package/dist/lib/browser/{spaces-ready-OQDGWUOS.mjs → spaces-ready-XWJUJ43N.mjs} +13 -12
- package/dist/lib/browser/spaces-ready-XWJUJ43N.mjs.map +7 -0
- package/dist/lib/browser/{state-7YZQB2KY.mjs → state-V637BLIM.mjs} +5 -5
- package/dist/lib/browser/state-V637BLIM.mjs.map +7 -0
- package/dist/lib/browser/types/index.mjs +1 -1
- package/dist/lib/node-esm/CollectionArticle-ONQMZ7BQ.mjs +129 -0
- package/dist/lib/node-esm/CollectionArticle-ONQMZ7BQ.mjs.map +7 -0
- package/dist/lib/node-esm/{ObjectCardStack-C5ZXRKP7.mjs → ObjectCardStack-EHXPNRQW.mjs} +2 -2
- package/dist/lib/node-esm/ObjectCardStack-EHXPNRQW.mjs.map +7 -0
- package/dist/lib/node-esm/{ObjectDetails-6ZLDRKCO.mjs → ObjectDetails-N73UI4ZL.mjs} +6 -5
- package/dist/lib/node-esm/ObjectDetails-N73UI4ZL.mjs.map +7 -0
- package/dist/lib/node-esm/{RecordArticle-SSV74Z46.mjs → RecordArticle-CMEXNNOZ.mjs} +11 -10
- package/dist/lib/node-esm/RecordArticle-CMEXNNOZ.mjs.map +7 -0
- package/dist/lib/node-esm/{app-graph-builder-HZ3XXDFZ.mjs → app-graph-builder-KCEHEKVS.mjs} +26 -19
- package/dist/lib/node-esm/app-graph-builder-KCEHEKVS.mjs.map +7 -0
- package/dist/lib/node-esm/{app-graph-serializer-WJ2TIQG6.mjs → app-graph-serializer-7C4MV5NB.mjs} +9 -8
- package/dist/lib/node-esm/app-graph-serializer-7C4MV5NB.mjs.map +7 -0
- package/dist/lib/node-esm/{chunk-2SW6S2BB.mjs → chunk-5N3YIAXD.mjs} +3 -3
- package/dist/lib/node-esm/chunk-5N3YIAXD.mjs.map +7 -0
- package/dist/lib/node-esm/{chunk-JOBIWCBC.mjs → chunk-A5A7M37T.mjs} +10 -9
- package/dist/lib/node-esm/chunk-A5A7M37T.mjs.map +7 -0
- package/dist/lib/node-esm/{chunk-7KMYUWSR.mjs → chunk-FB5YNROS.mjs} +12 -12
- package/dist/lib/node-esm/chunk-FB5YNROS.mjs.map +7 -0
- package/dist/lib/node-esm/{chunk-MPL6NHQX.mjs → chunk-NYSDQPNM.mjs} +4 -3
- package/dist/lib/node-esm/chunk-NYSDQPNM.mjs.map +7 -0
- package/dist/lib/node-esm/{chunk-HREWB23G.mjs → chunk-PG7DNOEX.mjs} +2 -2
- package/dist/lib/node-esm/{chunk-EYS3L2NO.mjs → chunk-QDIOQTXY.mjs} +128 -137
- package/dist/lib/node-esm/chunk-QDIOQTXY.mjs.map +7 -0
- package/dist/lib/node-esm/cli/index.mjs +31 -29
- package/dist/lib/node-esm/cli/index.mjs.map +3 -3
- package/dist/lib/node-esm/index.mjs +58 -53
- package/dist/lib/node-esm/index.mjs.map +3 -3
- package/dist/lib/node-esm/meta.json +1 -1
- package/dist/lib/node-esm/{operation-resolver-ZE3XJL5J.mjs → operation-resolver-2K7N4KYC.mjs} +45 -42
- package/dist/lib/node-esm/operation-resolver-2K7N4KYC.mjs.map +7 -0
- package/dist/lib/node-esm/{react-root-KUXM33JI.mjs → react-root-LKSSWFGF.mjs} +8 -8
- package/dist/lib/node-esm/react-root-LKSSWFGF.mjs.map +7 -0
- package/dist/lib/node-esm/{react-surface-STCQKUZ4.mjs → react-surface-QG5RNBPD.mjs} +38 -37
- package/dist/lib/node-esm/react-surface-QG5RNBPD.mjs.map +7 -0
- package/dist/lib/node-esm/{repair-G3ZW3VG3.mjs → repair-C2H6JQCL.mjs} +2 -2
- package/dist/lib/node-esm/{settings-PVI2VG56.mjs → settings-VCPCNBOY.mjs} +5 -4
- package/dist/lib/node-esm/settings-VCPCNBOY.mjs.map +7 -0
- package/dist/lib/node-esm/{spaces-ready-R744OHQG.mjs → spaces-ready-5JOGEWON.mjs} +13 -12
- package/dist/lib/node-esm/spaces-ready-5JOGEWON.mjs.map +7 -0
- package/dist/lib/node-esm/{state-XE5YGPHM.mjs → state-5MCEPWN3.mjs} +5 -5
- package/dist/lib/node-esm/state-5MCEPWN3.mjs.map +7 -0
- package/dist/lib/node-esm/types/index.mjs +1 -1
- package/dist/types/src/SpacePlugin.d.ts.map +1 -1
- package/dist/types/src/capabilities/app-graph-builder/app-graph-builder.d.ts +2 -1
- package/dist/types/src/capabilities/app-graph-builder/app-graph-builder.d.ts.map +1 -1
- package/dist/types/src/capabilities/app-graph-builder/index.d.ts +1 -1
- package/dist/types/src/capabilities/app-graph-builder/index.d.ts.map +1 -1
- package/dist/types/src/capabilities/app-graph-serializer/app-graph-serializer.d.ts +2 -2
- package/dist/types/src/capabilities/app-graph-serializer/app-graph-serializer.d.ts.map +1 -1
- package/dist/types/src/capabilities/app-graph-serializer/index.d.ts +1 -1
- package/dist/types/src/capabilities/app-graph-serializer/index.d.ts.map +1 -1
- package/dist/types/src/capabilities/operation-resolver/index.d.ts +1 -1
- package/dist/types/src/capabilities/operation-resolver/index.d.ts.map +1 -1
- package/dist/types/src/capabilities/operation-resolver/operation-resolver.d.ts +2 -2
- package/dist/types/src/capabilities/operation-resolver/operation-resolver.d.ts.map +1 -1
- package/dist/types/src/capabilities/react-root/react-root.d.ts.map +1 -1
- package/dist/types/src/capabilities/react-surface/index.d.ts +1 -1
- package/dist/types/src/capabilities/react-surface/index.d.ts.map +1 -1
- package/dist/types/src/capabilities/react-surface/react-surface.d.ts +2 -2
- package/dist/types/src/capabilities/react-surface/react-surface.d.ts.map +1 -1
- package/dist/types/src/capabilities/settings/index.d.ts +1 -1
- package/dist/types/src/capabilities/settings/index.d.ts.map +1 -1
- package/dist/types/src/capabilities/settings/settings.d.ts +3 -2
- package/dist/types/src/capabilities/settings/settings.d.ts.map +1 -1
- package/dist/types/src/capabilities/spaces-ready/spaces-ready.d.ts.map +1 -1
- package/dist/types/src/capabilities/state/state.d.ts.map +1 -1
- package/dist/types/src/cli/commands/database/add.d.ts.map +1 -1
- package/dist/types/src/cli/plugin.d.ts.map +1 -1
- package/dist/types/src/components/AwaitingObject.d.ts.map +1 -1
- package/dist/types/src/components/CollectionArticle.d.ts +2 -2
- package/dist/types/src/components/CollectionArticle.d.ts.map +1 -1
- package/dist/types/src/components/CollectionSection.d.ts +1 -1
- package/dist/types/src/components/CollectionSection.d.ts.map +1 -1
- package/dist/types/src/components/CreateDialog/CreateObjectDialog.d.ts.map +1 -1
- package/dist/types/src/components/CreateDialog/CreateObjectDialog.stories.d.ts +1 -1
- package/dist/types/src/components/CreateDialog/CreateObjectPanel.d.ts +4 -1
- package/dist/types/src/components/CreateDialog/CreateObjectPanel.d.ts.map +1 -1
- package/dist/types/src/components/JoinDialog/JoinDialog.d.ts.map +1 -1
- package/dist/types/src/components/MembersContainer/MembersContainer.d.ts.map +1 -1
- package/dist/types/src/components/MembersContainer/MembersContainer.stories.d.ts +1 -1
- package/dist/types/src/components/ObjectDetails/ObjectDetails.d.ts +1 -1
- package/dist/types/src/components/ObjectDetails/ObjectDetails.d.ts.map +1 -1
- package/dist/types/src/components/RecordArticle.d.ts +1 -1
- package/dist/types/src/components/RecordArticle.d.ts.map +1 -1
- package/dist/types/src/components/RecordArticle.stories.d.ts +1 -1
- package/dist/types/src/components/RecordArticle.stories.d.ts.map +1 -1
- package/dist/types/src/components/SchemaContainer.d.ts.map +1 -1
- package/dist/types/src/components/SpacePluginSettings.d.ts.map +1 -1
- package/dist/types/src/components/SpacePresence/SpacePresence.d.ts.map +1 -1
- package/dist/types/src/components/SpaceSettings/SpaceSettingsContainer.d.ts +4 -1
- package/dist/types/src/components/SpaceSettings/SpaceSettingsContainer.d.ts.map +1 -1
- package/dist/types/src/components/SpaceSettings/SpaceSettingsContainer.stories.d.ts +4 -1
- package/dist/types/src/components/SpaceSettings/SpaceSettingsContainer.stories.d.ts.map +1 -1
- package/dist/types/src/components/index.d.ts +3 -3
- package/dist/types/src/components/index.d.ts.map +1 -1
- package/dist/types/src/hooks/useActiveSpace.d.ts.map +1 -1
- package/dist/types/src/types/events.d.ts.map +1 -1
- package/dist/types/src/types/types.d.ts +18 -12
- package/dist/types/src/types/types.d.ts.map +1 -1
- package/dist/types/src/util.d.ts +2 -1
- package/dist/types/src/util.d.ts.map +1 -1
- package/dist/types/tsconfig.tsbuildinfo +1 -1
- package/package.json +66 -65
- package/src/SpacePlugin.ts +59 -40
- package/src/capabilities/app-graph-builder/app-graph-builder.ts +17 -13
- package/src/capabilities/app-graph-serializer/app-graph-serializer.ts +5 -4
- package/src/capabilities/operation-resolver/operation-resolver.ts +31 -29
- package/src/capabilities/react-root/react-root.tsx +3 -3
- package/src/capabilities/react-surface/react-surface.tsx +34 -32
- package/src/capabilities/settings/settings.ts +3 -2
- package/src/capabilities/spaces-ready/spaces-ready.ts +8 -7
- package/src/capabilities/state/state.ts +3 -3
- package/src/cli/commands/database/add.ts +7 -8
- package/src/cli/commands/database/query/query.ts +1 -1
- package/src/cli/commands/database/remove.ts +2 -2
- package/src/cli/commands/database/stats.ts +1 -1
- package/src/cli/plugin.ts +33 -26
- package/src/components/AwaitingObject.tsx +4 -3
- package/src/components/CollectionArticle.tsx +71 -72
- package/src/components/CollectionSection.tsx +1 -1
- package/src/components/CreateDialog/CreateObjectDialog.stories.tsx +1 -1
- package/src/components/CreateDialog/CreateObjectDialog.tsx +20 -17
- package/src/components/CreateDialog/CreateObjectPanel.tsx +38 -39
- package/src/components/CreateDialog/CreateSpaceDialog.tsx +21 -21
- package/src/components/JoinDialog/JoinDialog.tsx +8 -7
- package/src/components/MembersContainer/MembersContainer.stories.tsx +1 -1
- package/src/components/MembersContainer/MembersContainer.tsx +45 -48
- package/src/components/ObjectCardStack/ObjectCardStack.tsx +1 -1
- package/src/components/ObjectDetails/BaseObjectSettings.stories.tsx +4 -4
- package/src/components/ObjectDetails/ObjectDetails.tsx +6 -5
- package/src/components/ObjectRenamePopover/ObjectRenamePopover.tsx +3 -3
- package/src/components/RecordArticle.stories.tsx +6 -5
- package/src/components/RecordArticle.tsx +23 -21
- package/src/components/SchemaContainer.tsx +20 -17
- package/src/components/SpacePluginSettings.tsx +34 -31
- package/src/components/SpacePresence/SpacePresence.stories.tsx +1 -1
- package/src/components/SpacePresence/SpacePresence.tsx +2 -1
- package/src/components/SpaceRenamePopover/SpaceRenamePopover.tsx +3 -3
- package/src/components/SpaceSettings/SpaceSettingsContainer.stories.tsx +1 -1
- package/src/components/SpaceSettings/SpaceSettingsContainer.tsx +161 -179
- package/src/components/SyncStatus/InlineSyncStatus.tsx +1 -1
- package/src/components/SyncStatus/SyncStatus.stories.tsx +1 -1
- package/src/components/ViewEditor.tsx +1 -1
- package/src/hooks/useActiveSpace.ts +5 -4
- package/src/hooks/useInputSurfaceLookup.tsx +3 -3
- package/src/translations.ts +2 -2
- package/src/types/events.ts +3 -2
- package/src/types/types.ts +10 -3
- package/src/util.tsx +9 -6
- package/dist/lib/browser/CollectionArticle-XPNA6EHZ.mjs +0 -129
- package/dist/lib/browser/CollectionArticle-XPNA6EHZ.mjs.map +0 -7
- package/dist/lib/browser/ObjectCardStack-TWHN6C2Y.mjs.map +0 -7
- package/dist/lib/browser/ObjectDetails-GEDIISKK.mjs.map +0 -7
- package/dist/lib/browser/RecordArticle-W57QE7QV.mjs.map +0 -7
- package/dist/lib/browser/app-graph-builder-SJHTZXZF.mjs.map +0 -7
- package/dist/lib/browser/app-graph-serializer-7AT7QMSK.mjs.map +0 -7
- package/dist/lib/browser/chunk-3X2EA2OA.mjs.map +0 -7
- package/dist/lib/browser/chunk-4WZUGLQQ.mjs.map +0 -7
- package/dist/lib/browser/chunk-CCRSHECL.mjs.map +0 -7
- package/dist/lib/browser/chunk-SUI34XSA.mjs.map +0 -7
- package/dist/lib/browser/chunk-ZT2VPYRM.mjs.map +0 -7
- package/dist/lib/browser/operation-resolver-SIRQT36Z.mjs.map +0 -7
- package/dist/lib/browser/react-root-PI7VTZUZ.mjs.map +0 -7
- package/dist/lib/browser/react-surface-BPE7VWI7.mjs.map +0 -7
- package/dist/lib/browser/settings-ZS2AQ73E.mjs.map +0 -7
- package/dist/lib/browser/spaces-ready-OQDGWUOS.mjs.map +0 -7
- package/dist/lib/browser/state-7YZQB2KY.mjs.map +0 -7
- package/dist/lib/node-esm/CollectionArticle-WGHNZNO2.mjs +0 -130
- package/dist/lib/node-esm/CollectionArticle-WGHNZNO2.mjs.map +0 -7
- package/dist/lib/node-esm/ObjectCardStack-C5ZXRKP7.mjs.map +0 -7
- package/dist/lib/node-esm/ObjectDetails-6ZLDRKCO.mjs.map +0 -7
- package/dist/lib/node-esm/RecordArticle-SSV74Z46.mjs.map +0 -7
- package/dist/lib/node-esm/app-graph-builder-HZ3XXDFZ.mjs.map +0 -7
- package/dist/lib/node-esm/app-graph-serializer-WJ2TIQG6.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-2SW6S2BB.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-7KMYUWSR.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-EYS3L2NO.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-JOBIWCBC.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-MPL6NHQX.mjs.map +0 -7
- package/dist/lib/node-esm/operation-resolver-ZE3XJL5J.mjs.map +0 -7
- package/dist/lib/node-esm/react-root-KUXM33JI.mjs.map +0 -7
- package/dist/lib/node-esm/react-surface-STCQKUZ4.mjs.map +0 -7
- package/dist/lib/node-esm/settings-PVI2VG56.mjs.map +0 -7
- package/dist/lib/node-esm/spaces-ready-R744OHQG.mjs.map +0 -7
- package/dist/lib/node-esm/state-XE5YGPHM.mjs.map +0 -7
- /package/dist/lib/browser/{chunk-AWVAX26X.mjs.map → chunk-NF3ZFAB4.mjs.map} +0 -0
- /package/dist/lib/browser/{repair-CJG26D52.mjs.map → repair-DKU4TUD2.mjs.map} +0 -0
- /package/dist/lib/node-esm/{chunk-HREWB23G.mjs.map → chunk-PG7DNOEX.mjs.map} +0 -0
- /package/dist/lib/node-esm/{repair-G3ZW3VG3.mjs.map → repair-C2H6JQCL.mjs.map} +0 -0
package/dist/lib/browser/{operation-resolver-SIRQT36Z.mjs → operation-resolver-PJJ3PCM7.mjs}
RENAMED
|
@@ -9,17 +9,20 @@ import {
|
|
|
9
9
|
COMPOSER_SPACE_LOCK,
|
|
10
10
|
cloneObject,
|
|
11
11
|
getNestedObjects
|
|
12
|
-
} from "./chunk-
|
|
12
|
+
} from "./chunk-WAOJLA2S.mjs";
|
|
13
13
|
import {
|
|
14
14
|
SpaceCapabilities,
|
|
15
15
|
SpaceEvents,
|
|
16
16
|
SpaceOperation
|
|
17
|
-
} from "./chunk-
|
|
18
|
-
import
|
|
17
|
+
} from "./chunk-KGLWYGIF.mjs";
|
|
18
|
+
import {
|
|
19
|
+
meta
|
|
20
|
+
} from "./chunk-HSMQFM57.mjs";
|
|
19
21
|
|
|
20
22
|
// src/capabilities/operation-resolver/operation-resolver.ts
|
|
21
23
|
import * as Effect from "effect/Effect";
|
|
22
|
-
import {
|
|
24
|
+
import { Capabilities, Capability, Plugin, UndoMapping } from "@dxos/app-framework";
|
|
25
|
+
import { AppCapabilities, LayoutOperation } from "@dxos/app-toolkit";
|
|
23
26
|
import { SpaceState, getSpace } from "@dxos/client/echo";
|
|
24
27
|
import { Database, Obj, Query, Ref, Relation, Type } from "@dxos/echo";
|
|
25
28
|
import { EchoDatabaseImpl, Serializer } from "@dxos/echo-db";
|
|
@@ -38,9 +41,9 @@ var __dxlog_file = "/__w/dxos/dxos/packages/plugins/plugin-space/src/capabilitie
|
|
|
38
41
|
var operation_resolver_default = Capability.makeModule(Effect.fnUntraced(function* (props) {
|
|
39
42
|
const { createInvitationUrl, observability } = props;
|
|
40
43
|
const capabilityManager = yield* Capability.Service;
|
|
41
|
-
const resolve = (typename) => capabilityManager.getAll(
|
|
44
|
+
const resolve = (typename) => capabilityManager.getAll(AppCapabilities.Metadata).find(({ id }) => id === typename)?.metadata ?? {};
|
|
42
45
|
return [
|
|
43
|
-
Capability.contributes(
|
|
46
|
+
Capability.contributes(Capabilities.UndoMapping, [
|
|
44
47
|
UndoMapping.make({
|
|
45
48
|
operation: SpaceOperation.DeleteField,
|
|
46
49
|
inverse: SpaceOperation.RestoreField,
|
|
@@ -53,7 +56,7 @@ var operation_resolver_default = Capability.makeModule(Effect.fnUntraced(functio
|
|
|
53
56
|
message: [
|
|
54
57
|
"field deleted label",
|
|
55
58
|
{
|
|
56
|
-
ns:
|
|
59
|
+
ns: meta.id
|
|
57
60
|
}
|
|
58
61
|
]
|
|
59
62
|
}),
|
|
@@ -72,18 +75,18 @@ var operation_resolver_default = Capability.makeModule(Effect.fnUntraced(functio
|
|
|
72
75
|
return ns && input.objects.length === 1 ? [
|
|
73
76
|
"object deleted label",
|
|
74
77
|
{
|
|
75
|
-
ns
|
|
78
|
+
ns: meta.id
|
|
76
79
|
}
|
|
77
80
|
] : [
|
|
78
81
|
"objects deleted label",
|
|
79
82
|
{
|
|
80
|
-
ns:
|
|
83
|
+
ns: meta.id
|
|
81
84
|
}
|
|
82
85
|
];
|
|
83
86
|
}
|
|
84
87
|
})
|
|
85
88
|
]),
|
|
86
|
-
Capability.contributes(
|
|
89
|
+
Capability.contributes(Capabilities.OperationResolver, [
|
|
87
90
|
//
|
|
88
91
|
// Open
|
|
89
92
|
//
|
|
@@ -108,7 +111,7 @@ var operation_resolver_default = Capability.makeModule(Effect.fnUntraced(functio
|
|
|
108
111
|
OperationResolver.make({
|
|
109
112
|
operation: SpaceOperation.Join,
|
|
110
113
|
handler: Effect.fnUntraced(function* (input) {
|
|
111
|
-
yield* Operation.invoke(
|
|
114
|
+
yield* Operation.invoke(LayoutOperation.UpdateDialog, {
|
|
112
115
|
subject: JOIN_DIALOG,
|
|
113
116
|
blockAlign: "start",
|
|
114
117
|
props: {
|
|
@@ -124,7 +127,7 @@ var operation_resolver_default = Capability.makeModule(Effect.fnUntraced(functio
|
|
|
124
127
|
OperationResolver.make({
|
|
125
128
|
operation: SpaceOperation.WaitForObject,
|
|
126
129
|
handler: Effect.fnUntraced(function* (input) {
|
|
127
|
-
yield*
|
|
130
|
+
yield* Capabilities.updateAtomValue(SpaceCapabilities.EphemeralState, (current) => ({
|
|
128
131
|
...current,
|
|
129
132
|
awaiting: input.id
|
|
130
133
|
}));
|
|
@@ -136,7 +139,7 @@ var operation_resolver_default = Capability.makeModule(Effect.fnUntraced(functio
|
|
|
136
139
|
OperationResolver.make({
|
|
137
140
|
operation: SpaceOperation.OpenSettings,
|
|
138
141
|
handler: Effect.fnUntraced(function* (input) {
|
|
139
|
-
yield* Operation.invoke(
|
|
142
|
+
yield* Operation.invoke(LayoutOperation.Open, {
|
|
140
143
|
subject: [
|
|
141
144
|
`properties-settings${ATTENDABLE_PATH_SEPARATOR}${input.space.id}`
|
|
142
145
|
],
|
|
@@ -150,12 +153,12 @@ var operation_resolver_default = Capability.makeModule(Effect.fnUntraced(functio
|
|
|
150
153
|
OperationResolver.make({
|
|
151
154
|
operation: SpaceOperation.RemoveObjects,
|
|
152
155
|
handler: Effect.fnUntraced(function* (input) {
|
|
153
|
-
const layout = yield*
|
|
156
|
+
const layout = yield* Capabilities.getAtomValue(AppCapabilities.Layout);
|
|
154
157
|
const objects = input.objects;
|
|
155
158
|
const space = getSpace(objects[0]);
|
|
156
159
|
invariant(space && objects.every((obj) => Obj.isObject(obj) && getSpace(obj) === space), void 0, {
|
|
157
160
|
F: __dxlog_file,
|
|
158
|
-
L:
|
|
161
|
+
L: 159,
|
|
159
162
|
S: this,
|
|
160
163
|
A: [
|
|
161
164
|
"space && objects.every((obj) => Obj.isObject(obj) && getSpace(obj) === space)",
|
|
@@ -191,7 +194,7 @@ var operation_resolver_default = Capability.makeModule(Effect.fnUntraced(functio
|
|
|
191
194
|
db?.remove(obj);
|
|
192
195
|
}
|
|
193
196
|
if (wasActive.length > 0) {
|
|
194
|
-
yield* Operation.invoke(
|
|
197
|
+
yield* Operation.invoke(LayoutOperation.Close, {
|
|
195
198
|
subject: wasActive
|
|
196
199
|
});
|
|
197
200
|
}
|
|
@@ -210,12 +213,12 @@ var operation_resolver_default = Capability.makeModule(Effect.fnUntraced(functio
|
|
|
210
213
|
OperationResolver.make({
|
|
211
214
|
operation: SpaceOperation.DeleteField,
|
|
212
215
|
handler: Effect.fnUntraced(function* (input) {
|
|
213
|
-
const registry = yield* Capability.get(
|
|
216
|
+
const registry = yield* Capability.get(Capabilities.AtomRegistry);
|
|
214
217
|
const view = input.view;
|
|
215
218
|
const db = Obj.getDatabase(view);
|
|
216
219
|
invariant(db, void 0, {
|
|
217
220
|
F: __dxlog_file,
|
|
218
|
-
L:
|
|
221
|
+
L: 233,
|
|
219
222
|
S: this,
|
|
220
223
|
A: [
|
|
221
224
|
"db",
|
|
@@ -225,7 +228,7 @@ var operation_resolver_default = Capability.makeModule(Effect.fnUntraced(functio
|
|
|
225
228
|
const typename = getTypenameFromQuery(view.query.ast);
|
|
226
229
|
invariant(typename, void 0, {
|
|
227
230
|
F: __dxlog_file,
|
|
228
|
-
L:
|
|
231
|
+
L: 235,
|
|
229
232
|
S: this,
|
|
230
233
|
A: [
|
|
231
234
|
"typename",
|
|
@@ -237,7 +240,7 @@ var operation_resolver_default = Capability.makeModule(Effect.fnUntraced(functio
|
|
|
237
240
|
}).firstOrUndefined());
|
|
238
241
|
invariant(schema, void 0, {
|
|
239
242
|
F: __dxlog_file,
|
|
240
|
-
L:
|
|
243
|
+
L: 237,
|
|
241
244
|
S: this,
|
|
242
245
|
A: [
|
|
243
246
|
"schema",
|
|
@@ -264,9 +267,9 @@ var operation_resolver_default = Capability.makeModule(Effect.fnUntraced(functio
|
|
|
264
267
|
OperationResolver.make({
|
|
265
268
|
operation: SpaceOperation.OpenCreateObject,
|
|
266
269
|
handler: Effect.fnUntraced(function* (input) {
|
|
267
|
-
const ephemeralState = yield*
|
|
270
|
+
const ephemeralState = yield* Capabilities.getAtomValue(SpaceCapabilities.EphemeralState);
|
|
268
271
|
const navigable = input.navigable ?? true;
|
|
269
|
-
yield* Operation.invoke(
|
|
272
|
+
yield* Operation.invoke(LayoutOperation.UpdateDialog, {
|
|
270
273
|
subject: CREATE_OBJECT_DIALOG,
|
|
271
274
|
blockAlign: "start",
|
|
272
275
|
props: {
|
|
@@ -295,7 +298,7 @@ var operation_resolver_default = Capability.makeModule(Effect.fnUntraced(functio
|
|
|
295
298
|
const db = Database.isDatabase(target) ? target : Obj.getDatabase(target);
|
|
296
299
|
invariant(db, "Database not found.", {
|
|
297
300
|
F: __dxlog_file,
|
|
298
|
-
L:
|
|
301
|
+
L: 296,
|
|
299
302
|
S: this,
|
|
300
303
|
A: [
|
|
301
304
|
"db",
|
|
@@ -306,7 +309,7 @@ var operation_resolver_default = Capability.makeModule(Effect.fnUntraced(functio
|
|
|
306
309
|
object,
|
|
307
310
|
target: Database.isDatabase(target) ? void 0 : target,
|
|
308
311
|
hidden: input.hidden
|
|
309
|
-
}).pipe(Effect.provide(Database.
|
|
312
|
+
}).pipe(Effect.provide(Database.layer(db)));
|
|
310
313
|
yield* Operation.schedule(ObservabilityOperation.SendEvent, {
|
|
311
314
|
name: "space.object.add",
|
|
312
315
|
properties: {
|
|
@@ -391,7 +394,7 @@ var operation_resolver_default = Capability.makeModule(Effect.fnUntraced(functio
|
|
|
391
394
|
OperationResolver.make({
|
|
392
395
|
operation: SpaceOperation.OpenCreateSpace,
|
|
393
396
|
handler: Effect.fnUntraced(function* () {
|
|
394
|
-
yield* Operation.invoke(
|
|
397
|
+
yield* Operation.invoke(LayoutOperation.UpdateDialog, {
|
|
395
398
|
subject: CREATE_SPACE_DIALOG,
|
|
396
399
|
blockAlign: "start"
|
|
397
400
|
});
|
|
@@ -461,7 +464,7 @@ var operation_resolver_default = Capability.makeModule(Effect.fnUntraced(functio
|
|
|
461
464
|
handler: Effect.fnUntraced(function* (input) {
|
|
462
465
|
const { space, version: targetVersion } = input;
|
|
463
466
|
if (space.state.get() === SpaceState.SPACE_REQUIRES_MIGRATION) {
|
|
464
|
-
yield*
|
|
467
|
+
yield* Capabilities.updateAtomValue(SpaceCapabilities.EphemeralState, (current) => ({
|
|
465
468
|
...current,
|
|
466
469
|
sdkMigrationRunning: {
|
|
467
470
|
...current.sdkMigrationRunning,
|
|
@@ -469,7 +472,7 @@ var operation_resolver_default = Capability.makeModule(Effect.fnUntraced(functio
|
|
|
469
472
|
}
|
|
470
473
|
}));
|
|
471
474
|
yield* Effect.promise(() => space.internal.migrate());
|
|
472
|
-
yield*
|
|
475
|
+
yield* Capabilities.updateAtomValue(SpaceCapabilities.EphemeralState, (current) => ({
|
|
473
476
|
...current,
|
|
474
477
|
sdkMigrationRunning: {
|
|
475
478
|
...current.sdkMigrationRunning,
|
|
@@ -498,7 +501,7 @@ var operation_resolver_default = Capability.makeModule(Effect.fnUntraced(functio
|
|
|
498
501
|
const db = input.db;
|
|
499
502
|
invariant(db instanceof EchoDatabaseImpl, "Database must be an instance of EchoDatabaseImpl", {
|
|
500
503
|
F: __dxlog_file,
|
|
501
|
-
L:
|
|
504
|
+
L: 485,
|
|
502
505
|
S: this,
|
|
503
506
|
A: [
|
|
504
507
|
"db instanceof EchoDatabaseImpl",
|
|
@@ -521,7 +524,7 @@ var operation_resolver_default = Capability.makeModule(Effect.fnUntraced(functio
|
|
|
521
524
|
OperationResolver.make({
|
|
522
525
|
operation: SpaceOperation.Rename,
|
|
523
526
|
handler: Effect.fnUntraced(function* (input) {
|
|
524
|
-
yield* Operation.invoke(
|
|
527
|
+
yield* Operation.invoke(LayoutOperation.UpdatePopover, {
|
|
525
528
|
subject: SPACE_RENAME_POPOVER,
|
|
526
529
|
anchorId: `dxos.org/ui/${input.caller}/${input.space.id}`,
|
|
527
530
|
props: input.space
|
|
@@ -535,7 +538,7 @@ var operation_resolver_default = Capability.makeModule(Effect.fnUntraced(functio
|
|
|
535
538
|
operation: SpaceOperation.RenameObject,
|
|
536
539
|
handler: Effect.fnUntraced(function* (input) {
|
|
537
540
|
const object = input.object;
|
|
538
|
-
yield* Operation.invoke(
|
|
541
|
+
yield* Operation.invoke(LayoutOperation.UpdatePopover, {
|
|
539
542
|
subject: OBJECT_RENAME_POPOVER,
|
|
540
543
|
anchorId: `dxos.org/ui/${input.caller}/${Obj.getDXN(object).toString()}`,
|
|
541
544
|
props: object
|
|
@@ -548,7 +551,7 @@ var operation_resolver_default = Capability.makeModule(Effect.fnUntraced(functio
|
|
|
548
551
|
OperationResolver.make({
|
|
549
552
|
operation: SpaceOperation.OpenMembers,
|
|
550
553
|
handler: Effect.fnUntraced(function* (input) {
|
|
551
|
-
yield* Operation.invoke(
|
|
554
|
+
yield* Operation.invoke(LayoutOperation.Open, {
|
|
552
555
|
subject: [
|
|
553
556
|
`members-settings${ATTENDABLE_PATH_SEPARATOR}${input.space.id}`
|
|
554
557
|
],
|
|
@@ -601,7 +604,7 @@ var operation_resolver_default = Capability.makeModule(Effect.fnUntraced(functio
|
|
|
601
604
|
const space = client.spaces.get(db.spaceId);
|
|
602
605
|
invariant(space, "Space not found", {
|
|
603
606
|
F: __dxlog_file,
|
|
604
|
-
L:
|
|
607
|
+
L: 584,
|
|
605
608
|
S: this,
|
|
606
609
|
A: [
|
|
607
610
|
"space",
|
|
@@ -646,7 +649,7 @@ var operation_resolver_default = Capability.makeModule(Effect.fnUntraced(functio
|
|
|
646
649
|
input.schema
|
|
647
650
|
]));
|
|
648
651
|
const schema = schemas[0];
|
|
649
|
-
Obj.change(schema.
|
|
652
|
+
Obj.change(schema.persistentSchema, (s) => {
|
|
650
653
|
if (input.name) {
|
|
651
654
|
s.name = input.name;
|
|
652
655
|
}
|
|
@@ -676,7 +679,7 @@ var operation_resolver_default = Capability.makeModule(Effect.fnUntraced(functio
|
|
|
676
679
|
});
|
|
677
680
|
return {
|
|
678
681
|
id: schema.id,
|
|
679
|
-
object: schema.
|
|
682
|
+
object: schema.persistentSchema,
|
|
680
683
|
schema
|
|
681
684
|
};
|
|
682
685
|
})
|
|
@@ -709,7 +712,7 @@ var operation_resolver_default = Capability.makeModule(Effect.fnUntraced(functio
|
|
|
709
712
|
const db = Obj.getDatabase(object);
|
|
710
713
|
invariant(db, "Database not found.", {
|
|
711
714
|
F: __dxlog_file,
|
|
712
|
-
L:
|
|
715
|
+
L: 683,
|
|
713
716
|
S: this,
|
|
714
717
|
A: [
|
|
715
718
|
"db",
|
|
@@ -729,12 +732,12 @@ var operation_resolver_default = Capability.makeModule(Effect.fnUntraced(functio
|
|
|
729
732
|
OperationResolver.make({
|
|
730
733
|
operation: SpaceOperation.RestoreField,
|
|
731
734
|
handler: Effect.fnUntraced(function* (input) {
|
|
732
|
-
const registry = yield* Capability.get(
|
|
735
|
+
const registry = yield* Capability.get(Capabilities.AtomRegistry);
|
|
733
736
|
const view = input.view;
|
|
734
737
|
const db = Obj.getDatabase(view);
|
|
735
738
|
invariant(db, void 0, {
|
|
736
739
|
F: __dxlog_file,
|
|
737
|
-
L:
|
|
740
|
+
L: 698,
|
|
738
741
|
S: this,
|
|
739
742
|
A: [
|
|
740
743
|
"db",
|
|
@@ -744,7 +747,7 @@ var operation_resolver_default = Capability.makeModule(Effect.fnUntraced(functio
|
|
|
744
747
|
const typename = getTypenameFromQuery(view.query.ast);
|
|
745
748
|
invariant(typename, void 0, {
|
|
746
749
|
F: __dxlog_file,
|
|
747
|
-
L:
|
|
750
|
+
L: 700,
|
|
748
751
|
S: this,
|
|
749
752
|
A: [
|
|
750
753
|
"typename",
|
|
@@ -756,7 +759,7 @@ var operation_resolver_default = Capability.makeModule(Effect.fnUntraced(functio
|
|
|
756
759
|
}).firstOrUndefined());
|
|
757
760
|
invariant(schema, void 0, {
|
|
758
761
|
F: __dxlog_file,
|
|
759
|
-
L:
|
|
762
|
+
L: 702,
|
|
760
763
|
S: this,
|
|
761
764
|
A: [
|
|
762
765
|
"schema",
|
|
@@ -789,7 +792,7 @@ var operation_resolver_default = Capability.makeModule(Effect.fnUntraced(functio
|
|
|
789
792
|
const space = getSpace(objects[0]);
|
|
790
793
|
invariant(space, void 0, {
|
|
791
794
|
F: __dxlog_file,
|
|
792
|
-
L:
|
|
795
|
+
L: 730,
|
|
793
796
|
S: this,
|
|
794
797
|
A: [
|
|
795
798
|
"space",
|
|
@@ -812,7 +815,7 @@ var operation_resolver_default = Capability.makeModule(Effect.fnUntraced(functio
|
|
|
812
815
|
});
|
|
813
816
|
});
|
|
814
817
|
if (wasActive.length > 0) {
|
|
815
|
-
yield* Operation.invoke(
|
|
818
|
+
yield* Operation.invoke(LayoutOperation.Open, {
|
|
816
819
|
subject: wasActive
|
|
817
820
|
});
|
|
818
821
|
}
|
|
@@ -824,4 +827,4 @@ var operation_resolver_default = Capability.makeModule(Effect.fnUntraced(functio
|
|
|
824
827
|
export {
|
|
825
828
|
operation_resolver_default as default
|
|
826
829
|
};
|
|
827
|
-
//# sourceMappingURL=operation-resolver-
|
|
830
|
+
//# sourceMappingURL=operation-resolver-PJJ3PCM7.mjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/capabilities/operation-resolver/operation-resolver.ts"],
|
|
4
|
+
"sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport * as Effect from 'effect/Effect';\n\nimport { Capabilities, Capability, Plugin, UndoMapping } from '@dxos/app-framework';\nimport { AppCapabilities, LayoutOperation } from '@dxos/app-toolkit';\nimport { SpaceState, getSpace } from '@dxos/client/echo';\nimport { Database, Obj, Query, Ref, Relation, Type } from '@dxos/echo';\nimport { EchoDatabaseImpl, Serializer } from '@dxos/echo-db';\nimport { invariant } from '@dxos/invariant';\nimport { Migrations } from '@dxos/migrations';\nimport { OperationResolver } from '@dxos/operation';\nimport { Operation } from '@dxos/operation';\nimport { ClientCapabilities } from '@dxos/plugin-client/types';\nimport { ObservabilityOperation } from '@dxos/plugin-observability/types';\nimport { EdgeReplicationSetting } from '@dxos/protocols/proto/dxos/echo/metadata';\nimport { ATTENDABLE_PATH_SEPARATOR } from '@dxos/react-ui-attention/types';\nimport { iconValues } from '@dxos/react-ui-pickers/icons';\nimport { Collection, ProjectionModel, createEchoChangeCallback, getTypenameFromQuery } from '@dxos/schema';\nimport { hues } from '@dxos/ui-theme';\n\nimport { type JoinDialogProps } from '../../components';\nimport {\n CREATE_OBJECT_DIALOG,\n CREATE_SPACE_DIALOG,\n JOIN_DIALOG,\n OBJECT_RENAME_POPOVER,\n SPACE_RENAME_POPOVER,\n} from '../../constants';\nimport { meta } from '../../meta';\nimport { SpaceEvents } from '../../types';\nimport { SpaceCapabilities, SpaceOperation } from '../../types';\nimport { COMPOSER_SPACE_LOCK, cloneObject, getNestedObjects } from '../../util';\n\ntype OperationResolverOptions = {\n createInvitationUrl: (invitationCode: string) => string;\n observability?: boolean;\n};\n\nexport default Capability.makeModule(\n Effect.fnUntraced(function* (props?: OperationResolverOptions) {\n const { createInvitationUrl, observability } = props!;\n const capabilityManager = yield* Capability.Service;\n\n const resolve = (typename: string) =>\n capabilityManager.getAll(AppCapabilities.Metadata).find(({ id }: { id: string }) => id === typename)?.metadata ??\n {};\n\n return [\n Capability.contributes(Capabilities.UndoMapping, [\n UndoMapping.make({\n operation: SpaceOperation.DeleteField,\n inverse: SpaceOperation.RestoreField,\n deriveContext: (input, output) => ({\n view: input.view,\n field: output.field,\n props: output.props,\n index: output.index,\n }),\n message: ['field deleted label', { ns: meta.id }],\n }),\n UndoMapping.make({\n operation: SpaceOperation.RemoveObjects,\n inverse: SpaceOperation.RestoreObjects,\n deriveContext: (_input, output) => ({\n objects: output.objects,\n parentCollection: output.parentCollection,\n indices: output.indices,\n nestedObjectsList: output.nestedObjectsList,\n wasActive: output.wasActive,\n }),\n message: (input, _output) => {\n const ns = Obj.getTypename(input.objects[0]);\n return ns && input.objects.length === 1\n ? ['object deleted label', { ns: meta.id }]\n : ['objects deleted label', { ns: meta.id }];\n },\n }),\n ]),\n Capability.contributes(Capabilities.OperationResolver, [\n //\n // Open\n //\n OperationResolver.make({\n operation: SpaceOperation.Open,\n handler: (input) =>\n Effect.promise(async () => {\n await input.space.open();\n }),\n }),\n\n //\n // Close\n //\n OperationResolver.make({\n operation: SpaceOperation.Close,\n handler: (input) =>\n Effect.promise(async () => {\n await input.space.close();\n }),\n }),\n\n //\n // Join\n //\n OperationResolver.make({\n operation: SpaceOperation.Join,\n handler: Effect.fnUntraced(function* (input) {\n yield* Operation.invoke(LayoutOperation.UpdateDialog, {\n subject: JOIN_DIALOG,\n blockAlign: 'start',\n props: {\n initialInvitationCode: input.invitationCode,\n onDone: input.onDone,\n } satisfies Partial<JoinDialogProps>,\n });\n }),\n }),\n\n //\n // WaitForObject\n //\n OperationResolver.make({\n operation: SpaceOperation.WaitForObject,\n handler: Effect.fnUntraced(function* (input) {\n yield* Capabilities.updateAtomValue(SpaceCapabilities.EphemeralState, (current) => ({\n ...current,\n awaiting: input.id,\n }));\n }),\n }),\n\n //\n // OpenSettings\n //\n OperationResolver.make({\n operation: SpaceOperation.OpenSettings,\n handler: Effect.fnUntraced(function* (input) {\n yield* Operation.invoke(LayoutOperation.Open, {\n subject: [`properties-settings${ATTENDABLE_PATH_SEPARATOR}${input.space.id}`],\n workspace: input.space.id,\n });\n }),\n }),\n\n //\n // RemoveObjects\n //\n OperationResolver.make({\n operation: SpaceOperation.RemoveObjects,\n handler: Effect.fnUntraced(function* (input) {\n const layout = yield* Capabilities.getAtomValue(AppCapabilities.Layout);\n const objects = input.objects as Obj.Unknown[];\n\n // All objects must be a member of the same space.\n const space = getSpace(objects[0]);\n invariant(space && objects.every((obj) => Obj.isObject(obj) && getSpace(obj) === space));\n const openObjectIds = new Set<string>(layout.active);\n\n const parentCollection: Collection.Collection =\n input.target ?? space.properties[Collection.Collection.typename]?.target;\n\n const nestedObjectsList = yield* Effect.promise(() =>\n Promise.all(objects.map((obj) => getNestedObjects(obj, resolve))),\n );\n\n // Capture indices before removal.\n const indices = objects.map((obj) =>\n Obj.instanceOf(Collection.Collection, parentCollection)\n ? parentCollection.objects.findIndex((ref) => ref.target === obj)\n : -1,\n );\n\n // Close objects that were open.\n const wasActive = objects\n .flatMap((obj, i) => [obj, ...nestedObjectsList[i]])\n .filter((obj) => Obj.isObject(obj) && openObjectIds.has(Obj.getDXN(obj).toString()))\n .map((obj) => Obj.getDXN(obj).toString());\n\n for (let i = 0; i < objects.length; i++) {\n const obj = objects[i];\n const nestedObjects = nestedObjectsList[i];\n\n // Remove from parent collection.\n const index = parentCollection.objects.findIndex((ref) => ref.target === obj);\n if (index !== -1) {\n Obj.change(parentCollection, (c) => {\n c.objects.splice(index, 1);\n });\n }\n\n // Delete nested objects.\n for (const nestedObject of nestedObjects) {\n if (Obj.isObject(nestedObject)) {\n Obj.getDatabase(nestedObject)?.remove(nestedObject);\n } else if (Relation.isRelation(nestedObject)) {\n const db = Obj.getDatabase(Relation.getSource(nestedObject));\n db?.remove(nestedObject);\n }\n }\n\n // Delete the object.\n const db = Obj.getDatabase(obj);\n db?.remove(obj);\n }\n\n if (wasActive.length > 0) {\n yield* Operation.invoke(LayoutOperation.Close, { subject: wasActive });\n }\n\n // Return data needed for undo.\n return {\n objects,\n parentCollection,\n indices,\n nestedObjectsList,\n wasActive,\n };\n }),\n }),\n\n //\n // DeleteField\n //\n OperationResolver.make({\n operation: SpaceOperation.DeleteField,\n handler: Effect.fnUntraced(function* (input) {\n const registry = yield* Capability.get(Capabilities.AtomRegistry);\n const view = input.view as any;\n const db = Obj.getDatabase(view);\n invariant(db);\n const typename = getTypenameFromQuery(view.query.ast);\n invariant(typename);\n const schema = yield* Effect.promise(() => db.schemaRegistry.query({ typename }).firstOrUndefined());\n invariant(schema);\n\n // Create projection with change callbacks that wrap in Obj.change().\n const projection = new ProjectionModel({\n registry,\n view,\n baseSchema: schema.jsonSchema,\n change: createEchoChangeCallback(view, schema),\n });\n\n const result = projection.deleteFieldProjection(input.fieldId);\n\n // Return data needed for undo.\n return {\n field: result.deleted.field,\n props: result.deleted.props,\n index: result.index,\n };\n }),\n }),\n\n //\n // OpenCreateObject\n //\n OperationResolver.make({\n operation: SpaceOperation.OpenCreateObject,\n handler: Effect.fnUntraced(function* (input) {\n const ephemeralState = yield* Capabilities.getAtomValue(SpaceCapabilities.EphemeralState);\n const navigable = input.navigable ?? true;\n yield* Operation.invoke(LayoutOperation.UpdateDialog, {\n subject: CREATE_OBJECT_DIALOG,\n blockAlign: 'start',\n props: {\n target: input.target,\n views: input.views,\n typename: input.typename,\n initialFormValues: input.initialFormValues,\n onCreateObject: input.onCreateObject,\n shouldNavigate: navigable\n ? (object: Obj.Unknown) => {\n const isCollection = Obj.instanceOf(Collection.Collection, object);\n const isSystemCollection = Obj.instanceOf(Collection.Managed, object);\n return (!isCollection && !isSystemCollection) || ephemeralState.navigableCollections;\n }\n : () => false,\n },\n });\n }),\n }),\n\n //\n // AddObject\n //\n OperationResolver.make({\n operation: SpaceOperation.AddObject,\n handler: Effect.fnUntraced(function* (input) {\n const target = input.target as any;\n const object = input.object as Obj.Unknown;\n const db = Database.isDatabase(target) ? target : Obj.getDatabase(target);\n invariant(db, 'Database not found.');\n\n yield* Collection.add({\n object,\n target: Database.isDatabase(target) ? undefined : target,\n hidden: input.hidden,\n }).pipe(Effect.provide(Database.layer(db)));\n\n yield* Operation.schedule(ObservabilityOperation.SendEvent, {\n name: 'space.object.add',\n properties: {\n spaceId: db.spaceId,\n objectId: object.id,\n },\n });\n\n return {\n id: Obj.getDXN(object).toString(),\n subject: [Obj.getDXN(object).toString()],\n object,\n };\n }),\n }),\n\n //\n // Share\n //\n OperationResolver.make({\n operation: SpaceOperation.Share,\n handler: Effect.fnUntraced(function* (input) {\n const { space, type, authMethod, multiUse, target } = input;\n const invitation = space.share({ type, authMethod, multiUse, target });\n\n yield* Operation.schedule(ObservabilityOperation.SendEvent, {\n name: 'space.share',\n properties: {\n spaceId: space.id,\n },\n });\n\n return invitation;\n }),\n }),\n\n //\n // Lock\n // TODO(wittjosiah): This appears to be unused.\n //\n OperationResolver.make({\n operation: SpaceOperation.Lock,\n handler: Effect.fnUntraced(function* ({ space }) {\n Obj.change(space.properties, (p) => {\n p[COMPOSER_SPACE_LOCK] = true;\n });\n\n if (observability) {\n yield* Operation.schedule(ObservabilityOperation.SendEvent, {\n name: 'space.lock',\n properties: { spaceId: space.id },\n });\n }\n }),\n }),\n\n //\n // Unlock\n // TODO(wittjosiah): This appears to be unused.\n //\n OperationResolver.make({\n operation: SpaceOperation.Unlock,\n handler: Effect.fnUntraced(function* ({ space }) {\n Obj.change(space.properties, (p) => {\n p[COMPOSER_SPACE_LOCK] = false;\n });\n\n if (observability) {\n yield* Operation.schedule(ObservabilityOperation.SendEvent, {\n name: 'space.unlock',\n properties: { spaceId: space.id },\n });\n }\n }),\n }),\n\n //\n // OpenCreateSpace\n //\n OperationResolver.make({\n operation: SpaceOperation.OpenCreateSpace,\n handler: Effect.fnUntraced(function* () {\n yield* Operation.invoke(LayoutOperation.UpdateDialog, {\n subject: CREATE_SPACE_DIALOG,\n blockAlign: 'start',\n });\n }),\n }),\n\n //\n // Create\n //\n OperationResolver.make({\n operation: SpaceOperation.Create,\n handler: Effect.fnUntraced(function* ({ name, hue: hue_, icon: icon_, edgeReplication }) {\n const client = yield* Capability.get(ClientCapabilities.Client);\n const hue = hue_ ?? hues[Math.floor(Math.random() * hues.length)];\n const icon = icon_ ?? iconValues[Math.floor(Math.random() * iconValues.length)];\n const space = yield* Effect.promise(() => client.spaces.create({ name, hue, icon }));\n if (edgeReplication) {\n yield* Effect.promise(() => space.internal.setEdgeReplicationPreference(EdgeReplicationSetting.ENABLED));\n }\n yield* Effect.promise(() => space.waitUntilReady());\n\n // Create root collection.\n const collection = Obj.make(Collection.Collection, { objects: [] });\n Obj.change(space.properties, (p) => {\n p[Collection.Collection.typename] = Ref.make(collection);\n // Set current migration version.\n if (Migrations.versionProperty) {\n p[Migrations.versionProperty] = Migrations.targetVersion;\n }\n });\n\n // Create records smart collection.\n Obj.change(collection, (c) => {\n c.objects.push(Ref.make(Collection.makeManaged({ key: Type.getTypename(Type.PersistentType) })));\n });\n\n // Allow other plugins to add default content.\n yield* Plugin.activate(SpaceEvents.SpaceCreated);\n const onCreateSpaceCallbacks = yield* Capability.getAll(SpaceCapabilities.OnCreateSpace);\n yield* Effect.all(\n onCreateSpaceCallbacks.map((onCreateSpace) =>\n onCreateSpace({ space, isDefault: false, rootCollection: collection }),\n ),\n );\n\n if (observability) {\n yield* Operation.schedule(ObservabilityOperation.SendEvent, {\n name: 'space.create',\n properties: { spaceId: space.id },\n });\n }\n\n return { id: space.id, subject: [space.id], space };\n }),\n }),\n\n //\n // Migrate\n //\n OperationResolver.make({\n operation: SpaceOperation.Migrate,\n handler: Effect.fnUntraced(function* (input) {\n const { space, version: targetVersion } = input;\n\n if (space.state.get() === SpaceState.SPACE_REQUIRES_MIGRATION) {\n yield* Capabilities.updateAtomValue(SpaceCapabilities.EphemeralState, (current) => ({\n ...current,\n sdkMigrationRunning: { ...current.sdkMigrationRunning, [space.id]: true },\n }));\n yield* Effect.promise(() => space.internal.migrate());\n yield* Capabilities.updateAtomValue(SpaceCapabilities.EphemeralState, (current) => ({\n ...current,\n sdkMigrationRunning: { ...current.sdkMigrationRunning, [space.id]: false },\n }));\n }\n const result = yield* Effect.promise(() => Migrations.migrate(space, targetVersion));\n\n yield* Operation.schedule(ObservabilityOperation.SendEvent, {\n name: 'space.migrate',\n properties: {\n spaceId: space.id,\n targetVersion,\n version: Migrations.versionProperty ? space.properties[Migrations.versionProperty] : undefined,\n },\n });\n\n return result;\n }),\n }),\n\n //\n // Snapshot\n //\n OperationResolver.make({\n operation: SpaceOperation.Snapshot,\n handler: (input) =>\n Effect.promise(async () => {\n const db = input.db as any;\n invariant(db instanceof EchoDatabaseImpl, 'Database must be an instance of EchoDatabaseImpl');\n const backup = await new Serializer().export(db, input.query && Query.fromAst(input.query));\n return {\n snapshot: new Blob([JSON.stringify(backup, null, 2)], { type: 'application/json' }),\n };\n }),\n }),\n\n //\n // Rename\n //\n OperationResolver.make({\n operation: SpaceOperation.Rename,\n handler: Effect.fnUntraced(function* (input) {\n yield* Operation.invoke(LayoutOperation.UpdatePopover, {\n subject: SPACE_RENAME_POPOVER,\n anchorId: `dxos.org/ui/${input.caller}/${input.space.id}`,\n props: input.space,\n });\n }),\n }),\n\n //\n // RenameObject\n //\n OperationResolver.make({\n operation: SpaceOperation.RenameObject,\n handler: Effect.fnUntraced(function* (input) {\n const object = input.object as Obj.Unknown;\n yield* Operation.invoke(LayoutOperation.UpdatePopover, {\n subject: OBJECT_RENAME_POPOVER,\n anchorId: `dxos.org/ui/${input.caller}/${Obj.getDXN(object).toString()}`,\n props: object,\n });\n }),\n }),\n\n //\n // OpenMembers\n //\n OperationResolver.make({\n operation: SpaceOperation.OpenMembers,\n handler: Effect.fnUntraced(function* (input) {\n yield* Operation.invoke(LayoutOperation.Open, {\n subject: [`members-settings${ATTENDABLE_PATH_SEPARATOR}${input.space.id}`],\n workspace: input.space.id,\n });\n }),\n }),\n\n //\n // GetShareLink\n //\n OperationResolver.make({\n operation: SpaceOperation.GetShareLink,\n handler: Effect.fnUntraced(function* (input) {\n const { Invitation, InvitationEncoder } = yield* Effect.promise(\n () => import('@dxos/react-client/invitations'),\n );\n\n const invitation = yield* Operation.invoke(SpaceOperation.Share, {\n space: input.space,\n type: Invitation.Type.DELEGATED,\n authMethod: Invitation.AuthMethod.KNOWN_PUBLIC_KEY,\n multiUse: true,\n target: input.target,\n });\n\n // NOTE: Delegated invitations are invalid until the connecting state when keys are filled in.\n const invitationCode = yield* Effect.tryPromise(\n () =>\n new Promise<string>((resolve) => {\n invitation.subscribe((inv) => {\n if (inv.state === Invitation.State.CONNECTING) {\n resolve(InvitationEncoder.encode(inv));\n }\n });\n }),\n );\n const url = createInvitationUrl(invitationCode);\n if (input.copyToClipboard) {\n yield* Effect.tryPromise(() => navigator.clipboard.writeText(url));\n }\n return url;\n }),\n }),\n\n //\n // UseStaticSchema\n //\n OperationResolver.make({\n operation: SpaceOperation.UseStaticSchema,\n handler: Effect.fnUntraced(function* (input) {\n const db = input.db as Database.Database;\n const client = yield* Capability.get(ClientCapabilities.Client);\n const schema: any = yield* Effect.promise(() =>\n (client as any).graph.schemaRegistry.query({ typename: input.typename, location: ['runtime'] }).first(),\n );\n const space = client.spaces.get(db.spaceId);\n invariant(space, 'Space not found');\n\n Obj.change(space.properties, (p) => {\n if (!p.staticRecords) {\n p.staticRecords = [];\n }\n if (!p.staticRecords.includes(input.typename)) {\n p.staticRecords.push(input.typename);\n }\n });\n\n yield* Plugin.activate(SpaceEvents.SchemaAdded);\n const onSchemaAdded = yield* Capability.getAll(SpaceCapabilities.OnSchemaAdded);\n yield* Effect.all(\n onSchemaAdded.map((callback) => callback({ db, schema, show: input.show })),\n { concurrency: 'unbounded' },\n );\n\n yield* Operation.schedule(ObservabilityOperation.SendEvent, {\n name: 'space.schema.use',\n properties: {\n spaceId: space.id,\n typename: Type.getTypename(schema),\n },\n });\n\n return {};\n }),\n }),\n\n //\n // AddSchema\n //\n OperationResolver.make({\n operation: SpaceOperation.AddSchema,\n handler: Effect.fnUntraced(function* (input) {\n const db = input.db;\n const schemas = yield* Effect.promise(() => db.schemaRegistry.register([input.schema]));\n const schema = schemas[0];\n Obj.change(schema.persistentSchema, (s) => {\n if (input.name) {\n s.name = input.name;\n }\n if (input.typename) {\n s.typename = input.typename;\n }\n if (input.version) {\n s.version = input.version;\n }\n });\n\n yield* Plugin.activate(SpaceEvents.SchemaAdded);\n const onSchemaAdded = yield* Capability.getAll(SpaceCapabilities.OnSchemaAdded);\n yield* Effect.all(\n onSchemaAdded.map((callback) => callback({ db, schema, show: input.show })),\n { concurrency: 'unbounded' },\n );\n\n yield* Operation.schedule(ObservabilityOperation.SendEvent, {\n name: 'space.schema.add',\n properties: {\n spaceId: db.spaceId,\n objectId: schema.id,\n typename: schema.typename,\n },\n });\n\n return { id: schema.id, object: schema.persistentSchema, schema };\n }),\n }),\n\n //\n // AddRelation\n //\n OperationResolver.make({\n operation: SpaceOperation.AddRelation,\n handler: (input) =>\n Effect.sync(() => {\n const db = input.db as Database.Database;\n const relation = db.add(\n Relation.make(input.schema, {\n [Relation.Source]: input.source,\n [Relation.Target]: input.target,\n ...input.fields,\n }),\n );\n return { relation };\n }),\n }),\n\n //\n // DuplicateObject\n // TODO(wittjosiah): This appears to be unused.\n //\n OperationResolver.make({\n operation: SpaceOperation.DuplicateObject,\n handler: Effect.fnUntraced(function* (input) {\n const object = input.object as Obj.Unknown;\n const db = Obj.getDatabase(object);\n invariant(db, 'Database not found.');\n const newObject = yield* Effect.promise(() => cloneObject(object, resolve, db));\n yield* Operation.invoke(SpaceOperation.AddObject, { object: newObject, target: db });\n }),\n }),\n\n //\n // RestoreField (inverse of DeleteField)\n //\n OperationResolver.make({\n operation: SpaceOperation.RestoreField,\n handler: Effect.fnUntraced(function* (input) {\n const registry = yield* Capability.get(Capabilities.AtomRegistry);\n const view = input.view as any;\n const db = Obj.getDatabase(view);\n invariant(db);\n const typename = getTypenameFromQuery(view.query.ast);\n invariant(typename);\n const schema = yield* Effect.promise(() => db.schemaRegistry.query({ typename }).firstOrUndefined());\n invariant(schema);\n\n // Create projection with change callbacks that wrap in Obj.change().\n const projection = new ProjectionModel({\n registry,\n view,\n baseSchema: schema.jsonSchema,\n change: createEchoChangeCallback(view, schema),\n });\n\n projection.setFieldProjection({ field: input.field, props: input.props }, input.index);\n }),\n }),\n\n //\n // RestoreObjects (inverse of RemoveObjects)\n //\n OperationResolver.make({\n operation: SpaceOperation.RestoreObjects,\n handler: Effect.fnUntraced(function* (input) {\n const objects = input.objects as Obj.Unknown[];\n const parentCollection = input.parentCollection as Collection.Collection;\n const indices = input.indices as number[];\n const nestedObjectsList = input.nestedObjectsList as Obj.Unknown[][];\n const wasActive = input.wasActive as string[];\n\n // Get the space from the first object.\n const space = getSpace(objects[0]);\n invariant(space);\n\n // Restore objects to the space.\n const restoredObjects = objects.map((obj: Obj.Unknown) => space.db.add(obj));\n\n // Restore nested objects to the space.\n nestedObjectsList.flat().forEach((obj: Obj.Unknown) => {\n if (Obj.isObject(obj)) {\n space.db.add(obj);\n } else if (Relation.isRelation(obj)) {\n space.db.add(obj);\n }\n });\n\n // Restore objects to the parent collection at their original indices.\n Obj.change(parentCollection, (c) => {\n indices.forEach((index: number, i: number) => {\n if (index !== -1) {\n c.objects.splice(index, 0, Ref.make(restoredObjects[i] as Obj.Unknown));\n }\n });\n });\n\n // Re-open objects that were active.\n if (wasActive.length > 0) {\n yield* Operation.invoke(LayoutOperation.Open, { subject: wasActive });\n }\n }),\n }),\n ]),\n ];\n }),\n);\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": ["Effect", "Capabilities", "Capability", "Plugin", "UndoMapping", "AppCapabilities", "LayoutOperation", "SpaceState", "getSpace", "Database", "Obj", "Query", "Ref", "Relation", "Type", "EchoDatabaseImpl", "Serializer", "invariant", "Migrations", "OperationResolver", "Operation", "ClientCapabilities", "ObservabilityOperation", "EdgeReplicationSetting", "ATTENDABLE_PATH_SEPARATOR", "iconValues", "Collection", "ProjectionModel", "createEchoChangeCallback", "getTypenameFromQuery", "hues", "Capability", "makeModule", "fnUntraced", "props", "createInvitationUrl", "observability", "capabilityManager", "Service", "resolve", "typename", "getAll", "AppCapabilities", "Metadata", "find", "id", "metadata", "contributes", "Capabilities", "UndoMapping", "make", "operation", "SpaceOperation", "DeleteField", "inverse", "RestoreField", "deriveContext", "input", "output", "view", "field", "index", "message", "ns", "meta", "RemoveObjects", "RestoreObjects", "_input", "objects", "parentCollection", "indices", "nestedObjectsList", "wasActive", "_output", "Obj", "getTypename", "length", "OperationResolver", "Open", "handler", "promise", "space", "open", "Close", "close", "Join", "Operation", "invoke", "LayoutOperation", "UpdateDialog", "subject", "JOIN_DIALOG", "blockAlign", "initialInvitationCode", "invitationCode", "onDone", "WaitForObject", "updateAtomValue", "SpaceCapabilities", "EphemeralState", "current", "awaiting", "OpenSettings", "ATTENDABLE_PATH_SEPARATOR", "workspace", "layout", "getAtomValue", "Layout", "getSpace", "invariant", "every", "obj", "isObject", "openObjectIds", "Set", "active", "target", "properties", "Collection", "Promise", "all", "map", "getNestedObjects", "instanceOf", "findIndex", "ref", "flatMap", "i", "filter", "has", "getDXN", "toString", "nestedObjects", "change", "c", "splice", "nestedObject", "getDatabase", "remove", "Relation", "isRelation", "db", "getSource", "registry", "get", "AtomRegistry", "getTypenameFromQuery", "query", "ast", "schema", "schemaRegistry", "firstOrUndefined", "projection", "ProjectionModel", "baseSchema", "jsonSchema", "createEchoChangeCallback", "result", "deleteFieldProjection", "fieldId", "deleted", "OpenCreateObject", "ephemeralState", "navigable", "CREATE_OBJECT_DIALOG", "views", "initialFormValues", "onCreateObject", "shouldNavigate", "object", "isCollection", "isSystemCollection", "Managed", "navigableCollections", "AddObject", "Database", "isDatabase", "add", "undefined", "hidden", "pipe", "provide", "layer", "schedule", "ObservabilityOperation", "SendEvent", "name", "spaceId", "objectId", "Share", "type", "authMethod", "multiUse", "invitation", "share", "Lock", "p", "COMPOSER_SPACE_LOCK", "Unlock", "OpenCreateSpace", "CREATE_SPACE_DIALOG", "Create", "hue", "hue_", "icon", "icon_", "edgeReplication", "client", "ClientCapabilities", "Client", "hues", "Math", "floor", "random", "iconValues", "spaces", "create", "internal", "setEdgeReplicationPreference", "EdgeReplicationSetting", "ENABLED", "waitUntilReady", "collection", "Ref", "Migrations", "versionProperty", "targetVersion", "push", "makeManaged", "key", "Type", "PersistentType", "Plugin", "activate", "SpaceEvents", "SpaceCreated", "onCreateSpaceCallbacks", "OnCreateSpace", "onCreateSpace", "isDefault", "rootCollection", "Migrate", "version", "state", "SpaceState", "SPACE_REQUIRES_MIGRATION", "sdkMigrationRunning", "migrate", "Snapshot", "EchoDatabaseImpl", "backup", "Serializer", "export", "Query", "fromAst", "snapshot", "Blob", "JSON", "stringify", "Rename", "UpdatePopover", "SPACE_RENAME_POPOVER", "anchorId", "caller", "RenameObject", "OBJECT_RENAME_POPOVER", "OpenMembers", "GetShareLink", "Invitation", "InvitationEncoder", "DELEGATED", "AuthMethod", "KNOWN_PUBLIC_KEY", "tryPromise", "subscribe", "inv", "State", "CONNECTING", "encode", "url", "copyToClipboard", "navigator", "clipboard", "writeText", "UseStaticSchema", "graph", "location", "first", "staticRecords", "includes", "SchemaAdded", "onSchemaAdded", "OnSchemaAdded", "callback", "show", "concurrency", "AddSchema", "schemas", "register", "persistentSchema", "s", "AddRelation", "sync", "relation", "Source", "source", "Target", "fields", "DuplicateObject", "newObject", "cloneObject", "setFieldProjection", "restoredObjects", "flat", "forEach"]
|
|
7
|
+
}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import {
|
|
2
2
|
AwaitingObject
|
|
3
|
-
} from "./chunk-
|
|
4
|
-
import "./chunk-
|
|
5
|
-
import "./chunk-
|
|
3
|
+
} from "./chunk-XRTOZE23.mjs";
|
|
4
|
+
import "./chunk-A7ZCVQGZ.mjs";
|
|
5
|
+
import "./chunk-WAOJLA2S.mjs";
|
|
6
6
|
import {
|
|
7
7
|
SpaceCapabilities
|
|
8
|
-
} from "./chunk-
|
|
8
|
+
} from "./chunk-KGLWYGIF.mjs";
|
|
9
9
|
import {
|
|
10
10
|
meta
|
|
11
11
|
} from "./chunk-HSMQFM57.mjs";
|
|
@@ -13,9 +13,9 @@ import {
|
|
|
13
13
|
// src/capabilities/react-root/react-root.tsx
|
|
14
14
|
import * as Effect from "effect/Effect";
|
|
15
15
|
import React from "react";
|
|
16
|
-
import {
|
|
17
|
-
import { useAtomCapability } from "@dxos/app-framework/
|
|
18
|
-
var react_root_default = Capability.makeModule(() => Effect.succeed(Capability.contributes(
|
|
16
|
+
import { Capabilities, Capability } from "@dxos/app-framework";
|
|
17
|
+
import { useAtomCapability } from "@dxos/app-framework/ui";
|
|
18
|
+
var react_root_default = Capability.makeModule(() => Effect.succeed(Capability.contributes(Capabilities.ReactRoot, {
|
|
19
19
|
id: meta.id,
|
|
20
20
|
root: () => {
|
|
21
21
|
const ephemeral = useAtomCapability(SpaceCapabilities.EphemeralState);
|
|
@@ -27,4 +27,4 @@ var react_root_default = Capability.makeModule(() => Effect.succeed(Capability.c
|
|
|
27
27
|
export {
|
|
28
28
|
react_root_default as default
|
|
29
29
|
};
|
|
30
|
-
//# sourceMappingURL=react-root-
|
|
30
|
+
//# sourceMappingURL=react-root-MRIDHLHH.mjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/capabilities/react-root/react-root.tsx"],
|
|
4
|
+
"sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport * as Effect from 'effect/Effect';\nimport React from 'react';\n\nimport { Capabilities, Capability } from '@dxos/app-framework';\nimport { useAtomCapability } from '@dxos/app-framework/ui';\n\nimport { AwaitingObject } from '../../components';\nimport { meta } from '../../meta';\nimport { SpaceCapabilities } from '../../types';\n\nexport default Capability.makeModule(() =>\n Effect.succeed(\n Capability.contributes(Capabilities.ReactRoot, {\n id: meta.id,\n root: () => {\n const ephemeral = useAtomCapability(SpaceCapabilities.EphemeralState);\n return ephemeral.awaiting ? <AwaitingObject id={ephemeral.awaiting} /> : null;\n },\n }),\n ),\n);\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;AAIA,YAAYA,YAAY;AACxB,OAAOC,WAAW;AAElB,SAASC,cAAcC,kBAAkB;AACzC,SAASC,yBAAyB;AAMlC,IAAA,qBAAeC,WAAWC,WAAW,MAC5BC,eACLF,WAAWG,YAAYC,aAAaC,WAAW;EAC7CC,IAAIC,KAAKD;EACTE,MAAM,MAAA;AACJ,UAAMC,YAAYC,kBAAkBC,kBAAkBC,cAAc;AACpE,WAAOH,UAAUI,WAAW,sBAAA,cAACC,gBAAAA;MAAeR,IAAIG,UAAUI;SAAe;EAC3E;AACF,CAAA,CAAA,CAAA;",
|
|
6
|
+
"names": ["Effect", "React", "Capabilities", "Capability", "useAtomCapability", "Capability", "makeModule", "succeed", "contributes", "Capabilities", "ReactRoot", "id", "meta", "root", "ephemeral", "useAtomCapability", "SpaceCapabilities", "EphemeralState", "awaiting", "AwaitingObject"]
|
|
7
|
+
}
|