@dxos/plugin-space 0.8.4-main.422d1c7879 → 0.8.4-main.51f1e5ca51
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/{SpaceSettings-TR2IMHOL.mjs → SpaceSettings-EM4ANH25.mjs} +3 -3
- package/dist/lib/browser/{add-object-XUA4QRWE.mjs → add-object-GD7KRSJ4.mjs} +8 -16
- package/dist/lib/browser/add-object-GD7KRSJ4.mjs.map +7 -0
- package/dist/lib/browser/{add-relation-YNTOBNYM.mjs → add-relation-CFHQLWPO.mjs} +4 -4
- package/dist/lib/browser/add-relation-CFHQLWPO.mjs.map +7 -0
- package/dist/lib/browser/{add-schema-Q5X2SAX4.mjs → add-schema-GTRLA4FD.mjs} +5 -5
- package/dist/lib/browser/add-schema-GTRLA4FD.mjs.map +7 -0
- package/dist/lib/browser/{chunk-VV4C4APQ.mjs → chunk-3RYTAKKI.mjs} +1 -1
- package/dist/lib/browser/{chunk-VV4C4APQ.mjs.map → chunk-3RYTAKKI.mjs.map} +2 -2
- package/dist/lib/browser/{chunk-BJAZV3HI.mjs → chunk-C7AYQOUD.mjs} +3 -3
- package/dist/lib/browser/chunk-C7AYQOUD.mjs.map +7 -0
- package/dist/lib/browser/{chunk-FBRDXXNK.mjs → chunk-CQF3R5FY.mjs} +1 -1
- package/dist/lib/browser/chunk-CQF3R5FY.mjs.map +7 -0
- package/dist/lib/browser/{chunk-JH2UWMN2.mjs → chunk-JHZGRYGS.mjs} +1 -1
- package/dist/lib/browser/{chunk-JH2UWMN2.mjs.map → chunk-JHZGRYGS.mjs.map} +2 -2
- package/dist/lib/browser/{chunk-YSV6LKD6.mjs → chunk-YELP3CVT.mjs} +2 -10
- package/dist/lib/browser/chunk-YELP3CVT.mjs.map +7 -0
- package/dist/lib/browser/cli/index.mjs +3 -11
- package/dist/lib/browser/cli/index.mjs.map +3 -3
- package/dist/lib/browser/{close-MPL6CV3Z.mjs → close-UTZ4JU5U.mjs} +4 -4
- package/dist/lib/browser/{close-MPL6CV3Z.mjs.map → close-UTZ4JU5U.mjs.map} +1 -1
- package/dist/lib/browser/{create-AE3FYWXG.mjs → create-7DZWDM22.mjs} +6 -6
- package/dist/lib/browser/create-7DZWDM22.mjs.map +7 -0
- package/dist/lib/browser/{delete-field-G77IGW6B.mjs → delete-field-OSRHGYX5.mjs} +7 -31
- package/dist/lib/browser/delete-field-OSRHGYX5.mjs.map +7 -0
- package/dist/lib/browser/{duplicate-object-B3Q64ELR.mjs → duplicate-object-FXPKRGEX.mjs} +6 -14
- package/dist/lib/browser/duplicate-object-FXPKRGEX.mjs.map +7 -0
- package/dist/lib/browser/{get-share-link-R745OMNC.mjs → get-share-link-C6WVJRBD.mjs} +5 -5
- package/dist/lib/browser/{get-share-link-R745OMNC.mjs.map → get-share-link-C6WVJRBD.mjs.map} +1 -1
- package/dist/lib/browser/index.mjs +46 -332
- package/dist/lib/browser/index.mjs.map +4 -4
- package/dist/lib/browser/{join-EDCBOGMO.mjs → join-DUQDFUP7.mjs} +5 -5
- package/dist/lib/browser/{join-EDCBOGMO.mjs.map → join-DUQDFUP7.mjs.map} +1 -1
- package/dist/lib/browser/meta.json +1 -1
- package/dist/lib/browser/meta.mjs +12 -3
- package/dist/lib/browser/meta.mjs.map +4 -4
- package/dist/lib/browser/{migrate-J7OVAUIM.mjs → migrate-2CCLBOB7.mjs} +4 -4
- package/dist/lib/browser/migrate-2CCLBOB7.mjs.map +7 -0
- package/dist/lib/browser/{open-LGLVOLR3.mjs → open-YZMTOJKZ.mjs} +4 -4
- package/dist/lib/browser/{open-LGLVOLR3.mjs.map → open-YZMTOJKZ.mjs.map} +1 -1
- package/dist/lib/browser/{open-create-object-QQFDBDDC.mjs → open-create-object-76TERQFL.mjs} +5 -5
- package/dist/lib/browser/open-create-object-76TERQFL.mjs.map +7 -0
- package/dist/lib/browser/{open-create-space-7IVA2QOK.mjs → open-create-space-YJM57655.mjs} +5 -5
- package/dist/lib/browser/{open-create-space-7IVA2QOK.mjs.map → open-create-space-YJM57655.mjs.map} +1 -1
- package/dist/lib/browser/{open-members-RF5E7PAE.mjs → open-members-Z62WRZXE.mjs} +4 -4
- package/dist/lib/browser/{open-members-RF5E7PAE.mjs.map → open-members-Z62WRZXE.mjs.map} +1 -1
- package/dist/lib/browser/{open-settings-A56XL7NJ.mjs → open-settings-7NGQX4DC.mjs} +5 -5
- package/dist/lib/browser/{open-settings-A56XL7NJ.mjs.map → open-settings-7NGQX4DC.mjs.map} +1 -1
- package/dist/lib/browser/operations/index.mjs +4 -4
- package/dist/lib/browser/operations/index.mjs.map +3 -3
- package/dist/lib/browser/{remove-objects-5JFRQRGL.mjs → remove-objects-U2WX4YJR.mjs} +7 -15
- package/dist/lib/browser/remove-objects-U2WX4YJR.mjs.map +7 -0
- package/dist/lib/browser/{rename-UOGQQJ3T.mjs → rename-AT4JOBWL.mjs} +5 -5
- package/dist/lib/browser/{rename-UOGQQJ3T.mjs.map → rename-AT4JOBWL.mjs.map} +1 -1
- package/dist/lib/browser/{rename-object-V2LDZGOE.mjs → rename-object-C27IY6OV.mjs} +5 -5
- package/dist/lib/browser/rename-object-C27IY6OV.mjs.map +7 -0
- package/dist/lib/browser/{restore-field-TQJP2YJI.mjs → restore-field-WXW347UU.mjs} +7 -31
- package/dist/lib/browser/restore-field-WXW347UU.mjs.map +7 -0
- package/dist/lib/browser/{restore-objects-23VJYK72.mjs → restore-objects-AHHIZKTQ.mjs} +6 -14
- package/dist/lib/browser/restore-objects-AHHIZKTQ.mjs.map +7 -0
- package/dist/lib/browser/{share-2PZJXFJM.mjs → share-HSPCUWZO.mjs} +4 -4
- package/dist/lib/browser/{share-2PZJXFJM.mjs.map → share-HSPCUWZO.mjs.map} +1 -1
- package/dist/lib/browser/{snapshot-OOA2JZ67.mjs → snapshot-4GHO546H.mjs} +5 -13
- package/dist/lib/browser/snapshot-4GHO546H.mjs.map +7 -0
- package/dist/lib/browser/translations.mjs +283 -0
- package/dist/lib/browser/translations.mjs.map +7 -0
- package/dist/lib/browser/types/index.mjs +1 -1
- package/dist/lib/browser/{wait-for-object-2XLXLCNS.mjs → wait-for-object-SHLHIHWS.mjs} +4 -4
- package/dist/lib/browser/{wait-for-object-2XLXLCNS.mjs.map → wait-for-object-SHLHIHWS.mjs.map} +1 -1
- package/dist/lib/node-esm/{SpaceSettings-YW75BDWT.mjs → SpaceSettings-VS63WTFP.mjs} +3 -3
- package/dist/lib/node-esm/{add-object-OULSB2DR.mjs → add-object-QLBKA7K4.mjs} +8 -16
- package/dist/lib/node-esm/add-object-QLBKA7K4.mjs.map +7 -0
- package/dist/lib/node-esm/{add-relation-K6EZYWKL.mjs → add-relation-GMXOWGR6.mjs} +4 -4
- package/dist/lib/node-esm/add-relation-GMXOWGR6.mjs.map +7 -0
- package/dist/lib/node-esm/{add-schema-4GSWOILA.mjs → add-schema-ZRDGGJ3O.mjs} +5 -5
- package/dist/lib/node-esm/add-schema-ZRDGGJ3O.mjs.map +7 -0
- package/dist/lib/node-esm/{chunk-GTF56ZOK.mjs → chunk-HSVHLOWA.mjs} +1 -1
- package/dist/lib/node-esm/{chunk-GTF56ZOK.mjs.map → chunk-HSVHLOWA.mjs.map} +2 -2
- package/dist/lib/node-esm/{chunk-7Z5ON2QQ.mjs → chunk-MZG7V6M3.mjs} +1 -1
- package/dist/lib/node-esm/chunk-MZG7V6M3.mjs.map +7 -0
- package/dist/lib/node-esm/{chunk-IYW6CXLN.mjs → chunk-QKEPMULV.mjs} +1 -1
- package/dist/lib/node-esm/{chunk-IYW6CXLN.mjs.map → chunk-QKEPMULV.mjs.map} +2 -2
- package/dist/lib/node-esm/{chunk-TZTVDLGM.mjs → chunk-RD5NBQ4C.mjs} +3 -3
- package/dist/lib/node-esm/chunk-RD5NBQ4C.mjs.map +7 -0
- package/dist/lib/node-esm/{chunk-IHOQPYNT.mjs → chunk-TIKBCL5D.mjs} +2 -10
- package/dist/lib/node-esm/chunk-TIKBCL5D.mjs.map +7 -0
- package/dist/lib/node-esm/cli/index.mjs +3 -11
- package/dist/lib/node-esm/cli/index.mjs.map +3 -3
- package/dist/lib/node-esm/{close-JSUMHN7R.mjs → close-VPJ66WYS.mjs} +4 -4
- package/dist/lib/node-esm/{close-JSUMHN7R.mjs.map → close-VPJ66WYS.mjs.map} +1 -1
- package/dist/lib/node-esm/{create-BRA5OQHY.mjs → create-C3G7T25G.mjs} +6 -6
- package/dist/lib/node-esm/create-C3G7T25G.mjs.map +7 -0
- package/dist/lib/node-esm/{delete-field-UNKELUX7.mjs → delete-field-I3EUV5OG.mjs} +7 -31
- package/dist/lib/node-esm/delete-field-I3EUV5OG.mjs.map +7 -0
- package/dist/lib/node-esm/{duplicate-object-QDZHK24D.mjs → duplicate-object-65GM2BS7.mjs} +6 -14
- package/dist/lib/node-esm/duplicate-object-65GM2BS7.mjs.map +7 -0
- package/dist/lib/node-esm/{get-share-link-XLBJHWDY.mjs → get-share-link-PGNTWGUH.mjs} +5 -5
- package/dist/lib/node-esm/{get-share-link-XLBJHWDY.mjs.map → get-share-link-PGNTWGUH.mjs.map} +1 -1
- package/dist/lib/node-esm/index.mjs +46 -332
- package/dist/lib/node-esm/index.mjs.map +4 -4
- package/dist/lib/node-esm/{join-RGM74NMA.mjs → join-KYHTT3IE.mjs} +5 -5
- package/dist/lib/node-esm/{join-RGM74NMA.mjs.map → join-KYHTT3IE.mjs.map} +1 -1
- package/dist/lib/node-esm/meta.json +1 -1
- package/dist/lib/node-esm/meta.mjs +12 -3
- package/dist/lib/node-esm/meta.mjs.map +4 -4
- package/dist/lib/node-esm/{migrate-NXBHBCFU.mjs → migrate-3HCYGDJG.mjs} +4 -4
- package/dist/lib/node-esm/migrate-3HCYGDJG.mjs.map +7 -0
- package/dist/lib/node-esm/{open-ZUK63Z2F.mjs → open-HO4LLI3I.mjs} +4 -4
- package/dist/lib/node-esm/{open-ZUK63Z2F.mjs.map → open-HO4LLI3I.mjs.map} +1 -1
- package/dist/lib/node-esm/{open-create-object-CMNXPKSF.mjs → open-create-object-QOH455FJ.mjs} +5 -5
- package/dist/lib/node-esm/open-create-object-QOH455FJ.mjs.map +7 -0
- package/dist/lib/node-esm/{open-create-space-W6DDCTCA.mjs → open-create-space-CDWC7YYL.mjs} +5 -5
- package/dist/lib/node-esm/{open-create-space-W6DDCTCA.mjs.map → open-create-space-CDWC7YYL.mjs.map} +1 -1
- package/dist/lib/node-esm/{open-members-BUANVOZL.mjs → open-members-5I7NDD5K.mjs} +4 -4
- package/dist/lib/node-esm/{open-members-BUANVOZL.mjs.map → open-members-5I7NDD5K.mjs.map} +1 -1
- package/dist/lib/node-esm/{open-settings-U2SJX5EW.mjs → open-settings-SQDLKQFX.mjs} +5 -5
- package/dist/lib/node-esm/{open-settings-U2SJX5EW.mjs.map → open-settings-SQDLKQFX.mjs.map} +1 -1
- package/dist/lib/node-esm/operations/index.mjs +4 -4
- package/dist/lib/node-esm/operations/index.mjs.map +3 -3
- package/dist/lib/node-esm/{remove-objects-KTAS3FB3.mjs → remove-objects-WOXLCEEG.mjs} +7 -15
- package/dist/lib/node-esm/remove-objects-WOXLCEEG.mjs.map +7 -0
- package/dist/lib/node-esm/{rename-F5GAS22G.mjs → rename-7T6W7HCV.mjs} +5 -5
- package/dist/lib/node-esm/{rename-F5GAS22G.mjs.map → rename-7T6W7HCV.mjs.map} +1 -1
- package/dist/lib/node-esm/{rename-object-D2AVOXBO.mjs → rename-object-AJK5K6WP.mjs} +5 -5
- package/dist/lib/node-esm/rename-object-AJK5K6WP.mjs.map +7 -0
- package/dist/lib/node-esm/{restore-field-O7T4WCMB.mjs → restore-field-766F6HQS.mjs} +7 -31
- package/dist/lib/node-esm/restore-field-766F6HQS.mjs.map +7 -0
- package/dist/lib/node-esm/{restore-objects-IRKTUGP2.mjs → restore-objects-VQZUFBNN.mjs} +6 -14
- package/dist/lib/node-esm/restore-objects-VQZUFBNN.mjs.map +7 -0
- package/dist/lib/node-esm/{share-5CZU3XKX.mjs → share-MG762MTJ.mjs} +4 -4
- package/dist/lib/node-esm/{share-5CZU3XKX.mjs.map → share-MG762MTJ.mjs.map} +1 -1
- package/dist/lib/node-esm/{snapshot-H3SRUIPR.mjs → snapshot-INCDC5YB.mjs} +5 -13
- package/dist/lib/node-esm/snapshot-INCDC5YB.mjs.map +7 -0
- package/dist/lib/node-esm/translations.mjs +284 -0
- package/dist/lib/node-esm/translations.mjs.map +7 -0
- package/dist/lib/node-esm/types/index.mjs +1 -1
- package/dist/lib/node-esm/{wait-for-object-G2HJINN3.mjs → wait-for-object-4KPMASPD.mjs} +4 -4
- package/dist/lib/node-esm/{wait-for-object-G2HJINN3.mjs.map → wait-for-object-4KPMASPD.mjs.map} +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.map +1 -1
- package/dist/types/src/capabilities/app-graph-builder/extensions/collections.d.ts +28 -4
- package/dist/types/src/capabilities/app-graph-builder/extensions/collections.d.ts.map +1 -1
- package/dist/types/src/capabilities/app-graph-builder/extensions/companions.d.ts +21 -3
- package/dist/types/src/capabilities/app-graph-builder/extensions/companions.d.ts.map +1 -1
- package/dist/types/src/capabilities/app-graph-builder/extensions/settings.d.ts +16 -2
- package/dist/types/src/capabilities/app-graph-builder/extensions/settings.d.ts.map +1 -1
- package/dist/types/src/capabilities/app-graph-builder/extensions/shared.d.ts +4 -5
- package/dist/types/src/capabilities/app-graph-builder/extensions/shared.d.ts.map +1 -1
- package/dist/types/src/capabilities/app-graph-builder/extensions/spaces.d.ts.map +1 -1
- package/dist/types/src/capabilities/app-graph-builder/extensions/types.d.ts +35 -5
- package/dist/types/src/capabilities/app-graph-builder/extensions/types.d.ts.map +1 -1
- package/dist/types/src/capabilities/app-graph-serializer.d.ts.map +1 -1
- package/dist/types/src/capabilities/identity-created.d.ts.map +1 -1
- package/dist/types/src/capabilities/index.d.ts +1 -1
- package/dist/types/src/capabilities/index.d.ts.map +1 -1
- package/dist/types/src/capabilities/migrations.d.ts.map +1 -1
- package/dist/types/src/capabilities/navigation-handler/navigation-handler.d.ts.map +1 -1
- package/dist/types/src/capabilities/navigation-resolver.d.ts.map +1 -1
- package/dist/types/src/capabilities/node.d.ts +1 -1
- package/dist/types/src/capabilities/node.d.ts.map +1 -1
- package/dist/types/src/capabilities/operation-handler.d.ts +1 -1
- package/dist/types/src/capabilities/operation-handler.d.ts.map +1 -1
- package/dist/types/src/capabilities/react-root.d.ts.map +1 -1
- package/dist/types/src/capabilities/react-surface.d.ts.map +1 -1
- package/dist/types/src/capabilities/repair.d.ts.map +1 -1
- package/dist/types/src/capabilities/settings.d.ts.map +1 -1
- package/dist/types/src/capabilities/spaces-ready.d.ts.map +1 -1
- package/dist/types/src/capabilities/state.d.ts.map +1 -1
- package/dist/types/src/capabilities/undo-mappings.d.ts.map +1 -1
- package/dist/types/src/cli/commands/database/add.d.ts +2 -2
- package/dist/types/src/cli/commands/database/add.d.ts.map +1 -1
- package/dist/types/src/cli/commands/database/query/query.d.ts +2 -2
- package/dist/types/src/cli/commands/database/query/query.d.ts.map +1 -1
- package/dist/types/src/cli/commands/database/remove.d.ts +1 -1
- package/dist/types/src/cli/commands/database/stats.d.ts +1 -1
- package/dist/types/src/cli/commands/database/util.d.ts.map +1 -1
- package/dist/types/src/cli/commands/queue/index.d.ts +1 -1
- package/dist/types/src/cli/commands/queue/query.d.ts +1 -1
- package/dist/types/src/cli/commands/queue/util.d.ts.map +1 -1
- package/dist/types/src/cli/commands/space/close/close.d.ts +2 -2
- package/dist/types/src/cli/commands/space/close/close.d.ts.map +1 -1
- package/dist/types/src/cli/commands/space/create/create.d.ts +2 -2
- package/dist/types/src/cli/commands/space/index.d.ts +13 -13
- package/dist/types/src/cli/commands/space/info/info.d.ts +2 -2
- package/dist/types/src/cli/commands/space/join/join.d.ts +2 -2
- package/dist/types/src/cli/commands/space/join/util.d.ts.map +1 -1
- package/dist/types/src/cli/commands/space/list/list.d.ts +2 -2
- package/dist/types/src/cli/commands/space/members/members.d.ts +2 -2
- package/dist/types/src/cli/commands/space/members/util.d.ts.map +1 -1
- package/dist/types/src/cli/commands/space/open/open.d.ts +2 -2
- package/dist/types/src/cli/commands/space/open/open.d.ts.map +1 -1
- package/dist/types/src/cli/commands/space/schema/index.d.ts +1 -1
- package/dist/types/src/cli/commands/space/schema/list/list.d.ts +2 -2
- package/dist/types/src/cli/commands/space/schema/list/util.d.ts.map +1 -1
- package/dist/types/src/cli/commands/space/share/share.d.ts +2 -2
- package/dist/types/src/components/AwaitingObject/AwaitingObject.d.ts.map +1 -1
- package/dist/types/src/components/CreateDialog/CreateObjectPanel.d.ts +4 -4
- package/dist/types/src/components/CreateDialog/CreateObjectPanel.d.ts.map +1 -1
- package/dist/types/src/components/ForeignKeys/ForeignKeys.d.ts.map +1 -1
- package/dist/types/src/components/SpaceSettings/SpaceSettings.d.ts.map +1 -1
- package/dist/types/src/components/SpaceSettings/SpaceSettings.stories.d.ts +248 -248
- package/dist/types/src/components/SpaceSettings/SpaceSettings.stories.d.ts.map +1 -1
- package/dist/types/src/components/SyncStatus/save-tracker.d.ts +1 -1
- package/dist/types/src/components/SyncStatus/save-tracker.d.ts.map +1 -1
- package/dist/types/src/components/SyncStatus/status.d.ts +1 -1
- package/dist/types/src/components/SyncStatus/status.d.ts.map +1 -1
- package/dist/types/src/containers/CollectionArticle/CollectionArticle.d.ts.map +1 -1
- package/dist/types/src/containers/CollectionSection/CollectionSection.d.ts.map +1 -1
- package/dist/types/src/containers/CreateObjectDialog/CreateObjectDialog.d.ts.map +1 -1
- package/dist/types/src/containers/CreateObjectDialog/CreateObjectDialog.stories.d.ts +248 -248
- package/dist/types/src/containers/CreateObjectDialog/CreateObjectDialog.stories.d.ts.map +1 -1
- package/dist/types/src/containers/CreateSpaceDialog/CreateSpaceDialog.stories.d.ts +248 -248
- package/dist/types/src/containers/CreateSpaceDialog/CreateSpaceDialog.stories.d.ts.map +1 -1
- package/dist/types/src/containers/InlineSyncStatus/InlineSyncStatus.d.ts.map +1 -1
- package/dist/types/src/containers/JoinDialog/JoinDialog.d.ts.map +1 -1
- package/dist/types/src/containers/JoinDialog/JoinDialog.stories.d.ts +248 -248
- package/dist/types/src/containers/JoinDialog/JoinDialog.stories.d.ts.map +1 -1
- package/dist/types/src/containers/MembersContainer/MembersContainer.d.ts.map +1 -1
- package/dist/types/src/containers/MenuFooter/MenuFooter.d.ts.map +1 -1
- package/dist/types/src/containers/ObjectProperties/ObjectProperties.d.ts +1 -1
- package/dist/types/src/containers/ObjectRenamePopover/ObjectRenamePopover.d.ts.map +1 -1
- package/dist/types/src/containers/RecordArticle/RecordArticle.d.ts.map +1 -1
- package/dist/types/src/containers/RecordArticle/RecordArticle.stories.d.ts.map +1 -1
- package/dist/types/src/containers/RelatedArticle/RelatedArticle.d.ts.map +1 -1
- package/dist/types/src/containers/SchemaContainer/SchemaContainer.d.ts.map +1 -1
- package/dist/types/src/containers/SpacePresence/SpacePresence.d.ts.map +1 -1
- package/dist/types/src/containers/SpacePresence/SpacePresence.stories.d.ts +248 -248
- package/dist/types/src/containers/SpacePresence/SpacePresence.stories.d.ts.map +1 -1
- package/dist/types/src/containers/SpaceRenamePopover/SpaceRenamePopover.d.ts.map +1 -1
- package/dist/types/src/containers/SpaceSettingsContainer/SpaceSettingsContainer.d.ts +4 -4
- package/dist/types/src/containers/SpaceSettingsContainer/SpaceSettingsContainer.d.ts.map +1 -1
- package/dist/types/src/containers/SpaceSettingsContainer/SpaceSettingsContainer.stories.d.ts +248 -248
- package/dist/types/src/containers/SpaceSettingsContainer/SpaceSettingsContainer.stories.d.ts.map +1 -1
- package/dist/types/src/containers/SyncStatus/SyncStatus.d.ts.map +1 -1
- package/dist/types/src/containers/SyncStatus/SyncStatus.stories.d.ts +248 -248
- package/dist/types/src/containers/SyncStatus/SyncStatus.stories.d.ts.map +1 -1
- package/dist/types/src/containers/ViewEditor/ViewEditor.d.ts.map +1 -1
- package/dist/types/src/hooks/useInputSurfaceLookup.d.ts.map +1 -1
- package/dist/types/src/hooks/usePath.d.ts.map +1 -1
- package/dist/types/src/hooks/useRelatedObjects.d.ts.map +1 -1
- package/dist/types/src/index.d.ts +0 -1
- package/dist/types/src/index.d.ts.map +1 -1
- package/dist/types/src/operations/add-object.d.ts +1 -1
- package/dist/types/src/operations/add-object.d.ts.map +1 -1
- package/dist/types/src/operations/add-relation.d.ts +1 -1
- package/dist/types/src/operations/add-relation.d.ts.map +1 -1
- package/dist/types/src/operations/add-schema.d.ts +1 -1
- package/dist/types/src/operations/add-schema.d.ts.map +1 -1
- package/dist/types/src/operations/close.d.ts +1 -1
- package/dist/types/src/operations/close.d.ts.map +1 -1
- package/dist/types/src/operations/create.d.ts +1 -1
- package/dist/types/src/operations/create.d.ts.map +1 -1
- package/dist/types/src/operations/definitions.d.ts +15 -15
- package/dist/types/src/operations/definitions.d.ts.map +1 -1
- package/dist/types/src/operations/delete-field.d.ts +1 -1
- package/dist/types/src/operations/delete-field.d.ts.map +1 -1
- package/dist/types/src/operations/duplicate-object.d.ts +1 -1
- package/dist/types/src/operations/duplicate-object.d.ts.map +1 -1
- package/dist/types/src/operations/get-share-link.d.ts +1 -1
- package/dist/types/src/operations/get-share-link.d.ts.map +1 -1
- package/dist/types/src/operations/index.d.ts +1 -1
- package/dist/types/src/operations/index.d.ts.map +1 -1
- package/dist/types/src/operations/join.d.ts +1 -1
- package/dist/types/src/operations/join.d.ts.map +1 -1
- package/dist/types/src/operations/migrate.d.ts +1 -1
- package/dist/types/src/operations/migrate.d.ts.map +1 -1
- package/dist/types/src/operations/open-create-object.d.ts +1 -1
- package/dist/types/src/operations/open-create-object.d.ts.map +1 -1
- package/dist/types/src/operations/open-create-space.d.ts +1 -1
- package/dist/types/src/operations/open-create-space.d.ts.map +1 -1
- package/dist/types/src/operations/open-members.d.ts +1 -1
- package/dist/types/src/operations/open-members.d.ts.map +1 -1
- package/dist/types/src/operations/open-settings.d.ts +1 -1
- package/dist/types/src/operations/open-settings.d.ts.map +1 -1
- package/dist/types/src/operations/open.d.ts +1 -1
- package/dist/types/src/operations/open.d.ts.map +1 -1
- package/dist/types/src/operations/remove-objects.d.ts +1 -1
- package/dist/types/src/operations/remove-objects.d.ts.map +1 -1
- package/dist/types/src/operations/rename-object.d.ts +1 -1
- package/dist/types/src/operations/rename-object.d.ts.map +1 -1
- package/dist/types/src/operations/rename.d.ts +1 -1
- package/dist/types/src/operations/rename.d.ts.map +1 -1
- package/dist/types/src/operations/restore-field.d.ts +1 -1
- package/dist/types/src/operations/restore-field.d.ts.map +1 -1
- package/dist/types/src/operations/restore-objects.d.ts +1 -1
- package/dist/types/src/operations/restore-objects.d.ts.map +1 -1
- package/dist/types/src/operations/share.d.ts +1 -1
- package/dist/types/src/operations/share.d.ts.map +1 -1
- package/dist/types/src/operations/snapshot.d.ts +1 -1
- package/dist/types/src/operations/snapshot.d.ts.map +1 -1
- package/dist/types/src/operations/wait-for-object.d.ts +1 -1
- package/dist/types/src/operations/wait-for-object.d.ts.map +1 -1
- package/dist/types/src/translations.d.ts +248 -248
- package/dist/types/src/translations.d.ts.map +1 -1
- package/dist/types/src/types/capabilities.d.ts +2 -2
- package/dist/types/src/types/capabilities.d.ts.map +1 -1
- package/dist/types/src/types/events.d.ts.map +1 -1
- package/dist/types/src/types/types.d.ts +1 -1
- package/dist/types/src/types/types.d.ts.map +1 -1
- package/dist/types/src/util.d.ts +1 -1
- package/dist/types/src/util.d.ts.map +1 -1
- package/dist/types/tsconfig.tsbuildinfo +1 -1
- package/package.json +66 -61
- package/src/SpacePlugin.ts +4 -5
- package/src/capabilities/app-graph-builder/app-graph-builder.ts +1 -1
- package/src/capabilities/app-graph-builder/extensions/collections.ts +12 -6
- package/src/capabilities/app-graph-builder/extensions/companions.ts +5 -5
- package/src/capabilities/app-graph-builder/extensions/settings.ts +18 -16
- package/src/capabilities/app-graph-builder/extensions/shared.test.ts +2 -2
- package/src/capabilities/app-graph-builder/extensions/shared.ts +33 -14
- package/src/capabilities/app-graph-builder/extensions/spaces.ts +4 -19
- package/src/capabilities/app-graph-builder/extensions/types.ts +16 -9
- package/src/capabilities/app-graph-serializer.ts +1 -1
- package/src/capabilities/identity-created.ts +1 -1
- package/src/capabilities/index.ts +1 -1
- package/src/capabilities/navigation-handler/navigation-handler.ts +1 -1
- package/src/capabilities/node.ts +1 -1
- package/src/capabilities/operation-handler.ts +1 -1
- package/src/capabilities/react-surface.tsx +60 -36
- package/src/capabilities/repair.ts +1 -1
- package/src/capabilities/state.ts +1 -1
- package/src/cli/commands/database/add.ts +2 -2
- package/src/cli/commands/space/create/create.ts +1 -1
- package/src/cli/plugin.ts +1 -1
- package/src/components/SpaceSettings/SpaceSettings.stories.tsx +2 -1
- package/src/containers/CreateObjectDialog/CreateObjectDialog.stories.tsx +1 -2
- package/src/containers/CreateObjectDialog/CreateObjectDialog.tsx +2 -3
- package/src/containers/CreateSpaceDialog/CreateSpaceDialog.stories.tsx +2 -1
- package/src/containers/JoinDialog/JoinDialog.stories.tsx +2 -1
- package/src/containers/ObjectRenamePopover/ObjectRenamePopover.tsx +1 -1
- package/src/containers/RecordArticle/RecordArticle.stories.tsx +2 -1
- package/src/containers/SpacePresence/SpacePresence.stories.tsx +2 -1
- package/src/containers/SpaceRenamePopover/SpaceRenamePopover.tsx +1 -1
- package/src/containers/SpaceSettingsContainer/SpaceSettingsContainer.stories.tsx +2 -1
- package/src/containers/SpaceSettingsContainer/SpaceSettingsContainer.tsx +1 -1
- package/src/containers/SyncStatus/SyncStatus.stories.tsx +2 -1
- package/src/containers/ViewEditor/ViewEditor.tsx +2 -2
- package/src/hooks/useInputSurfaceLookup.tsx +9 -2
- package/src/index.ts +0 -1
- package/src/operations/add-object.ts +6 -7
- package/src/operations/add-relation.ts +1 -1
- package/src/operations/add-schema.ts +2 -2
- package/src/operations/close.ts +1 -1
- package/src/operations/create.ts +2 -2
- package/src/operations/definitions.ts +1 -1
- package/src/operations/delete-field.ts +1 -1
- package/src/operations/duplicate-object.ts +1 -1
- package/src/operations/get-share-link.ts +1 -1
- package/src/operations/index.ts +1 -1
- package/src/operations/join.ts +1 -1
- package/src/operations/migrate.ts +1 -1
- package/src/operations/open-create-object.ts +1 -1
- package/src/operations/open-create-space.ts +1 -1
- package/src/operations/open-members.ts +1 -1
- package/src/operations/open-settings.ts +2 -2
- package/src/operations/open.ts +1 -1
- package/src/operations/remove-objects.ts +2 -2
- package/src/operations/rename-object.ts +1 -1
- package/src/operations/rename.ts +1 -1
- package/src/operations/restore-field.ts +1 -1
- package/src/operations/restore-objects.ts +2 -2
- package/src/operations/share.ts +1 -1
- package/src/operations/snapshot.ts +1 -1
- package/src/operations/wait-for-object.ts +1 -1
- package/src/translations.ts +7 -7
- package/src/types/capabilities.ts +2 -2
- package/src/types/types.ts +1 -1
- package/src/util.ts +1 -1
- package/dist/lib/browser/add-object-XUA4QRWE.mjs.map +0 -7
- package/dist/lib/browser/add-relation-YNTOBNYM.mjs.map +0 -7
- package/dist/lib/browser/add-schema-Q5X2SAX4.mjs.map +0 -7
- package/dist/lib/browser/chunk-5CKPBXLB.mjs +0 -16
- package/dist/lib/browser/chunk-5CKPBXLB.mjs.map +0 -7
- package/dist/lib/browser/chunk-BJAZV3HI.mjs.map +0 -7
- package/dist/lib/browser/chunk-FBRDXXNK.mjs.map +0 -7
- package/dist/lib/browser/chunk-YSV6LKD6.mjs.map +0 -7
- package/dist/lib/browser/create-AE3FYWXG.mjs.map +0 -7
- package/dist/lib/browser/delete-field-G77IGW6B.mjs.map +0 -7
- package/dist/lib/browser/duplicate-object-B3Q64ELR.mjs.map +0 -7
- package/dist/lib/browser/migrate-J7OVAUIM.mjs.map +0 -7
- package/dist/lib/browser/open-create-object-QQFDBDDC.mjs.map +0 -7
- package/dist/lib/browser/remove-objects-5JFRQRGL.mjs.map +0 -7
- package/dist/lib/browser/rename-object-V2LDZGOE.mjs.map +0 -7
- package/dist/lib/browser/restore-field-TQJP2YJI.mjs.map +0 -7
- package/dist/lib/browser/restore-objects-23VJYK72.mjs.map +0 -7
- package/dist/lib/browser/snapshot-OOA2JZ67.mjs.map +0 -7
- package/dist/lib/node-esm/add-object-OULSB2DR.mjs.map +0 -7
- package/dist/lib/node-esm/add-relation-K6EZYWKL.mjs.map +0 -7
- package/dist/lib/node-esm/add-schema-4GSWOILA.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-64AL4GHY.mjs +0 -18
- package/dist/lib/node-esm/chunk-64AL4GHY.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-7Z5ON2QQ.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-IHOQPYNT.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-TZTVDLGM.mjs.map +0 -7
- package/dist/lib/node-esm/create-BRA5OQHY.mjs.map +0 -7
- package/dist/lib/node-esm/delete-field-UNKELUX7.mjs.map +0 -7
- package/dist/lib/node-esm/duplicate-object-QDZHK24D.mjs.map +0 -7
- package/dist/lib/node-esm/migrate-NXBHBCFU.mjs.map +0 -7
- package/dist/lib/node-esm/open-create-object-CMNXPKSF.mjs.map +0 -7
- package/dist/lib/node-esm/remove-objects-KTAS3FB3.mjs.map +0 -7
- package/dist/lib/node-esm/rename-object-D2AVOXBO.mjs.map +0 -7
- package/dist/lib/node-esm/restore-field-O7T4WCMB.mjs.map +0 -7
- package/dist/lib/node-esm/restore-objects-IRKTUGP2.mjs.map +0 -7
- package/dist/lib/node-esm/snapshot-H3SRUIPR.mjs.map +0 -7
- /package/dist/lib/browser/{SpaceSettings-TR2IMHOL.mjs.map → SpaceSettings-EM4ANH25.mjs.map} +0 -0
- /package/dist/lib/node-esm/{SpaceSettings-YW75BDWT.mjs.map → SpaceSettings-VS63WTFP.mjs.map} +0 -0
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../src/cli/plugin.ts", "../../../../src/cli/commands/database/index.ts", "../../../../src/cli/commands/database/add.ts", "../../../../src/cli/commands/database/util.ts", "../../../../src/cli/commands/database/query/query.ts", "../../../../src/cli/commands/database/remove.ts", "../../../../src/cli/commands/database/stats.ts", "../../../../src/cli/commands/queue/index.ts", "../../../../src/cli/commands/queue/query.ts", "../../../../src/cli/commands/queue/util.ts", "../../../../src/cli/commands/space/index.ts", "../../../../src/cli/commands/space/close/close.ts", "../../../../src/cli/commands/space/create/create.ts", "../../../../src/cli/commands/space/info/info.ts", "../../../../src/cli/commands/space/join/join.ts", "../../../../src/cli/commands/space/join/util.ts", "../../../../src/cli/commands/space/list/list.ts", "../../../../src/cli/commands/space/members/members.ts", "../../../../src/cli/commands/space/members/util.ts", "../../../../src/cli/commands/space/open/open.ts", "../../../../src/cli/commands/space/schema/index.ts", "../../../../src/cli/commands/space/schema/list/list.ts", "../../../../src/cli/commands/space/schema/list/util.ts", "../../../../src/cli/commands/space/share/share.ts", "../../../../src/cli/commands/space/sync/sync.ts"],
|
|
4
|
-
"sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport * as Effect from 'effect/Effect';\n\nimport { ActivationEvents, Capability, Plugin } from '@dxos/app-framework';\nimport { AppPlugin } from '@dxos/app-toolkit';\nimport { Tag } from '@dxos/echo';\nimport { Collection } from '@dxos/echo';\nimport { Operation } from '@dxos/operation';\nimport { ClientEvents } from '@dxos/plugin-client/types';\nimport { DataTypes } from '@dxos/schema';\nimport {\n AnchoredTo,\n Employer,\n Event,\n HasConnection,\n HasRelationship,\n HasSubject,\n Organization,\n Person,\n Pipeline,\n Task,\n} from '@dxos/types';\n\nimport { IdentityCreated, OperationHandler, UndoMappings } from '#capabilities';\nimport { meta } from '#meta';\nimport { SpaceOperation } from '#operations';\nimport { SpaceEvents } from '#types';\nimport { type CreateObject, type SpacePluginOptions } from '#types';\n\nimport { database, queue, space } from './commands';\n\nexport const SpacePlugin = Plugin.define<SpacePluginOptions>(meta).pipe(\n // TODO(wittjosiah): Could some of these commands make use of operations?\n AppPlugin.addCommandModule({\n commands: [database, queue, space],\n }),\n AppPlugin.addMetadataModule({\n metadata: {\n id: Collection.Collection.typename,\n metadata: {\n createObject: ((props, options) =>\n Effect.gen(function* () {\n const object = Collection.make(props);\n return yield* Operation.invoke(SpaceOperation.AddObject, {\n object,\n target: options.target,\n hidden: true,\n targetNodeId: options.targetNodeId,\n });\n })) satisfies CreateObject,\n },\n },\n }),\n AppPlugin.addOperationHandlerModule({ activate: OperationHandler }),\n AppPlugin.addSchemaModule({\n schema: [\n ...DataTypes,\n AnchoredTo.AnchoredTo,\n Employer.Employer,\n Event.Event,\n HasConnection.HasConnection,\n HasRelationship.HasRelationship,\n HasSubject.HasSubject,\n Organization.Organization,\n Person.Person,\n Pipeline.Pipeline,\n Tag.Tag,\n Task.Task,\n ],\n }),\n Plugin.addModule(\n ({\n shareableLinkOrigin = 'http://localhost:5173',\n invitationPath = '/',\n invitationProp = 'spaceInvitationCode',\n }) => {\n const createInvitationUrl = (invitationCode: string) => {\n const baseUrl = new URL(invitationPath || '/', shareableLinkOrigin);\n baseUrl.searchParams.set(invitationProp, invitationCode);\n return baseUrl.toString();\n };\n\n return {\n id: Capability.getModuleTag(UndoMappings),\n activatesOn: ActivationEvents.SetupOperationHandler,\n activate: () => UndoMappings({ createInvitationUrl, observability: false }),\n };\n },\n ),\n Plugin.addModule({\n activatesOn: ClientEvents.IdentityCreated,\n firesAfterActivation: [SpaceEvents.PersonalSpaceReady],\n activate: IdentityCreated,\n }),\n Plugin.make,\n);\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport * as Command from '@effect/cli/Command';\n\nimport { add } from './add';\nimport { query } from './query';\nimport { remove } from './remove';\nimport { stats } from './stats';\n\n// TODO(wittjosiah): Alias to `db`.\nexport const database: Command.Command<any, any, any, any> = Command.make('database').pipe(\n Command.withDescription('Database access.'),\n Command.withSubcommands([add, query, remove, stats]),\n);\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport * as Command from '@effect/cli/Command';\nimport * as Options from '@effect/cli/Options';\nimport * as Prompt from '@effect/cli/Prompt';\nimport * as Console from 'effect/Console';\nimport * as Effect from 'effect/Effect';\nimport * as Option from 'effect/Option';\nimport type * as Schema from 'effect/Schema';\n\n// eslint-disable-next-line unused-imports/no-unused-imports\nimport { type Capability, Plugin } from '@dxos/app-framework';\nimport { AppActivationEvents, AppCapabilities } from '@dxos/app-toolkit';\nimport { CommandConfig, Common, flushAndSync, print, spaceLayer } from '@dxos/cli-util';\nimport { SpaceProperties } from '@dxos/client/echo';\nimport { Database, Filter, Obj, Type } from '@dxos/echo';\nimport { Collection } from '@dxos/echo';\nimport { EntityKind, getTypeAnnotation } from '@dxos/echo/internal';\n// eslint-disable-next-line unused-imports/no-unused-imports\nimport type { Operation } from '@dxos/operation';\n\nimport { type CreateObject } from '#types';\n\nimport { printObject } from './util';\n\nexport type Metadata = {\n createObject: CreateObject;\n inputSchema?: Schema.Schema.AnyNoContext;\n};\n\nexport const add = Command.make(\n 'add',\n {\n spaceId: Common.spaceId.pipe(Options.optional),\n typename: Options.text('typename').pipe(Options.withDescription('The typename to create.'), Options.optional),\n },\n ({ typename }) =>\n Effect.gen(function* () {\n const { json } = yield* CommandConfig;\n const manager = yield* Plugin.Service;\n const { db } = yield* Database.Service;\n\n yield* manager.activate(AppActivationEvents.SetupMetadata);\n\n const resolve = (typename: string) => {\n const metadata = manager.capabilities\n .getAll(AppCapabilities.Metadata)\n .find(({ id }) => id === typename)?.metadata;\n return metadata?.createObject ? (metadata as Metadata) : undefined;\n };\n\n const [properties] = yield* Database.runQuery(Filter.type(SpaceProperties));\n const collection = yield* Database.load<Collection.Collection>(properties[Collection.Collection.typename]);\n\n const selectedTypename = yield* Option.match(typename, {\n onNone: () => selectTypename(resolve),\n onSome: (t) => Effect.succeed(t),\n });\n const metadata = resolve(selectedTypename);\n if (!metadata) {\n return yield* Effect.fail(new Error(`Unknown typename: ${selectedTypename}`));\n }\n\n const result = yield* metadata.createObject({}, { db, target: collection });\n const object = result.object;\n if (!Obj.isObject(object)) {\n return yield* Effect.fail(new Error(`Invalid object: ${object}`));\n }\n\n if (json) {\n yield* Console.log(JSON.stringify(object, null, 2));\n } else {\n yield* Console.log(print(printObject(object)));\n }\n\n yield* flushAndSync({ indexes: true });\n }),\n).pipe(\n Command.withDescription('Add an object to a space.'),\n Command.provide(({ spaceId }) => spaceLayer(spaceId, true)),\n);\n\n/**\n * Prompts for typename selection if not provided.\n */\nconst selectTypename = Effect.fn(function* (resolve: (typename: string) => Metadata | undefined) {\n const schemas = yield* Database.runSchemaQuery({\n location: ['database', 'runtime'],\n includeSystem: false,\n }).pipe(\n Effect.map((schemas) => schemas.filter((schema) => getTypeAnnotation(schema)?.kind !== EntityKind.Relation)),\n Effect.map((schemas) => schemas.filter((schema) => !!resolve(Type.getTypename(schema)))),\n );\n\n const choices = schemas.map((schema) => ({\n // TODO(wittjosiah): Translations.\n title: Type.getTypename(schema),\n value: Type.getTypename(schema),\n description: Type.getTypename(schema),\n }));\n\n const selected = yield* Prompt.select({\n message: 'Select a type:',\n choices,\n });\n\n return selected;\n});\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { FormBuilder } from '@dxos/cli-util';\nimport { Entity } from '@dxos/echo';\n\n/**\n * Pretty prints an object with ANSI colors.\n */\nexport const printObject = (obj: Entity.Unknown) => {\n const typename = Entity.getTypename(obj) ?? '<unknown>';\n\n // TODO(wittjosiah): Obj.getSchema and thus Obj.getLabel are coming back undefined for some reason.\n return FormBuilder.make({ title: Entity.getLabel(obj) ?? typename }).pipe(\n FormBuilder.set('id', obj.id),\n FormBuilder.set('typename', typename),\n FormBuilder.build,\n );\n};\n\n/**\n * Pretty prints object stats with ANSI colors.\n */\nexport const printStats = (typename: string, count: number) =>\n FormBuilder.make({ title: typename }).pipe(FormBuilder.set('count', count), FormBuilder.build);\n\n/**\n * Pretty prints object removal result with ANSI colors.\n */\nexport const printObjectRemoved = (count: number) =>\n FormBuilder.make({ title: 'Objects removed' }).pipe(FormBuilder.set('count', count), FormBuilder.build);\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport * as Command from '@effect/cli/Command';\nimport * as Options from '@effect/cli/Options';\nimport * as Console from 'effect/Console';\nimport * as Effect from 'effect/Effect';\nimport * as Option from 'effect/Option';\n\nimport { CommandConfig, Common, printList, spaceLayer } from '@dxos/cli-util';\nimport { Database, Filter } from '@dxos/echo';\n\nimport { printObject } from '../util';\n\nexport const handler = ({ typename }: { typename: Option.Option<string> }) =>\n Effect.gen(function* () {\n const { json } = yield* CommandConfig;\n const filter = Option.match(typename, {\n onNone: () => Filter.everything(),\n onSome: (typename) => Filter.typename(typename),\n });\n const objects = yield* Database.runQuery(filter);\n\n if (json) {\n yield* Console.log(JSON.stringify(objects, null, 2));\n } else {\n // TODO(wittjosiah): Interactive table of results.\n const formatted = objects.map(printObject);\n yield* Console.log(printList(formatted));\n }\n });\n\nexport const query = Command.make(\n 'query',\n {\n spaceId: Common.spaceId.pipe(Options.optional),\n typename: Options.text('typename').pipe(Options.optional, Options.withDescription('The typename to query.')),\n },\n handler,\n).pipe(\n Command.withDescription('Query objects.'),\n Command.provide(({ spaceId }) => spaceLayer(spaceId, true)),\n);\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport * as Command from '@effect/cli/Command';\nimport * as Options from '@effect/cli/Options';\nimport * as Console from 'effect/Console';\nimport * as Effect from 'effect/Effect';\nimport * as Option from 'effect/Option';\n\nimport { CommandConfig, Common, print, spaceLayer } from '@dxos/cli-util';\nimport { Database, Filter, Query } from '@dxos/echo';\n\nimport { printObjectRemoved } from './util';\n\nexport const remove = Command.make(\n 'remove',\n {\n spaceId: Common.spaceId.pipe(Options.optional),\n typename: Options.text('typename').pipe(Options.withDescription('The typename to query.'), Options.optional),\n id: Options.text('id').pipe(Options.withDescription('The object ID.'), Options.optional),\n },\n ({ typename, id }) =>\n Effect.gen(function* () {\n const { json } = yield* CommandConfig;\n if (Option.isSome(id) && Option.isSome(typename)) {\n throw new Error('Cannot specify both typename and id');\n }\n let query: Query.Any;\n if (Option.isSome(id)) {\n query = Query.select(Filter.id(id.value));\n } else if (Option.isSome(typename)) {\n query = Query.select(Filter.typename(typename.value));\n } else {\n throw new Error('Must specify typename or id');\n }\n const objects = yield* Database.runQuery(query);\n for (const object of objects) {\n yield* Database.remove(object);\n }\n\n if (json) {\n yield* Console.log(JSON.stringify({ removed: objects.length }, null, 2));\n } else {\n yield* Console.log(print(printObjectRemoved(objects.length)));\n }\n }),\n).pipe(\n Command.withDescription('Remove an object from a space.'),\n Command.provide(({ spaceId }) => spaceLayer(spaceId, true)),\n);\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport * as Command from '@effect/cli/Command';\nimport * as Options from '@effect/cli/Options';\nimport * as Array from 'effect/Array';\nimport * as Console from 'effect/Console';\nimport * as Effect from 'effect/Effect';\nimport * as Function from 'effect/Function';\nimport * as Record from 'effect/Record';\n\nimport { CommandConfig, Common, printList, spaceLayer } from '@dxos/cli-util';\nimport { Obj } from '@dxos/echo';\nimport { Database, Filter, Query } from '@dxos/echo';\n\nimport { printStats } from './util';\n\nexport const stats = Command.make(\n 'stats',\n {\n spaceId: Common.spaceId.pipe(Options.optional),\n },\n () =>\n Effect.gen(function* () {\n const { json } = yield* CommandConfig;\n const objects = yield* Database.runQuery(Query.select(Filter.everything()));\n const stats = Function.pipe(\n objects,\n Array.groupBy((obj) => Obj.getTypename(obj) ?? '<empty>'),\n Record.map((objs) => objs.length),\n );\n\n if (json) {\n yield* Console.log(JSON.stringify(stats, null, 2));\n } else {\n const formatted = Record.toEntries(stats).map(([typename, count]) => printStats(typename, count));\n yield* Console.log(printList(formatted));\n }\n }),\n).pipe(\n Command.withDescription('Query objects.'),\n Command.provide(({ spaceId }) => spaceLayer(spaceId, true)),\n);\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport * as Command from '@effect/cli/Command';\n\nimport { query } from './query';\n\nexport const queue = Command.make('queue').pipe(\n Command.withDescription('Manage queues.'),\n Command.withSubcommands([query]),\n);\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport * as Command from '@effect/cli/Command';\nimport * as Options from '@effect/cli/Options';\nimport * as Console from 'effect/Console';\nimport * as Effect from 'effect/Effect';\nimport * as Schema from 'effect/Schema';\n\nimport { CommandConfig, printList } from '@dxos/cli-util';\nimport { ClientService } from '@dxos/client';\nimport { type Queue } from '@dxos/client/echo';\nimport { DXN } from '@dxos/keys';\n\nimport { printQueueObject } from './util';\n\n// TODO(dmaretskyi): Extract\nconst DXNSchema = Schema.String.pipe(\n Schema.transform(Schema.instanceOf(DXN), {\n decode: (value: string) => DXN.parse(value),\n encode: (value: DXN) => value.toString(),\n }),\n);\n\nexport const query = Command.make(\n 'query',\n {\n dxn: Options.text('dxn').pipe(Options.withDescription('DXN of the queue.'), Options.withSchema(DXNSchema)),\n },\n Effect.fnUntraced(function* ({ dxn }) {\n const { json } = yield* CommandConfig;\n const client = yield* ClientService;\n const queue = (yield* Effect.promise(() => client.graph.createRefResolver({}).resolve(dxn))) as Queue<any>;\n const objects = yield* Effect.promise(() => queue.queryObjects());\n\n if (json) {\n yield* Console.log(JSON.stringify(objects, null, 2));\n } else {\n // TODO(wittjosiah): Interactive table of results.\n const formatted = objects.map(printQueueObject);\n yield* Console.log(printList(formatted));\n }\n }),\n).pipe(Command.withDescription('Query objects in a queue.'));\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { FormBuilder } from '@dxos/cli-util';\nimport { Entity } from '@dxos/echo';\n\n/**\n * Pretty prints a queue object with ANSI colors.\n */\nexport const printQueueObject = (obj: Entity.Any) => {\n const typename = Entity.getTypename(obj) ?? '<unknown>';\n\n return FormBuilder.make({ title: typename }).pipe(\n FormBuilder.set('id', obj.id),\n FormBuilder.set('typename', typename),\n FormBuilder.build,\n );\n};\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport * as Command from '@effect/cli/Command';\n\nimport { close } from './close';\nimport { create } from './create';\nimport { info } from './info';\nimport { join } from './join';\nimport { list } from './list';\nimport { members } from './members';\nimport { open } from './open';\nimport { schema } from './schema';\nimport { share } from './share';\nimport { sync } from './sync';\n\nexport const space = Command.make('space').pipe(\n Command.withDescription('Manage ECHO spaces.'),\n Command.withSubcommands([close, create, info, join, list, members, open, schema, share, sync]),\n);\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport * as Command from '@effect/cli/Command';\nimport * as Options from '@effect/cli/Options';\nimport * as Console from 'effect/Console';\nimport * as Effect from 'effect/Effect';\n\nimport { CommandConfig, Common, getSpace, waitForSync } from '@dxos/cli-util';\nimport { ClientService } from '@dxos/client';\nimport { type Key } from '@dxos/echo';\n\nexport const handler = ({ spaceId }: { spaceId: Key.SpaceId }) =>\n Effect.gen(function* () {\n const { json } = yield* CommandConfig;\n const client = yield* ClientService;\n\n const space = yield* getSpace(spaceId);\n\n // Flush and sync before closing\n yield* Effect.tryPromise(() => space.db.flush());\n yield* waitForSync(space);\n\n yield* Effect.tryPromise(() => space.close());\n\n if (json) {\n yield* Console.log(JSON.stringify({ success: true, spaceId }, null, 2));\n } else {\n yield* Console.log(`Space ${spaceId} closed successfully.`);\n }\n });\n\nexport const close = Command.make(\n 'close',\n {\n spaceId: Common.spaceId.pipe(Options.withDescription('Space ID to close.')),\n },\n handler,\n).pipe(Command.withDescription('Close a space.'));\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport * as Command from '@effect/cli/Command';\nimport * as Options from '@effect/cli/Options';\nimport * as Console from 'effect/Console';\nimport * as Effect from 'effect/Effect';\nimport * as Option from 'effect/Option';\n\nimport { CommandConfig } from '@dxos/cli-util';\nimport { print, waitForSync } from '@dxos/cli-util';\nimport { FormBuilder } from '@dxos/cli-util';\nimport { ClientService } from '@dxos/client';\nimport { Obj } from '@dxos/echo';\n\nexport const handler = Effect.fn(function* ({ name }: { name: Option.Option<string> }) {\n const { json } = yield* CommandConfig;\n const client = yield* ClientService;\n\n const space = yield* Effect.tryPromise(() => client.spaces.create());\n yield* Effect.tryPromise(() => space.waitUntilReady());\n\n if (Option.isSome(name)) {\n Obj.change(space.properties, (obj) => {\n obj.name = Option.getOrUndefined(name);\n });\n }\n\n // Output first, then flush and sync\n if (json) {\n yield* Console.log(\n JSON.stringify(\n {\n key: space.key.toHex(),\n ...(space.properties.name ? { name: space.properties.name } : {}),\n },\n null,\n 2,\n ),\n );\n } else {\n const builder = FormBuilder.make({ title: 'Created Space' }).pipe(\n FormBuilder.set('key', space.key.truncate()),\n FormBuilder.set('name', space.properties.name ?? '<none>'),\n );\n yield* Console.log(print(FormBuilder.build(builder)));\n }\n\n // Flush and sync before completion\n yield* Effect.tryPromise(() => space.db.flush());\n yield* waitForSync(space);\n});\n\nexport const create = Command.make(\n 'create',\n {\n name: Options.text('name').pipe(Options.withDescription('The name of the space.'), Options.optional),\n },\n handler,\n).pipe(Command.withDescription('Create a new space.'));\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport * as Command from '@effect/cli/Command';\nimport * as Options from '@effect/cli/Options';\nimport * as Console from 'effect/Console';\nimport * as Effect from 'effect/Effect';\nimport * as Option from 'effect/Option';\n\nimport { CommandConfig, Common, formatSpace, getSpace, print, printSpace, spaceIdWithDefault } from '@dxos/cli-util';\nimport { ClientService } from '@dxos/client';\nimport { type Key } from '@dxos/echo';\n\nexport const handler = Effect.fn(function* ({\n spaceId,\n wait,\n}: {\n spaceId: Option.Option<string>;\n wait: Option.Option<number>;\n}) {\n const { json } = yield* CommandConfig;\n const client = yield* ClientService;\n\n const resolvedSpaceId = yield* spaceIdWithDefault(spaceId as Option.Option<Key.SpaceId>);\n const space = yield* getSpace(resolvedSpaceId);\n\n const waitSeconds = Option.getOrElse(wait, () => 0);\n const formatted = yield* formatSpace(space, { waitSeconds });\n\n if (json) {\n yield* Console.log(JSON.stringify(formatted, null, 2));\n } else {\n yield* Console.log(print(printSpace(formatted)));\n }\n});\n\nexport const info = Command.make(\n 'info',\n {\n spaceId: Common.spaceId.pipe(Options.optional),\n wait: Options.integer('wait').pipe(\n Options.withDescription(\n 'Wait up to this many seconds for the space to reach SPACE_READY. Default 0 — read whatever state is available immediately.',\n ),\n Options.optional,\n ),\n },\n handler,\n).pipe(Command.withDescription('Show space info.'));\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport * as Args from '@effect/cli/Args';\nimport * as Command from '@effect/cli/Command';\nimport * as Options from '@effect/cli/Options';\nimport * as Prompt from '@effect/cli/Prompt';\nimport * as Console from 'effect/Console';\nimport * as Duration from 'effect/Duration';\nimport * as Effect from 'effect/Effect';\nimport * as Option from 'effect/Option';\n\nimport { CommandConfig } from '@dxos/cli-util';\nimport { print, waitForSync } from '@dxos/cli-util';\nimport { FormBuilder } from '@dxos/cli-util';\nimport { ClientService } from '@dxos/client';\n\nimport { acceptInvitation } from './util';\n\nexport const handler = Effect.fn(function* ({\n invitationCode,\n authCode,\n}: {\n invitationCode: string;\n authCode: Option.Option<string>;\n}) {\n const { json } = yield* CommandConfig;\n const client = yield* ClientService;\n\n let encoded = invitationCode;\n if (encoded.startsWith('http') || encoded.startsWith('socket')) {\n const searchProps = new URL(encoded).searchParams;\n encoded = searchProps.get('spaceInvitationCode') ?? encoded;\n }\n\n const invitation = yield* acceptInvitation({\n observable: client.spaces.join(encoded),\n callbacks: {\n onReadyForAuth: (invitation) => {\n if (Option.isSome(authCode)) {\n return Effect.succeed(Option.getOrUndefined(authCode) ?? undefined) as Effect.Effect<\n string | void,\n never,\n never\n >;\n }\n return Prompt.text({ message: 'Enter the authentication code' })\n .pipe(Prompt.run)\n .pipe(Effect.mapError(() => undefined as never))\n .pipe(Effect.catchAll(() => Effect.succeed(undefined))) as Effect.Effect<string | void, never, never>;\n },\n },\n });\n\n // Wait for space to be available with retry logic\n const spaceKey = invitation.spaceKey;\n if (!spaceKey) {\n if (json) {\n yield* Console.log(JSON.stringify({ error: 'No space key in invitation' }, null, 2));\n } else {\n yield* Console.log('No space key in invitation.');\n }\n return;\n }\n\n let space = client.spaces.get(spaceKey);\n if (!space) {\n // Retry up to 5 times with increasing delays\n const maxRetries = 5;\n const retryDelays = [0.5, 1, 1.5, 2, 2.5].map((s) => Duration.seconds(s));\n for (let i = 0; i < maxRetries; i++) {\n yield* Effect.sleep(retryDelays[i]);\n space = client.spaces.get(spaceKey);\n if (space) {\n break;\n }\n }\n }\n\n if (!space) {\n if (json) {\n yield* Console.log(JSON.stringify({ error: 'Space not found after joining' }, null, 2));\n } else {\n yield* Console.log('Space not found after joining.');\n }\n return;\n }\n\n // Flush and sync after joining\n yield* Effect.tryPromise(() => space.db.flush());\n yield* waitForSync(space);\n\n if (json) {\n yield* Console.log(\n JSON.stringify(\n {\n spaceId: space.id,\n state: space.state.get(),\n },\n null,\n 2,\n ),\n );\n } else {\n const builder = FormBuilder.make({ title: 'Joined Space' }).pipe(\n FormBuilder.set('spaceId', space.id),\n FormBuilder.set('key', space.key.truncate()),\n FormBuilder.set('name', space.properties.name ?? '<none>'),\n );\n yield* Console.log(print(FormBuilder.build(builder)));\n }\n});\n\nexport const join = Command.make(\n 'join',\n {\n invitationCode: Args.text({ name: 'invitationCode' }).pipe(Args.withDescription('The invitation code.')),\n authCode: Options.text('authCode').pipe(Options.withDescription('The authentication code.'), Options.optional),\n },\n handler,\n).pipe(Command.withDescription('Join a space via invitation.'));\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport * as Effect from 'effect/Effect';\nimport * as Queue from 'effect/Queue';\n\nimport { type AuthenticatingInvitationObservable, Invitation } from '@dxos/client/invitations';\nimport { runAndForwardErrors } from '@dxos/effect';\nimport { invariant } from '@dxos/invariant';\nimport { AlreadyJoinedError } from '@dxos/protocols';\n\ntype AcceptInvitationProps = {\n observable: AuthenticatingInvitationObservable;\n callbacks?: {\n onConnecting?: (invitation: Invitation) => Effect.Effect<void>;\n onReadyForAuth?: (invitation: Invitation) => Effect.Effect<string | void, never, never>;\n onSuccess?: (invitation: Invitation) => Effect.Effect<void>;\n };\n};\n\n/**\n * Accept an invitation and handle authentication flow.\n * Ported from cli-base to Effect-based approach.\n */\nexport const acceptInvitation = ({ observable, callbacks }: AcceptInvitationProps): Effect.Effect<Invitation, Error> =>\n Effect.gen(function* () {\n const doneQueue = yield* Queue.unbounded<Invitation>();\n\n const runCallback = (effect: Effect.Effect<void> | undefined) => {\n if (effect) {\n runAndForwardErrors(effect).catch(() => {\n // Ignore callback errors\n });\n }\n };\n\n const subscription = observable.subscribe(\n (invitation) => {\n switch (invitation.state) {\n case Invitation.State.CONNECTING: {\n runCallback(callbacks?.onConnecting?.(invitation));\n break;\n }\n\n case Invitation.State.READY_FOR_AUTHENTICATION: {\n if (invitation.authMethod === Invitation.AuthMethod.SHARED_SECRET) {\n const callbackEffect = callbacks?.onReadyForAuth?.(invitation) ?? Effect.succeed(undefined);\n Effect.gen(function* () {\n const callbackResult = yield* callbackEffect;\n const code = invitation.authCode ?? callbackResult;\n invariant(code, 'No code provided');\n yield* Effect.tryPromise(() => observable.authenticate(code));\n })\n .pipe(runAndForwardErrors)\n .catch(() => {\n // Error handling\n });\n }\n break;\n }\n\n case Invitation.State.SUCCESS: {\n runCallback(callbacks?.onSuccess?.(invitation));\n runAndForwardErrors(Queue.offer(doneQueue, invitation)).catch(() => {});\n break;\n }\n }\n },\n (err) => {\n if (err instanceof AlreadyJoinedError) {\n runAndForwardErrors(Queue.offer(doneQueue, observable.get())).catch(() => {});\n return;\n }\n throw err;\n },\n );\n\n const invitation = yield* Queue.take(doneQueue);\n subscription.unsubscribe();\n return invitation;\n });\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport * as Command from '@effect/cli/Command';\nimport * as Options from '@effect/cli/Options';\nimport * as Console from 'effect/Console';\nimport * as Effect from 'effect/Effect';\nimport * as Option from 'effect/Option';\n\nimport { CommandConfig, formatSpace, printSpace } from '@dxos/cli-util';\nimport { printList } from '@dxos/cli-util';\nimport { ClientService } from '@dxos/client';\n\n// TODO(burdon): Move handler inline and test separate functions.\nexport const handler = Effect.fn(function* ({ wait }: { wait: Option.Option<number> }) {\n const { json } = yield* CommandConfig;\n const client = yield* ClientService;\n const spaces = client.spaces.get();\n const waitSeconds = Option.getOrElse(wait, () => 0);\n const formattedSpaces = yield* Effect.all(spaces.map((space) => formatSpace(space, { waitSeconds })));\n\n if (json) {\n yield* Console.log(JSON.stringify(formattedSpaces, null, 2));\n } else {\n const formatted = formattedSpaces.map(printSpace);\n yield* Console.log(printList(formatted));\n }\n});\n\nexport const list = Command.make(\n 'list',\n {\n wait: Options.integer('wait').pipe(\n Options.withDescription(\n 'Wait up to this many seconds for each space to reach SPACE_READY before reading. Default 0 — print whatever state is available immediately so a stuck space cannot hang the command.',\n ),\n Options.optional,\n ),\n },\n handler,\n).pipe(Command.withDescription('List all spaces available on this device.'));\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport * as Command from '@effect/cli/Command';\nimport * as Options from '@effect/cli/Options';\nimport * as Console from 'effect/Console';\nimport * as Effect from 'effect/Effect';\nimport type * as Option from 'effect/Option';\n\nimport { CommandConfig, Common, getSpace, printList, spaceIdWithDefault } from '@dxos/cli-util';\nimport { ClientService } from '@dxos/client';\nimport { type Key } from '@dxos/echo';\n\nimport { mapMembers, printMembers } from './util';\n\nexport const handler = Effect.fn(function* ({ spaceId }: { spaceId: Option.Option<string> }) {\n const { json } = yield* CommandConfig;\n const client = yield* ClientService;\n\n const resolvedSpaceId = yield* spaceIdWithDefault(spaceId as Option.Option<Key.SpaceId>);\n const space = yield* getSpace(resolvedSpaceId);\n\n const members = space.members.get();\n\n if (json) {\n yield* Console.log(JSON.stringify(mapMembers(members), null, 2));\n } else {\n const formatted = printMembers(members);\n yield* Console.log(printList(formatted));\n }\n});\n\nexport const members = Command.make(\n 'members',\n {\n spaceId: Common.spaceId.pipe(Options.optional),\n },\n handler,\n).pipe(Command.withDescription('List space members.'));\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { FormBuilder } from '@dxos/cli-util';\nimport { SpaceMember } from '@dxos/client/echo';\n\nconst maybeTruncateKey = (key: { toHex(): string; truncate(): string }, truncate = false) =>\n truncate ? key.truncate() : key.toHex();\n\nexport const mapMembers = (members: SpaceMember[], truncateKeys = false) => {\n return members.map((member) => ({\n key: maybeTruncateKey(member.identity.identityKey, truncateKeys),\n name: member.identity.profile?.displayName,\n presence: member.presence === SpaceMember.PresenceState.ONLINE ? 'Online' : 'Offline',\n }));\n};\n\nexport const printMember = (member: SpaceMember) =>\n FormBuilder.make({ title: member.identity.profile?.displayName ?? member.identity.identityKey.truncate() }).pipe(\n FormBuilder.set('identityKey', member.identity.identityKey.truncate()),\n FormBuilder.set('displayName', member.identity.profile?.displayName ?? '<none>'),\n FormBuilder.set('presence', member.presence === SpaceMember.PresenceState.ONLINE ? 'Online' : 'Offline'),\n FormBuilder.build,\n );\n\nexport const printMembers = (members: SpaceMember[]) => {\n return members.map(printMember);\n};\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport * as Command from '@effect/cli/Command';\nimport * as Options from '@effect/cli/Options';\nimport * as Console from 'effect/Console';\nimport * as Effect from 'effect/Effect';\n\nimport { CommandConfig, Common, getSpace, waitForSync } from '@dxos/cli-util';\nimport { ClientService } from '@dxos/client';\nimport { type Key } from '@dxos/echo';\n\nexport const handler = ({ spaceId }: { spaceId: Key.SpaceId }) =>\n Effect.gen(function* () {\n const { json } = yield* CommandConfig;\n const client = yield* ClientService;\n\n const space = yield* getSpace(spaceId);\n yield* Effect.tryPromise(() => space.open());\n\n // Flush and sync after opening\n yield* Effect.tryPromise(() => space.db.flush());\n yield* waitForSync(space);\n\n if (json) {\n yield* Console.log(JSON.stringify({ success: true, spaceId }, null, 2));\n } else {\n yield* Console.log(`Space ${spaceId} opened successfully.`);\n }\n });\n\nexport const open = Command.make(\n 'open',\n {\n spaceId: Common.spaceId.pipe(Options.withDescription('Space ID to open.')),\n },\n handler,\n).pipe(Command.withDescription('Open a space.'));\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport * as Command from '@effect/cli/Command';\n\nimport { list } from './list';\n\nexport const schema = Command.make('schema').pipe(\n Command.withDescription('Manage space schemas.'),\n Command.withSubcommands([list]),\n);\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport * as Command from '@effect/cli/Command';\nimport * as Options from '@effect/cli/Options';\nimport * as Console from 'effect/Console';\nimport * as Effect from 'effect/Effect';\nimport * as Option from 'effect/Option';\n\nimport { CommandConfig, Common, getSpace, printList, spaceIdWithDefault } from '@dxos/cli-util';\nimport { ClientService } from '@dxos/client';\nimport { type Key } from '@dxos/echo';\nimport { getTypeAnnotation } from '@dxos/echo/internal';\n\nimport { createTypenameFilter, mapSchemas, printSchemas } from './util';\n\nexport const handler = Effect.fn(function* ({\n spaceId,\n typename,\n}: {\n spaceId: Option.Option<string>;\n typename: Option.Option<string>;\n}) {\n const { json } = yield* CommandConfig;\n const client = yield* ClientService;\n\n const resolvedSpaceId = yield* spaceIdWithDefault(spaceId as Option.Option<Key.SpaceId>);\n const space = yield* getSpace(resolvedSpaceId);\n\n const echoSchema = yield* Effect.tryPromise(() => space.db.schemaRegistry.query().run());\n const runtimeSchema = space.internal.db.graph.schemaRegistry.schemas;\n\n const schemas = [\n ...echoSchema.map((schema) => ({\n id: schema.id,\n typename: schema.typename,\n version: schema.version,\n })),\n ...runtimeSchema.map((schema) => {\n const schemaAnnotation = getTypeAnnotation(schema)!;\n return {\n typename: schemaAnnotation.typename,\n version: schemaAnnotation.version,\n };\n }),\n ].filter(createTypenameFilter(Option.getOrUndefined(typename)));\n\n if (json) {\n yield* Console.log(JSON.stringify(mapSchemas(schemas), null, 2));\n } else {\n const formatted = printSchemas(schemas);\n yield* Console.log(printList(formatted));\n }\n});\n\nexport const list = Command.make(\n 'list',\n {\n spaceId: Common.spaceId.pipe(Options.optional),\n typename: Options.text('typename').pipe(Options.withDescription('Filter schemas by typename.'), Options.optional),\n },\n handler,\n).pipe(Command.withDescription('List space schemas.'));\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { FormBuilder } from '@dxos/cli-util';\n\ntype SchemaEntry = {\n id?: string;\n typename: string;\n version: string;\n};\n\nexport const mapSchemas = (schemas: SchemaEntry[]) => {\n return schemas.map((schema) => ({\n id: schema.id,\n typename: schema.typename,\n version: schema.version,\n }));\n};\n\nexport const printSchema = (schema: SchemaEntry) =>\n FormBuilder.make({ title: schema.typename }).pipe(\n FormBuilder.set('id', schema.id ?? '<none>'),\n FormBuilder.set('typename', schema.typename),\n FormBuilder.set('version', schema.version),\n FormBuilder.build,\n );\n\nexport const printSchemas = (schemas: SchemaEntry[]) => {\n return schemas.map(printSchema);\n};\n\nexport const createTypenameFilter = (typenameFilter?: string) => {\n if (!typenameFilter) {\n return () => true;\n }\n\n return (schema: SchemaEntry) => schema.typename.toLowerCase().includes(typenameFilter.toLowerCase());\n};\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport * as Command from '@effect/cli/Command';\nimport * as Options from '@effect/cli/Options';\nimport * as Console from 'effect/Console';\nimport * as Effect from 'effect/Effect';\nimport type * as Option from 'effect/Option';\n\nimport {\n CommandConfig,\n Common,\n copyToClipboard,\n getSpace,\n openBrowser,\n print,\n spaceIdWithDefault,\n} from '@dxos/cli-util';\nimport { FormBuilder } from '@dxos/cli-util';\nimport { ClientService } from '@dxos/client';\nimport { Invitation, InvitationEncoder, hostInvitation } from '@dxos/client/invitations';\nimport { type Key } from '@dxos/echo';\n\nexport const handler = Effect.fn(function* ({\n spaceId,\n multiple,\n open,\n host,\n}: {\n spaceId: Option.Option<string>;\n multiple: boolean;\n open: boolean;\n host: string;\n}) {\n const { json } = yield* CommandConfig;\n const client = yield* ClientService;\n\n const resolvedSpaceId = yield* spaceIdWithDefault(spaceId as Option.Option<Key.SpaceId>);\n const space = yield* getSpace(resolvedSpaceId);\n\n // Always use persistent and delegated (auth required) due to P2P limitations\n const observable = space.share({\n authMethod: Invitation.AuthMethod.SHARED_SECRET,\n persistent: true,\n multiUse: multiple,\n });\n\n const invitation = yield* hostInvitation({\n observable,\n callbacks: {\n onConnecting: (invitation) =>\n Effect.gen(function* () {\n const invitationCode = InvitationEncoder.encode(invitation);\n const authCode = invitation.authCode!;\n\n // Copy auth code to clipboard\n yield* copyToClipboard(authCode).pipe(Effect.catchAll(() => Effect.void));\n\n if (!json) {\n yield* Console.log(`\\nSecret: ${authCode} (copied to clipboard)\\n`);\n }\n\n if (open) {\n const url = new URL(host);\n url.searchParams.append('spaceInvitationCode', invitationCode);\n yield* openBrowser(url.toString()).pipe(Effect.catchAll(() => Effect.void));\n } else if (!json) {\n yield* Console.log(`\\nInvitation: ${invitationCode}\\n`);\n }\n }),\n },\n waitForSuccess: true,\n });\n\n if (json) {\n yield* Console.log(\n JSON.stringify(\n {\n invitationCode: InvitationEncoder.encode(invitation),\n authCode: invitation.authCode,\n state: Invitation.State[invitation.state],\n },\n null,\n 2,\n ),\n );\n } else {\n const builder = FormBuilder.make({ title: 'Space Invitation' }).pipe(\n FormBuilder.set('invitationCode', InvitationEncoder.encode(invitation)),\n FormBuilder.set('authCode', invitation.authCode ?? '<none>'),\n FormBuilder.set('state', Invitation.State[invitation.state]),\n );\n yield* Console.log(print(FormBuilder.build(builder)));\n }\n});\n\nexport const share = Command.make(\n 'share',\n {\n spaceId: Common.spaceId.pipe(Options.optional),\n multiple: Options.boolean('multiple', { ifPresent: true }).pipe(\n Options.withDescription('Create a multi-use invitation.'),\n ),\n open: Options.boolean('open', { ifPresent: true }).pipe(Options.withDescription('Open browser with invitation.')),\n host: Options.text('host').pipe(\n Options.withDescription('Application Host URL.'),\n Options.withDefault('https://composer.space'),\n ),\n },\n handler,\n).pipe(Command.withDescription('Create space invitation.'));\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport * as Command from '@effect/cli/Command';\nimport * as Options from '@effect/cli/Options';\nimport * as Duration from 'effect/Duration';\nimport * as Effect from 'effect/Effect';\nimport * as Schedule from 'effect/Schedule';\n\nimport { Common, getSpace, spaceIdWithDefault, waitForSync, withTimeout } from '@dxos/cli-util';\n\nexport const sync = Command.make(\n 'sync',\n {\n spaceId: Common.spaceId.pipe(Options.optional),\n spaceTimeout: Options.integer('spaceTimeout').pipe(\n Options.withDescription('The timeout to wait for the space to be available in milliseconds.'),\n Options.withDefault(5000),\n ),\n },\n ({ spaceId, spaceTimeout }) =>\n Effect.gen(function* () {\n // If space is not available locally, wait for it to sync.\n const resolvedSpaceId = yield* spaceIdWithDefault(spaceId);\n const space = yield* getSpace(resolvedSpaceId).pipe(\n Effect.retry(Schedule.fixed('100 millis')),\n Effect.timeout(Duration.millis(spaceTimeout)),\n );\n\n yield* waitForSync(space);\n }).pipe(withTimeout),\n).pipe(Command.withDescription('Wait for a space to be fully synchronized with EDGE.'));\n"],
|
|
5
|
-
"mappings": "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",
|
|
6
|
-
"names": ["Effect", "ActivationEvents", "Capability", "Plugin", "AppPlugin", "Tag", "Collection", "Operation", "ClientEvents", "DataTypes", "AnchoredTo", "Employer", "Event", "HasConnection", "HasRelationship", "HasSubject", "Organization", "Person", "Pipeline", "Task", "IdentityCreated", "OperationHandler", "UndoMappings", "meta", "SpaceOperation", "SpaceEvents", "Command", "Command", "Options", "Prompt", "Console", "Effect", "Option", "Plugin", "AppActivationEvents", "AppCapabilities", "CommandConfig", "Common", "flushAndSync", "print", "spaceLayer", "SpaceProperties", "Database", "Filter", "Obj", "Type", "Collection", "EntityKind", "getTypeAnnotation", "FormBuilder", "Entity", "printObject", "obj", "typename", "Entity", "getTypename", "FormBuilder", "make", "title", "getLabel", "pipe", "set", "id", "build", "printStats", "count", "printObjectRemoved", "add", "make", "spaceId", "Common", "pipe", "optional", "typename", "text", "withDescription", "gen", "json", "CommandConfig", "manager", "Plugin", "Service", "db", "Database", "activate", "AppActivationEvents", "SetupMetadata", "resolve", "metadata", "capabilities", "getAll", "AppCapabilities", "Metadata", "find", "id", "createObject", "undefined", "properties", "runQuery", "Filter", "type", "SpaceProperties", "collection", "load", "Collection", "selectedTypename", "match", "onNone", "selectTypename", "onSome", "t", "succeed", "fail", "Error", "result", "target", "object", "Obj", "isObject", "log", "JSON", "stringify", "print", "printObject", "flushAndSync", "indexes", "provide", "spaceLayer", "fn", "schemas", "runSchemaQuery", "location", "includeSystem", "map", "filter", "schema", "getTypeAnnotation", "kind", "EntityKind", "Relation", "Type", "getTypename", "choices", "title", "value", "description", "selected", "select", "message", "Command", "Options", "Console", "Effect", "Option", "CommandConfig", "Common", "printList", "spaceLayer", "Database", "Filter", "handler", "typename", "gen", "json", "CommandConfig", "filter", "match", "onNone", "Filter", "everything", "onSome", "objects", "Database", "runQuery", "log", "JSON", "stringify", "formatted", "map", "printObject", "printList", "query", "make", "spaceId", "Common", "pipe", "optional", "text", "withDescription", "provide", "spaceLayer", "Command", "Options", "Console", "Effect", "Option", "CommandConfig", "Common", "print", "spaceLayer", "Database", "Filter", "Query", "remove", "make", "spaceId", "Common", "pipe", "optional", "typename", "text", "withDescription", "id", "gen", "json", "CommandConfig", "isSome", "Error", "query", "Query", "select", "Filter", "value", "objects", "Database", "runQuery", "object", "log", "JSON", "stringify", "removed", "length", "print", "printObjectRemoved", "provide", "spaceLayer", "Command", "Options", "Array", "Console", "Effect", "Function", "Record", "CommandConfig", "Common", "printList", "spaceLayer", "Obj", "Database", "Filter", "Query", "stats", "make", "spaceId", "Common", "pipe", "optional", "gen", "json", "CommandConfig", "objects", "Database", "runQuery", "Query", "select", "Filter", "everything", "groupBy", "obj", "Obj", "getTypename", "map", "objs", "length", "log", "JSON", "stringify", "formatted", "toEntries", "typename", "count", "printStats", "printList", "withDescription", "provide", "spaceLayer", "database", "make", "pipe", "withDescription", "withSubcommands", "add", "query", "remove", "stats", "Command", "Command", "Options", "Console", "Effect", "Schema", "CommandConfig", "printList", "ClientService", "DXN", "FormBuilder", "Entity", "printQueueObject", "obj", "typename", "Entity", "getTypename", "FormBuilder", "make", "title", "pipe", "set", "id", "build", "DXNSchema", "String", "pipe", "transform", "instanceOf", "DXN", "decode", "value", "parse", "encode", "toString", "query", "make", "dxn", "text", "withDescription", "withSchema", "fnUntraced", "json", "CommandConfig", "client", "ClientService", "queue", "promise", "graph", "createRefResolver", "resolve", "objects", "queryObjects", "log", "JSON", "stringify", "formatted", "map", "printQueueObject", "printList", "queue", "make", "pipe", "withDescription", "withSubcommands", "query", "Command", "Command", "Options", "Console", "Effect", "CommandConfig", "Common", "getSpace", "waitForSync", "ClientService", "handler", "spaceId", "gen", "json", "CommandConfig", "client", "ClientService", "space", "getSpace", "tryPromise", "db", "flush", "waitForSync", "close", "log", "JSON", "stringify", "success", "make", "Common", "pipe", "withDescription", "Command", "Options", "Console", "Effect", "Option", "CommandConfig", "print", "waitForSync", "FormBuilder", "ClientService", "Obj", "handler", "fn", "name", "json", "CommandConfig", "client", "ClientService", "space", "tryPromise", "spaces", "create", "waitUntilReady", "isSome", "Obj", "change", "properties", "obj", "getOrUndefined", "log", "JSON", "stringify", "key", "toHex", "builder", "FormBuilder", "make", "title", "pipe", "set", "truncate", "print", "build", "db", "flush", "waitForSync", "text", "withDescription", "optional", "Command", "Options", "Console", "Effect", "Option", "CommandConfig", "Common", "formatSpace", "getSpace", "print", "printSpace", "spaceIdWithDefault", "ClientService", "handler", "fn", "spaceId", "wait", "json", "CommandConfig", "client", "ClientService", "resolvedSpaceId", "spaceIdWithDefault", "space", "getSpace", "waitSeconds", "getOrElse", "formatted", "formatSpace", "log", "JSON", "stringify", "print", "printSpace", "info", "make", "Common", "pipe", "optional", "integer", "withDescription", "Args", "Command", "Options", "Prompt", "Console", "Duration", "Effect", "Option", "CommandConfig", "print", "waitForSync", "FormBuilder", "ClientService", "Effect", "Queue", "Invitation", "runAndForwardErrors", "invariant", "AlreadyJoinedError", "acceptInvitation", "observable", "callbacks", "gen", "doneQueue", "unbounded", "runCallback", "effect", "catch", "subscription", "subscribe", "invitation", "state", "State", "CONNECTING", "onConnecting", "READY_FOR_AUTHENTICATION", "authMethod", "AuthMethod", "SHARED_SECRET", "callbackEffect", "onReadyForAuth", "succeed", "undefined", "callbackResult", "code", "authCode", "tryPromise", "authenticate", "pipe", "SUCCESS", "onSuccess", "offer", "err", "get", "take", "unsubscribe", "handler", "fn", "invitationCode", "authCode", "json", "CommandConfig", "client", "ClientService", "encoded", "startsWith", "searchProps", "URL", "searchParams", "get", "invitation", "acceptInvitation", "observable", "spaces", "join", "callbacks", "onReadyForAuth", "isSome", "succeed", "getOrUndefined", "undefined", "text", "message", "pipe", "run", "mapError", "catchAll", "spaceKey", "log", "JSON", "stringify", "error", "space", "maxRetries", "retryDelays", "map", "s", "seconds", "i", "sleep", "tryPromise", "db", "flush", "waitForSync", "spaceId", "id", "state", "builder", "FormBuilder", "make", "title", "set", "key", "truncate", "properties", "name", "print", "build", "withDescription", "optional", "Command", "Options", "Console", "Effect", "Option", "CommandConfig", "formatSpace", "printSpace", "printList", "ClientService", "handler", "fn", "wait", "json", "CommandConfig", "client", "ClientService", "spaces", "get", "waitSeconds", "getOrElse", "formattedSpaces", "all", "map", "space", "formatSpace", "log", "JSON", "stringify", "formatted", "printSpace", "printList", "list", "make", "integer", "pipe", "withDescription", "optional", "Command", "Options", "Console", "Effect", "CommandConfig", "Common", "getSpace", "printList", "spaceIdWithDefault", "ClientService", "FormBuilder", "SpaceMember", "maybeTruncateKey", "key", "truncate", "toHex", "mapMembers", "members", "truncateKeys", "map", "member", "identity", "identityKey", "name", "profile", "displayName", "presence", "SpaceMember", "PresenceState", "ONLINE", "printMember", "FormBuilder", "make", "title", "pipe", "set", "build", "printMembers", "handler", "fn", "spaceId", "json", "CommandConfig", "client", "ClientService", "resolvedSpaceId", "spaceIdWithDefault", "space", "getSpace", "members", "get", "log", "JSON", "stringify", "mapMembers", "formatted", "printMembers", "printList", "make", "Common", "pipe", "optional", "withDescription", "Command", "Options", "Console", "Effect", "CommandConfig", "Common", "getSpace", "waitForSync", "ClientService", "handler", "spaceId", "gen", "json", "CommandConfig", "client", "ClientService", "space", "getSpace", "tryPromise", "open", "db", "flush", "waitForSync", "log", "JSON", "stringify", "success", "make", "Common", "pipe", "withDescription", "Command", "Command", "Options", "Console", "Effect", "Option", "CommandConfig", "Common", "getSpace", "printList", "spaceIdWithDefault", "ClientService", "getTypeAnnotation", "FormBuilder", "mapSchemas", "schemas", "map", "schema", "id", "typename", "version", "printSchema", "FormBuilder", "make", "title", "pipe", "set", "build", "printSchemas", "createTypenameFilter", "typenameFilter", "toLowerCase", "includes", "handler", "fn", "spaceId", "typename", "json", "CommandConfig", "client", "ClientService", "resolvedSpaceId", "spaceIdWithDefault", "space", "getSpace", "echoSchema", "tryPromise", "db", "schemaRegistry", "query", "run", "runtimeSchema", "internal", "graph", "schemas", "map", "schema", "id", "version", "schemaAnnotation", "getTypeAnnotation", "filter", "createTypenameFilter", "getOrUndefined", "log", "JSON", "stringify", "mapSchemas", "formatted", "printSchemas", "printList", "list", "make", "Common", "pipe", "optional", "text", "withDescription", "schema", "make", "pipe", "withDescription", "withSubcommands", "list", "Command", "Options", "Console", "Effect", "CommandConfig", "Common", "copyToClipboard", "getSpace", "openBrowser", "print", "spaceIdWithDefault", "FormBuilder", "ClientService", "Invitation", "InvitationEncoder", "hostInvitation", "handler", "fn", "spaceId", "multiple", "open", "host", "json", "CommandConfig", "client", "ClientService", "resolvedSpaceId", "spaceIdWithDefault", "space", "getSpace", "observable", "share", "authMethod", "Invitation", "AuthMethod", "SHARED_SECRET", "persistent", "multiUse", "invitation", "hostInvitation", "callbacks", "onConnecting", "gen", "invitationCode", "InvitationEncoder", "encode", "authCode", "copyToClipboard", "pipe", "catchAll", "void", "log", "url", "URL", "searchParams", "append", "openBrowser", "toString", "waitForSuccess", "JSON", "stringify", "state", "State", "builder", "FormBuilder", "make", "title", "set", "print", "build", "Common", "optional", "boolean", "ifPresent", "withDescription", "text", "withDefault", "Command", "Options", "Duration", "Effect", "Schedule", "Common", "getSpace", "spaceIdWithDefault", "waitForSync", "withTimeout", "sync", "make", "spaceId", "Common", "pipe", "optional", "spaceTimeout", "integer", "withDescription", "withDefault", "gen", "resolvedSpaceId", "spaceIdWithDefault", "space", "getSpace", "retry", "fixed", "timeout", "millis", "waitForSync", "withTimeout", "space", "make", "pipe", "withDescription", "withSubcommands", "close", "create", "info", "join", "list", "members", "open", "schema", "share", "sync", "SpacePlugin", "Plugin", "define", "meta", "pipe", "AppPlugin", "addCommandModule", "commands", "database", "queue", "space", "addMetadataModule", "metadata", "id", "Collection", "typename", "createObject", "props", "options", "gen", "object", "make", "Operation", "invoke", "SpaceOperation", "AddObject", "target", "hidden", "targetNodeId", "addOperationHandlerModule", "activate", "OperationHandler", "addSchemaModule", "schema", "DataTypes", "AnchoredTo", "Employer", "Event", "HasConnection", "HasRelationship", "HasSubject", "Organization", "Person", "Pipeline", "Tag", "Task", "addModule", "shareableLinkOrigin", "invitationPath", "invitationProp", "createInvitationUrl", "invitationCode", "baseUrl", "URL", "searchParams", "set", "toString", "Capability", "getModuleTag", "UndoMappings", "activatesOn", "ActivationEvents", "SetupOperationHandler", "observability", "ClientEvents", "IdentityCreated", "firesAfterActivation", "SpaceEvents", "PersonalSpaceReady"]
|
|
4
|
+
"sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport * as Effect from 'effect/Effect';\n\nimport { ActivationEvents, Capability, Plugin } from '@dxos/app-framework';\nimport { AppPlugin } from '@dxos/app-toolkit';\nimport { Operation } from '@dxos/compute';\nimport { Tag } from '@dxos/echo';\nimport { Collection } from '@dxos/echo';\nimport { ClientEvents } from '@dxos/plugin-client/types';\nimport { DataTypes } from '@dxos/schema';\nimport {\n AnchoredTo,\n Employer,\n Event,\n HasConnection,\n HasRelationship,\n HasSubject,\n Organization,\n Person,\n Pipeline,\n Task,\n} from '@dxos/types';\n\nimport { IdentityCreated, OperationHandler, UndoMappings } from '#capabilities';\nimport { meta } from '#meta';\nimport { SpaceOperation } from '#operations';\nimport { SpaceEvents } from '#types';\nimport { type CreateObject, type SpacePluginOptions } from '#types';\n\nimport { database, queue, space } from './commands';\n\nexport const SpacePlugin = Plugin.define<SpacePluginOptions>(meta).pipe(\n // TODO(wittjosiah): Could some of these commands make use of operations?\n AppPlugin.addCommandModule({\n commands: [database, queue, space],\n }),\n AppPlugin.addMetadataModule({\n metadata: {\n id: Collection.Collection.typename,\n metadata: {\n createObject: ((props, options) =>\n Effect.gen(function* () {\n const object = Collection.make(props);\n return yield* Operation.invoke(SpaceOperation.AddObject, {\n object,\n target: options.target,\n hidden: true,\n targetNodeId: options.targetNodeId,\n });\n })) satisfies CreateObject,\n },\n },\n }),\n AppPlugin.addOperationHandlerModule({ activate: OperationHandler }),\n AppPlugin.addSchemaModule({\n schema: [\n ...DataTypes,\n AnchoredTo.AnchoredTo,\n Employer.Employer,\n Event.Event,\n HasConnection.HasConnection,\n HasRelationship.HasRelationship,\n HasSubject.HasSubject,\n Organization.Organization,\n Person.Person,\n Pipeline.Pipeline,\n Tag.Tag,\n Task.Task,\n ],\n }),\n Plugin.addModule(\n ({\n shareableLinkOrigin = 'http://localhost:5173',\n invitationPath = '/',\n invitationProp = 'spaceInvitationCode',\n }) => {\n const createInvitationUrl = (invitationCode: string) => {\n const baseUrl = new URL(invitationPath || '/', shareableLinkOrigin);\n baseUrl.searchParams.set(invitationProp, invitationCode);\n return baseUrl.toString();\n };\n\n return {\n id: Capability.getModuleTag(UndoMappings),\n activatesOn: ActivationEvents.SetupOperationHandler,\n activate: () => UndoMappings({ createInvitationUrl, observability: false }),\n };\n },\n ),\n Plugin.addModule({\n activatesOn: ClientEvents.IdentityCreated,\n firesAfterActivation: [SpaceEvents.PersonalSpaceReady],\n activate: IdentityCreated,\n }),\n Plugin.make,\n);\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport * as Command from '@effect/cli/Command';\n\nimport { add } from './add';\nimport { query } from './query';\nimport { remove } from './remove';\nimport { stats } from './stats';\n\n// TODO(wittjosiah): Alias to `db`.\nexport const database: Command.Command<any, any, any, any> = Command.make('database').pipe(\n Command.withDescription('Database access.'),\n Command.withSubcommands([add, query, remove, stats]),\n);\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport * as Command from '@effect/cli/Command';\nimport * as Options from '@effect/cli/Options';\nimport * as Prompt from '@effect/cli/Prompt';\nimport * as Console from 'effect/Console';\nimport * as Effect from 'effect/Effect';\nimport * as Option from 'effect/Option';\nimport type * as Schema from 'effect/Schema';\n\n// eslint-disable-next-line unused-imports/no-unused-imports\nimport { type Capability, Plugin } from '@dxos/app-framework';\nimport { AppActivationEvents, AppCapabilities } from '@dxos/app-toolkit';\nimport { CommandConfig, Common, flushAndSync, print, spaceLayer } from '@dxos/cli-util';\nimport { SpaceProperties } from '@dxos/client/echo';\n// eslint-disable-next-line unused-imports/no-unused-imports\nimport type { Operation } from '@dxos/compute';\nimport { Database, Filter, Obj, Type } from '@dxos/echo';\nimport { Collection } from '@dxos/echo';\nimport { EntityKind, getTypeAnnotation } from '@dxos/echo/internal';\n\nimport { type CreateObject } from '#types';\n\nimport { printObject } from './util';\n\nexport type Metadata = {\n createObject: CreateObject;\n inputSchema?: Schema.Schema.AnyNoContext;\n};\n\nexport const add = Command.make(\n 'add',\n {\n spaceId: Common.spaceId.pipe(Options.optional),\n typename: Options.text('typename').pipe(Options.withDescription('The typename to create.'), Options.optional),\n },\n ({ typename }) =>\n Effect.gen(function* () {\n const { json } = yield* CommandConfig;\n const manager = yield* Plugin.Service;\n const { db } = yield* Database.Service;\n\n yield* manager.activate(AppActivationEvents.SetupMetadata);\n\n const resolve = (typename: string) => {\n const metadata = manager.capabilities\n .getAll(AppCapabilities.Metadata)\n .find(({ id }) => id === typename)?.metadata;\n return metadata?.createObject ? (metadata as Metadata) : undefined;\n };\n\n const [properties] = yield* Database.runQuery(Filter.type(SpaceProperties));\n const collection = yield* Database.load<Collection.Collection>(properties[Collection.Collection.typename]);\n\n const selectedTypename = yield* Option.match(typename, {\n onNone: () => selectTypename(resolve),\n onSome: (t) => Effect.succeed(t),\n });\n const metadata = resolve(selectedTypename);\n if (!metadata) {\n return yield* Effect.fail(new Error(`Unknown typename: ${selectedTypename}`));\n }\n\n const result = yield* metadata.createObject({}, { db, target: collection });\n const object = result.object;\n if (!Obj.isObject(object)) {\n return yield* Effect.fail(new Error(`Invalid object: ${object}`));\n }\n\n if (json) {\n yield* Console.log(JSON.stringify(object, null, 2));\n } else {\n yield* Console.log(print(printObject(object)));\n }\n\n yield* flushAndSync({ indexes: true });\n }),\n).pipe(\n Command.withDescription('Add an object to a space.'),\n Command.provide(({ spaceId }) => spaceLayer(spaceId, true)),\n);\n\n/**\n * Prompts for typename selection if not provided.\n */\nconst selectTypename = Effect.fn(function* (resolve: (typename: string) => Metadata | undefined) {\n const schemas = yield* Database.runSchemaQuery({\n location: ['database', 'runtime'],\n includeSystem: false,\n }).pipe(\n Effect.map((schemas) => schemas.filter((schema) => getTypeAnnotation(schema)?.kind !== EntityKind.Relation)),\n Effect.map((schemas) => schemas.filter((schema) => !!resolve(Type.getTypename(schema)))),\n );\n\n const choices = schemas.map((schema) => ({\n // TODO(wittjosiah): Translations.\n title: Type.getTypename(schema),\n value: Type.getTypename(schema),\n description: Type.getTypename(schema),\n }));\n\n const selected = yield* Prompt.select({\n message: 'Select a type:',\n choices,\n });\n\n return selected;\n});\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { FormBuilder } from '@dxos/cli-util';\nimport { Entity } from '@dxos/echo';\n\n/**\n * Pretty prints an object with ANSI colors.\n */\nexport const printObject = (obj: Entity.Unknown) => {\n const typename = Entity.getTypename(obj) ?? '<unknown>';\n\n // TODO(wittjosiah): Obj.getSchema and thus Obj.getLabel are coming back undefined for some reason.\n return FormBuilder.make({ title: Entity.getLabel(obj) ?? typename }).pipe(\n FormBuilder.set('id', obj.id),\n FormBuilder.set('typename', typename),\n FormBuilder.build,\n );\n};\n\n/**\n * Pretty prints object stats with ANSI colors.\n */\nexport const printStats = (typename: string, count: number) =>\n FormBuilder.make({ title: typename }).pipe(FormBuilder.set('count', count), FormBuilder.build);\n\n/**\n * Pretty prints object removal result with ANSI colors.\n */\nexport const printObjectRemoved = (count: number) =>\n FormBuilder.make({ title: 'Objects removed' }).pipe(FormBuilder.set('count', count), FormBuilder.build);\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport * as Command from '@effect/cli/Command';\nimport * as Options from '@effect/cli/Options';\nimport * as Console from 'effect/Console';\nimport * as Effect from 'effect/Effect';\nimport * as Option from 'effect/Option';\n\nimport { CommandConfig, Common, printList, spaceLayer } from '@dxos/cli-util';\nimport { Database, Filter } from '@dxos/echo';\n\nimport { printObject } from '../util';\n\nexport const handler = ({ typename }: { typename: Option.Option<string> }) =>\n Effect.gen(function* () {\n const { json } = yield* CommandConfig;\n const filter = Option.match(typename, {\n onNone: () => Filter.everything(),\n onSome: (typename) => Filter.typename(typename),\n });\n const objects = yield* Database.runQuery(filter);\n\n if (json) {\n yield* Console.log(JSON.stringify(objects, null, 2));\n } else {\n // TODO(wittjosiah): Interactive table of results.\n const formatted = objects.map(printObject);\n yield* Console.log(printList(formatted));\n }\n });\n\nexport const query = Command.make(\n 'query',\n {\n spaceId: Common.spaceId.pipe(Options.optional),\n typename: Options.text('typename').pipe(Options.optional, Options.withDescription('The typename to query.')),\n },\n handler,\n).pipe(\n Command.withDescription('Query objects.'),\n Command.provide(({ spaceId }) => spaceLayer(spaceId, true)),\n);\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport * as Command from '@effect/cli/Command';\nimport * as Options from '@effect/cli/Options';\nimport * as Console from 'effect/Console';\nimport * as Effect from 'effect/Effect';\nimport * as Option from 'effect/Option';\n\nimport { CommandConfig, Common, print, spaceLayer } from '@dxos/cli-util';\nimport { Database, Filter, Query } from '@dxos/echo';\n\nimport { printObjectRemoved } from './util';\n\nexport const remove = Command.make(\n 'remove',\n {\n spaceId: Common.spaceId.pipe(Options.optional),\n typename: Options.text('typename').pipe(Options.withDescription('The typename to query.'), Options.optional),\n id: Options.text('id').pipe(Options.withDescription('The object ID.'), Options.optional),\n },\n ({ typename, id }) =>\n Effect.gen(function* () {\n const { json } = yield* CommandConfig;\n if (Option.isSome(id) && Option.isSome(typename)) {\n throw new Error('Cannot specify both typename and id');\n }\n let query: Query.Any;\n if (Option.isSome(id)) {\n query = Query.select(Filter.id(id.value));\n } else if (Option.isSome(typename)) {\n query = Query.select(Filter.typename(typename.value));\n } else {\n throw new Error('Must specify typename or id');\n }\n const objects = yield* Database.runQuery(query);\n for (const object of objects) {\n yield* Database.remove(object);\n }\n\n if (json) {\n yield* Console.log(JSON.stringify({ removed: objects.length }, null, 2));\n } else {\n yield* Console.log(print(printObjectRemoved(objects.length)));\n }\n }),\n).pipe(\n Command.withDescription('Remove an object from a space.'),\n Command.provide(({ spaceId }) => spaceLayer(spaceId, true)),\n);\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport * as Command from '@effect/cli/Command';\nimport * as Options from '@effect/cli/Options';\nimport * as Array from 'effect/Array';\nimport * as Console from 'effect/Console';\nimport * as Effect from 'effect/Effect';\nimport * as Function from 'effect/Function';\nimport * as Record from 'effect/Record';\n\nimport { CommandConfig, Common, printList, spaceLayer } from '@dxos/cli-util';\nimport { Obj } from '@dxos/echo';\nimport { Database, Filter, Query } from '@dxos/echo';\n\nimport { printStats } from './util';\n\nexport const stats = Command.make(\n 'stats',\n {\n spaceId: Common.spaceId.pipe(Options.optional),\n },\n () =>\n Effect.gen(function* () {\n const { json } = yield* CommandConfig;\n const objects = yield* Database.runQuery(Query.select(Filter.everything()));\n const stats = Function.pipe(\n objects,\n Array.groupBy((obj) => Obj.getTypename(obj) ?? '<empty>'),\n Record.map((objs) => objs.length),\n );\n\n if (json) {\n yield* Console.log(JSON.stringify(stats, null, 2));\n } else {\n const formatted = Record.toEntries(stats).map(([typename, count]) => printStats(typename, count));\n yield* Console.log(printList(formatted));\n }\n }),\n).pipe(\n Command.withDescription('Query objects.'),\n Command.provide(({ spaceId }) => spaceLayer(spaceId, true)),\n);\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport * as Command from '@effect/cli/Command';\n\nimport { query } from './query';\n\nexport const queue = Command.make('queue').pipe(\n Command.withDescription('Manage queues.'),\n Command.withSubcommands([query]),\n);\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport * as Command from '@effect/cli/Command';\nimport * as Options from '@effect/cli/Options';\nimport * as Console from 'effect/Console';\nimport * as Effect from 'effect/Effect';\nimport * as Schema from 'effect/Schema';\n\nimport { CommandConfig, printList } from '@dxos/cli-util';\nimport { ClientService } from '@dxos/client';\nimport { type Queue } from '@dxos/client/echo';\nimport { DXN } from '@dxos/keys';\n\nimport { printQueueObject } from './util';\n\n// TODO(dmaretskyi): Extract\nconst DXNSchema = Schema.String.pipe(\n Schema.transform(Schema.instanceOf(DXN), {\n decode: (value: string) => DXN.parse(value),\n encode: (value: DXN) => value.toString(),\n }),\n);\n\nexport const query = Command.make(\n 'query',\n {\n dxn: Options.text('dxn').pipe(Options.withDescription('DXN of the queue.'), Options.withSchema(DXNSchema)),\n },\n Effect.fnUntraced(function* ({ dxn }) {\n const { json } = yield* CommandConfig;\n const client = yield* ClientService;\n const queue = (yield* Effect.promise(() => client.graph.createRefResolver({}).resolve(dxn))) as Queue<any>;\n const objects = yield* Effect.promise(() => queue.queryObjects());\n\n if (json) {\n yield* Console.log(JSON.stringify(objects, null, 2));\n } else {\n // TODO(wittjosiah): Interactive table of results.\n const formatted = objects.map(printQueueObject);\n yield* Console.log(printList(formatted));\n }\n }),\n).pipe(Command.withDescription('Query objects in a queue.'));\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { FormBuilder } from '@dxos/cli-util';\nimport { Entity } from '@dxos/echo';\n\n/**\n * Pretty prints a queue object with ANSI colors.\n */\nexport const printQueueObject = (obj: Entity.Any) => {\n const typename = Entity.getTypename(obj) ?? '<unknown>';\n\n return FormBuilder.make({ title: typename }).pipe(\n FormBuilder.set('id', obj.id),\n FormBuilder.set('typename', typename),\n FormBuilder.build,\n );\n};\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport * as Command from '@effect/cli/Command';\n\nimport { close } from './close';\nimport { create } from './create';\nimport { info } from './info';\nimport { join } from './join';\nimport { list } from './list';\nimport { members } from './members';\nimport { open } from './open';\nimport { schema } from './schema';\nimport { share } from './share';\nimport { sync } from './sync';\n\nexport const space = Command.make('space').pipe(\n Command.withDescription('Manage ECHO spaces.'),\n Command.withSubcommands([close, create, info, join, list, members, open, schema, share, sync]),\n);\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport * as Command from '@effect/cli/Command';\nimport * as Options from '@effect/cli/Options';\nimport * as Console from 'effect/Console';\nimport * as Effect from 'effect/Effect';\n\nimport { CommandConfig, Common, getSpace, waitForSync } from '@dxos/cli-util';\nimport { ClientService } from '@dxos/client';\nimport { type Key } from '@dxos/echo';\n\nexport const handler = ({ spaceId }: { spaceId: Key.SpaceId }) =>\n Effect.gen(function* () {\n const { json } = yield* CommandConfig;\n const client = yield* ClientService;\n\n const space = yield* getSpace(spaceId);\n\n // Flush and sync before closing\n yield* Effect.tryPromise(() => space.db.flush());\n yield* waitForSync(space);\n\n yield* Effect.tryPromise(() => space.close());\n\n if (json) {\n yield* Console.log(JSON.stringify({ success: true, spaceId }, null, 2));\n } else {\n yield* Console.log(`Space ${spaceId} closed successfully.`);\n }\n });\n\nexport const close = Command.make(\n 'close',\n {\n spaceId: Common.spaceId.pipe(Options.withDescription('Space ID to close.')),\n },\n handler,\n).pipe(Command.withDescription('Close a space.'));\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport * as Command from '@effect/cli/Command';\nimport * as Options from '@effect/cli/Options';\nimport * as Console from 'effect/Console';\nimport * as Effect from 'effect/Effect';\nimport * as Option from 'effect/Option';\n\nimport { CommandConfig } from '@dxos/cli-util';\nimport { print, waitForSync } from '@dxos/cli-util';\nimport { FormBuilder } from '@dxos/cli-util';\nimport { ClientService } from '@dxos/client';\nimport { Obj } from '@dxos/echo';\n\nexport const handler = Effect.fn(function* ({ name }: { name: Option.Option<string> }) {\n const { json } = yield* CommandConfig;\n const client = yield* ClientService;\n\n const space = yield* Effect.tryPromise(() => client.spaces.create());\n yield* Effect.tryPromise(() => space.waitUntilReady());\n\n if (Option.isSome(name)) {\n Obj.update(space.properties, (obj) => {\n obj.name = Option.getOrUndefined(name);\n });\n }\n\n // Output first, then flush and sync\n if (json) {\n yield* Console.log(\n JSON.stringify(\n {\n key: space.key.toHex(),\n ...(space.properties.name ? { name: space.properties.name } : {}),\n },\n null,\n 2,\n ),\n );\n } else {\n const builder = FormBuilder.make({ title: 'Created Space' }).pipe(\n FormBuilder.set('key', space.key.truncate()),\n FormBuilder.set('name', space.properties.name ?? '<none>'),\n );\n yield* Console.log(print(FormBuilder.build(builder)));\n }\n\n // Flush and sync before completion\n yield* Effect.tryPromise(() => space.db.flush());\n yield* waitForSync(space);\n});\n\nexport const create = Command.make(\n 'create',\n {\n name: Options.text('name').pipe(Options.withDescription('The name of the space.'), Options.optional),\n },\n handler,\n).pipe(Command.withDescription('Create a new space.'));\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport * as Command from '@effect/cli/Command';\nimport * as Options from '@effect/cli/Options';\nimport * as Console from 'effect/Console';\nimport * as Effect from 'effect/Effect';\nimport * as Option from 'effect/Option';\n\nimport { CommandConfig, Common, formatSpace, getSpace, print, printSpace, spaceIdWithDefault } from '@dxos/cli-util';\nimport { ClientService } from '@dxos/client';\nimport { type Key } from '@dxos/echo';\n\nexport const handler = Effect.fn(function* ({\n spaceId,\n wait,\n}: {\n spaceId: Option.Option<string>;\n wait: Option.Option<number>;\n}) {\n const { json } = yield* CommandConfig;\n const client = yield* ClientService;\n\n const resolvedSpaceId = yield* spaceIdWithDefault(spaceId as Option.Option<Key.SpaceId>);\n const space = yield* getSpace(resolvedSpaceId);\n\n const waitSeconds = Option.getOrElse(wait, () => 0);\n const formatted = yield* formatSpace(space, { waitSeconds });\n\n if (json) {\n yield* Console.log(JSON.stringify(formatted, null, 2));\n } else {\n yield* Console.log(print(printSpace(formatted)));\n }\n});\n\nexport const info = Command.make(\n 'info',\n {\n spaceId: Common.spaceId.pipe(Options.optional),\n wait: Options.integer('wait').pipe(\n Options.withDescription(\n 'Wait up to this many seconds for the space to reach SPACE_READY. Default 0 — read whatever state is available immediately.',\n ),\n Options.optional,\n ),\n },\n handler,\n).pipe(Command.withDescription('Show space info.'));\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport * as Args from '@effect/cli/Args';\nimport * as Command from '@effect/cli/Command';\nimport * as Options from '@effect/cli/Options';\nimport * as Prompt from '@effect/cli/Prompt';\nimport * as Console from 'effect/Console';\nimport * as Duration from 'effect/Duration';\nimport * as Effect from 'effect/Effect';\nimport * as Option from 'effect/Option';\n\nimport { CommandConfig } from '@dxos/cli-util';\nimport { print, waitForSync } from '@dxos/cli-util';\nimport { FormBuilder } from '@dxos/cli-util';\nimport { ClientService } from '@dxos/client';\n\nimport { acceptInvitation } from './util';\n\nexport const handler = Effect.fn(function* ({\n invitationCode,\n authCode,\n}: {\n invitationCode: string;\n authCode: Option.Option<string>;\n}) {\n const { json } = yield* CommandConfig;\n const client = yield* ClientService;\n\n let encoded = invitationCode;\n if (encoded.startsWith('http') || encoded.startsWith('socket')) {\n const searchProps = new URL(encoded).searchParams;\n encoded = searchProps.get('spaceInvitationCode') ?? encoded;\n }\n\n const invitation = yield* acceptInvitation({\n observable: client.spaces.join(encoded),\n callbacks: {\n onReadyForAuth: (invitation) => {\n if (Option.isSome(authCode)) {\n return Effect.succeed(Option.getOrUndefined(authCode) ?? undefined) as Effect.Effect<\n string | void,\n never,\n never\n >;\n }\n return Prompt.text({ message: 'Enter the authentication code' })\n .pipe(Prompt.run)\n .pipe(Effect.mapError(() => undefined as never))\n .pipe(Effect.catchAll(() => Effect.succeed(undefined))) as Effect.Effect<string | void, never, never>;\n },\n },\n });\n\n // Wait for space to be available with retry logic\n const spaceKey = invitation.spaceKey;\n if (!spaceKey) {\n if (json) {\n yield* Console.log(JSON.stringify({ error: 'No space key in invitation' }, null, 2));\n } else {\n yield* Console.log('No space key in invitation.');\n }\n return;\n }\n\n let space = client.spaces.get(spaceKey);\n if (!space) {\n // Retry up to 5 times with increasing delays\n const maxRetries = 5;\n const retryDelays = [0.5, 1, 1.5, 2, 2.5].map((s) => Duration.seconds(s));\n for (let i = 0; i < maxRetries; i++) {\n yield* Effect.sleep(retryDelays[i]);\n space = client.spaces.get(spaceKey);\n if (space) {\n break;\n }\n }\n }\n\n if (!space) {\n if (json) {\n yield* Console.log(JSON.stringify({ error: 'Space not found after joining' }, null, 2));\n } else {\n yield* Console.log('Space not found after joining.');\n }\n return;\n }\n\n // Flush and sync after joining\n yield* Effect.tryPromise(() => space.db.flush());\n yield* waitForSync(space);\n\n if (json) {\n yield* Console.log(\n JSON.stringify(\n {\n spaceId: space.id,\n state: space.state.get(),\n },\n null,\n 2,\n ),\n );\n } else {\n const builder = FormBuilder.make({ title: 'Joined Space' }).pipe(\n FormBuilder.set('spaceId', space.id),\n FormBuilder.set('key', space.key.truncate()),\n FormBuilder.set('name', space.properties.name ?? '<none>'),\n );\n yield* Console.log(print(FormBuilder.build(builder)));\n }\n});\n\nexport const join = Command.make(\n 'join',\n {\n invitationCode: Args.text({ name: 'invitationCode' }).pipe(Args.withDescription('The invitation code.')),\n authCode: Options.text('authCode').pipe(Options.withDescription('The authentication code.'), Options.optional),\n },\n handler,\n).pipe(Command.withDescription('Join a space via invitation.'));\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport * as Effect from 'effect/Effect';\nimport * as Queue from 'effect/Queue';\n\nimport { type AuthenticatingInvitationObservable, Invitation } from '@dxos/client/invitations';\nimport { runAndForwardErrors } from '@dxos/effect';\nimport { invariant } from '@dxos/invariant';\nimport { AlreadyJoinedError } from '@dxos/protocols';\n\ntype AcceptInvitationProps = {\n observable: AuthenticatingInvitationObservable;\n callbacks?: {\n onConnecting?: (invitation: Invitation) => Effect.Effect<void>;\n onReadyForAuth?: (invitation: Invitation) => Effect.Effect<string | void, never, never>;\n onSuccess?: (invitation: Invitation) => Effect.Effect<void>;\n };\n};\n\n/**\n * Accept an invitation and handle authentication flow.\n * Ported from cli-base to Effect-based approach.\n */\nexport const acceptInvitation = ({ observable, callbacks }: AcceptInvitationProps): Effect.Effect<Invitation, Error> =>\n Effect.gen(function* () {\n const doneQueue = yield* Queue.unbounded<Invitation>();\n\n const runCallback = (effect: Effect.Effect<void> | undefined) => {\n if (effect) {\n runAndForwardErrors(effect).catch(() => {\n // Ignore callback errors\n });\n }\n };\n\n const subscription = observable.subscribe(\n (invitation) => {\n switch (invitation.state) {\n case Invitation.State.CONNECTING: {\n runCallback(callbacks?.onConnecting?.(invitation));\n break;\n }\n\n case Invitation.State.READY_FOR_AUTHENTICATION: {\n if (invitation.authMethod === Invitation.AuthMethod.SHARED_SECRET) {\n const callbackEffect = callbacks?.onReadyForAuth?.(invitation) ?? Effect.succeed(undefined);\n Effect.gen(function* () {\n const callbackResult = yield* callbackEffect;\n const code = invitation.authCode ?? callbackResult;\n invariant(code, 'No code provided');\n yield* Effect.tryPromise(() => observable.authenticate(code));\n })\n .pipe(runAndForwardErrors)\n .catch(() => {\n // Error handling\n });\n }\n break;\n }\n\n case Invitation.State.SUCCESS: {\n runCallback(callbacks?.onSuccess?.(invitation));\n runAndForwardErrors(Queue.offer(doneQueue, invitation)).catch(() => {});\n break;\n }\n }\n },\n (err) => {\n if (err instanceof AlreadyJoinedError) {\n runAndForwardErrors(Queue.offer(doneQueue, observable.get())).catch(() => {});\n return;\n }\n throw err;\n },\n );\n\n const invitation = yield* Queue.take(doneQueue);\n subscription.unsubscribe();\n return invitation;\n });\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport * as Command from '@effect/cli/Command';\nimport * as Options from '@effect/cli/Options';\nimport * as Console from 'effect/Console';\nimport * as Effect from 'effect/Effect';\nimport * as Option from 'effect/Option';\n\nimport { CommandConfig, formatSpace, printSpace } from '@dxos/cli-util';\nimport { printList } from '@dxos/cli-util';\nimport { ClientService } from '@dxos/client';\n\n// TODO(burdon): Move handler inline and test separate functions.\nexport const handler = Effect.fn(function* ({ wait }: { wait: Option.Option<number> }) {\n const { json } = yield* CommandConfig;\n const client = yield* ClientService;\n const spaces = client.spaces.get();\n const waitSeconds = Option.getOrElse(wait, () => 0);\n const formattedSpaces = yield* Effect.all(spaces.map((space) => formatSpace(space, { waitSeconds })));\n\n if (json) {\n yield* Console.log(JSON.stringify(formattedSpaces, null, 2));\n } else {\n const formatted = formattedSpaces.map(printSpace);\n yield* Console.log(printList(formatted));\n }\n});\n\nexport const list = Command.make(\n 'list',\n {\n wait: Options.integer('wait').pipe(\n Options.withDescription(\n 'Wait up to this many seconds for each space to reach SPACE_READY before reading. Default 0 — print whatever state is available immediately so a stuck space cannot hang the command.',\n ),\n Options.optional,\n ),\n },\n handler,\n).pipe(Command.withDescription('List all spaces available on this device.'));\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport * as Command from '@effect/cli/Command';\nimport * as Options from '@effect/cli/Options';\nimport * as Console from 'effect/Console';\nimport * as Effect from 'effect/Effect';\nimport type * as Option from 'effect/Option';\n\nimport { CommandConfig, Common, getSpace, printList, spaceIdWithDefault } from '@dxos/cli-util';\nimport { ClientService } from '@dxos/client';\nimport { type Key } from '@dxos/echo';\n\nimport { mapMembers, printMembers } from './util';\n\nexport const handler = Effect.fn(function* ({ spaceId }: { spaceId: Option.Option<string> }) {\n const { json } = yield* CommandConfig;\n const client = yield* ClientService;\n\n const resolvedSpaceId = yield* spaceIdWithDefault(spaceId as Option.Option<Key.SpaceId>);\n const space = yield* getSpace(resolvedSpaceId);\n\n const members = space.members.get();\n\n if (json) {\n yield* Console.log(JSON.stringify(mapMembers(members), null, 2));\n } else {\n const formatted = printMembers(members);\n yield* Console.log(printList(formatted));\n }\n});\n\nexport const members = Command.make(\n 'members',\n {\n spaceId: Common.spaceId.pipe(Options.optional),\n },\n handler,\n).pipe(Command.withDescription('List space members.'));\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { FormBuilder } from '@dxos/cli-util';\nimport { SpaceMember } from '@dxos/client/echo';\n\nconst maybeTruncateKey = (key: { toHex(): string; truncate(): string }, truncate = false) =>\n truncate ? key.truncate() : key.toHex();\n\nexport const mapMembers = (members: SpaceMember[], truncateKeys = false) => {\n return members.map((member) => ({\n key: maybeTruncateKey(member.identity.identityKey, truncateKeys),\n name: member.identity.profile?.displayName,\n presence: member.presence === SpaceMember.PresenceState.ONLINE ? 'Online' : 'Offline',\n }));\n};\n\nexport const printMember = (member: SpaceMember) =>\n FormBuilder.make({ title: member.identity.profile?.displayName ?? member.identity.identityKey.truncate() }).pipe(\n FormBuilder.set('identityKey', member.identity.identityKey.truncate()),\n FormBuilder.set('displayName', member.identity.profile?.displayName ?? '<none>'),\n FormBuilder.set('presence', member.presence === SpaceMember.PresenceState.ONLINE ? 'Online' : 'Offline'),\n FormBuilder.build,\n );\n\nexport const printMembers = (members: SpaceMember[]) => {\n return members.map(printMember);\n};\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport * as Command from '@effect/cli/Command';\nimport * as Options from '@effect/cli/Options';\nimport * as Console from 'effect/Console';\nimport * as Effect from 'effect/Effect';\n\nimport { CommandConfig, Common, getSpace, waitForSync } from '@dxos/cli-util';\nimport { ClientService } from '@dxos/client';\nimport { type Key } from '@dxos/echo';\n\nexport const handler = ({ spaceId }: { spaceId: Key.SpaceId }) =>\n Effect.gen(function* () {\n const { json } = yield* CommandConfig;\n const client = yield* ClientService;\n\n const space = yield* getSpace(spaceId);\n yield* Effect.tryPromise(() => space.open());\n\n // Flush and sync after opening\n yield* Effect.tryPromise(() => space.db.flush());\n yield* waitForSync(space);\n\n if (json) {\n yield* Console.log(JSON.stringify({ success: true, spaceId }, null, 2));\n } else {\n yield* Console.log(`Space ${spaceId} opened successfully.`);\n }\n });\n\nexport const open = Command.make(\n 'open',\n {\n spaceId: Common.spaceId.pipe(Options.withDescription('Space ID to open.')),\n },\n handler,\n).pipe(Command.withDescription('Open a space.'));\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport * as Command from '@effect/cli/Command';\n\nimport { list } from './list';\n\nexport const schema = Command.make('schema').pipe(\n Command.withDescription('Manage space schemas.'),\n Command.withSubcommands([list]),\n);\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport * as Command from '@effect/cli/Command';\nimport * as Options from '@effect/cli/Options';\nimport * as Console from 'effect/Console';\nimport * as Effect from 'effect/Effect';\nimport * as Option from 'effect/Option';\n\nimport { CommandConfig, Common, getSpace, printList, spaceIdWithDefault } from '@dxos/cli-util';\nimport { ClientService } from '@dxos/client';\nimport { type Key } from '@dxos/echo';\nimport { getTypeAnnotation } from '@dxos/echo/internal';\n\nimport { createTypenameFilter, mapSchemas, printSchemas } from './util';\n\nexport const handler = Effect.fn(function* ({\n spaceId,\n typename,\n}: {\n spaceId: Option.Option<string>;\n typename: Option.Option<string>;\n}) {\n const { json } = yield* CommandConfig;\n const client = yield* ClientService;\n\n const resolvedSpaceId = yield* spaceIdWithDefault(spaceId as Option.Option<Key.SpaceId>);\n const space = yield* getSpace(resolvedSpaceId);\n\n const echoSchema = yield* Effect.tryPromise(() => space.db.schemaRegistry.query().run());\n const runtimeSchema = space.internal.db.graph.schemaRegistry.schemas;\n\n const schemas = [\n ...echoSchema.map((schema) => ({\n id: schema.id,\n typename: schema.typename,\n version: schema.version,\n })),\n ...runtimeSchema.map((schema) => {\n const schemaAnnotation = getTypeAnnotation(schema)!;\n return {\n typename: schemaAnnotation.typename,\n version: schemaAnnotation.version,\n };\n }),\n ].filter(createTypenameFilter(Option.getOrUndefined(typename)));\n\n if (json) {\n yield* Console.log(JSON.stringify(mapSchemas(schemas), null, 2));\n } else {\n const formatted = printSchemas(schemas);\n yield* Console.log(printList(formatted));\n }\n});\n\nexport const list = Command.make(\n 'list',\n {\n spaceId: Common.spaceId.pipe(Options.optional),\n typename: Options.text('typename').pipe(Options.withDescription('Filter schemas by typename.'), Options.optional),\n },\n handler,\n).pipe(Command.withDescription('List space schemas.'));\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { FormBuilder } from '@dxos/cli-util';\n\ntype SchemaEntry = {\n id?: string;\n typename: string;\n version: string;\n};\n\nexport const mapSchemas = (schemas: SchemaEntry[]) => {\n return schemas.map((schema) => ({\n id: schema.id,\n typename: schema.typename,\n version: schema.version,\n }));\n};\n\nexport const printSchema = (schema: SchemaEntry) =>\n FormBuilder.make({ title: schema.typename }).pipe(\n FormBuilder.set('id', schema.id ?? '<none>'),\n FormBuilder.set('typename', schema.typename),\n FormBuilder.set('version', schema.version),\n FormBuilder.build,\n );\n\nexport const printSchemas = (schemas: SchemaEntry[]) => {\n return schemas.map(printSchema);\n};\n\nexport const createTypenameFilter = (typenameFilter?: string) => {\n if (!typenameFilter) {\n return () => true;\n }\n\n return (schema: SchemaEntry) => schema.typename.toLowerCase().includes(typenameFilter.toLowerCase());\n};\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport * as Command from '@effect/cli/Command';\nimport * as Options from '@effect/cli/Options';\nimport * as Console from 'effect/Console';\nimport * as Effect from 'effect/Effect';\nimport type * as Option from 'effect/Option';\n\nimport {\n CommandConfig,\n Common,\n copyToClipboard,\n getSpace,\n openBrowser,\n print,\n spaceIdWithDefault,\n} from '@dxos/cli-util';\nimport { FormBuilder } from '@dxos/cli-util';\nimport { ClientService } from '@dxos/client';\nimport { Invitation, InvitationEncoder, hostInvitation } from '@dxos/client/invitations';\nimport { type Key } from '@dxos/echo';\n\nexport const handler = Effect.fn(function* ({\n spaceId,\n multiple,\n open,\n host,\n}: {\n spaceId: Option.Option<string>;\n multiple: boolean;\n open: boolean;\n host: string;\n}) {\n const { json } = yield* CommandConfig;\n const client = yield* ClientService;\n\n const resolvedSpaceId = yield* spaceIdWithDefault(spaceId as Option.Option<Key.SpaceId>);\n const space = yield* getSpace(resolvedSpaceId);\n\n // Always use persistent and delegated (auth required) due to P2P limitations\n const observable = space.share({\n authMethod: Invitation.AuthMethod.SHARED_SECRET,\n persistent: true,\n multiUse: multiple,\n });\n\n const invitation = yield* hostInvitation({\n observable,\n callbacks: {\n onConnecting: (invitation) =>\n Effect.gen(function* () {\n const invitationCode = InvitationEncoder.encode(invitation);\n const authCode = invitation.authCode!;\n\n // Copy auth code to clipboard\n yield* copyToClipboard(authCode).pipe(Effect.catchAll(() => Effect.void));\n\n if (!json) {\n yield* Console.log(`\\nSecret: ${authCode} (copied to clipboard)\\n`);\n }\n\n if (open) {\n const url = new URL(host);\n url.searchParams.append('spaceInvitationCode', invitationCode);\n yield* openBrowser(url.toString()).pipe(Effect.catchAll(() => Effect.void));\n } else if (!json) {\n yield* Console.log(`\\nInvitation: ${invitationCode}\\n`);\n }\n }),\n },\n waitForSuccess: true,\n });\n\n if (json) {\n yield* Console.log(\n JSON.stringify(\n {\n invitationCode: InvitationEncoder.encode(invitation),\n authCode: invitation.authCode,\n state: Invitation.State[invitation.state],\n },\n null,\n 2,\n ),\n );\n } else {\n const builder = FormBuilder.make({ title: 'Space Invitation' }).pipe(\n FormBuilder.set('invitationCode', InvitationEncoder.encode(invitation)),\n FormBuilder.set('authCode', invitation.authCode ?? '<none>'),\n FormBuilder.set('state', Invitation.State[invitation.state]),\n );\n yield* Console.log(print(FormBuilder.build(builder)));\n }\n});\n\nexport const share = Command.make(\n 'share',\n {\n spaceId: Common.spaceId.pipe(Options.optional),\n multiple: Options.boolean('multiple', { ifPresent: true }).pipe(\n Options.withDescription('Create a multi-use invitation.'),\n ),\n open: Options.boolean('open', { ifPresent: true }).pipe(Options.withDescription('Open browser with invitation.')),\n host: Options.text('host').pipe(\n Options.withDescription('Application Host URL.'),\n Options.withDefault('https://composer.space'),\n ),\n },\n handler,\n).pipe(Command.withDescription('Create space invitation.'));\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport * as Command from '@effect/cli/Command';\nimport * as Options from '@effect/cli/Options';\nimport * as Duration from 'effect/Duration';\nimport * as Effect from 'effect/Effect';\nimport * as Schedule from 'effect/Schedule';\n\nimport { Common, getSpace, spaceIdWithDefault, waitForSync, withTimeout } from '@dxos/cli-util';\n\nexport const sync = Command.make(\n 'sync',\n {\n spaceId: Common.spaceId.pipe(Options.optional),\n spaceTimeout: Options.integer('spaceTimeout').pipe(\n Options.withDescription('The timeout to wait for the space to be available in milliseconds.'),\n Options.withDefault(5000),\n ),\n },\n ({ spaceId, spaceTimeout }) =>\n Effect.gen(function* () {\n // If space is not available locally, wait for it to sync.\n const resolvedSpaceId = yield* spaceIdWithDefault(spaceId);\n const space = yield* getSpace(resolvedSpaceId).pipe(\n Effect.retry(Schedule.fixed('100 millis')),\n Effect.timeout(Duration.millis(spaceTimeout)),\n );\n\n yield* waitForSync(space);\n }).pipe(withTimeout),\n).pipe(Command.withDescription('Wait for a space to be fully synchronized with EDGE.'));\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": ["Effect", "ActivationEvents", "Capability", "Plugin", "AppPlugin", "Operation", "Tag", "Collection", "ClientEvents", "DataTypes", "AnchoredTo", "Employer", "Event", "HasConnection", "HasRelationship", "HasSubject", "Organization", "Person", "Pipeline", "Task", "IdentityCreated", "OperationHandler", "UndoMappings", "meta", "SpaceOperation", "SpaceEvents", "Command", "Command", "Options", "Prompt", "Console", "Effect", "Option", "Plugin", "AppActivationEvents", "AppCapabilities", "CommandConfig", "Common", "flushAndSync", "print", "spaceLayer", "SpaceProperties", "Database", "Filter", "Obj", "Type", "Collection", "EntityKind", "getTypeAnnotation", "FormBuilder", "Entity", "printObject", "obj", "typename", "getTypename", "make", "title", "getLabel", "pipe", "set", "id", "build", "printStats", "count", "printObjectRemoved", "add", "make", "spaceId", "Common", "pipe", "optional", "typename", "text", "withDescription", "gen", "json", "CommandConfig", "manager", "Plugin", "Service", "db", "Database", "activate", "AppActivationEvents", "SetupMetadata", "resolve", "metadata", "capabilities", "getAll", "AppCapabilities", "Metadata", "find", "id", "createObject", "undefined", "properties", "runQuery", "Filter", "type", "SpaceProperties", "collection", "load", "Collection", "selectedTypename", "match", "onNone", "selectTypename", "onSome", "t", "succeed", "fail", "Error", "result", "target", "object", "Obj", "isObject", "log", "JSON", "stringify", "print", "printObject", "flushAndSync", "indexes", "provide", "spaceLayer", "fn", "schemas", "runSchemaQuery", "location", "includeSystem", "map", "filter", "schema", "getTypeAnnotation", "kind", "EntityKind", "Relation", "Type", "getTypename", "choices", "title", "value", "description", "selected", "select", "message", "Command", "Options", "Console", "Effect", "Option", "CommandConfig", "Common", "printList", "spaceLayer", "Database", "Filter", "handler", "typename", "gen", "json", "CommandConfig", "filter", "match", "onNone", "Filter", "everything", "onSome", "objects", "Database", "runQuery", "log", "JSON", "stringify", "formatted", "map", "printObject", "printList", "query", "make", "spaceId", "Common", "pipe", "optional", "text", "withDescription", "provide", "spaceLayer", "Command", "Options", "Console", "Effect", "Option", "CommandConfig", "Common", "print", "spaceLayer", "Database", "Filter", "Query", "remove", "make", "spaceId", "Common", "pipe", "optional", "typename", "text", "withDescription", "id", "gen", "json", "CommandConfig", "isSome", "Error", "query", "Query", "select", "Filter", "value", "objects", "Database", "runQuery", "object", "log", "JSON", "stringify", "removed", "length", "print", "printObjectRemoved", "provide", "spaceLayer", "Command", "Options", "Array", "Console", "Effect", "Function", "Record", "CommandConfig", "Common", "printList", "spaceLayer", "Obj", "Database", "Filter", "Query", "stats", "make", "spaceId", "Common", "pipe", "optional", "gen", "json", "CommandConfig", "objects", "Database", "runQuery", "Query", "select", "Filter", "everything", "groupBy", "obj", "Obj", "getTypename", "map", "objs", "length", "log", "JSON", "stringify", "formatted", "toEntries", "typename", "count", "printStats", "printList", "withDescription", "provide", "spaceLayer", "database", "make", "pipe", "withDescription", "withSubcommands", "add", "query", "remove", "stats", "Command", "Command", "Options", "Console", "Effect", "Schema", "CommandConfig", "printList", "ClientService", "DXN", "FormBuilder", "Entity", "printQueueObject", "obj", "typename", "getTypename", "make", "title", "pipe", "set", "id", "build", "DXNSchema", "String", "pipe", "transform", "instanceOf", "DXN", "decode", "value", "parse", "encode", "toString", "query", "make", "dxn", "text", "withDescription", "withSchema", "fnUntraced", "json", "CommandConfig", "client", "ClientService", "queue", "promise", "graph", "createRefResolver", "resolve", "objects", "queryObjects", "log", "JSON", "stringify", "formatted", "map", "printQueueObject", "printList", "queue", "make", "pipe", "withDescription", "withSubcommands", "query", "Command", "Command", "Options", "Console", "Effect", "CommandConfig", "Common", "getSpace", "waitForSync", "ClientService", "handler", "spaceId", "gen", "json", "client", "space", "tryPromise", "db", "flush", "close", "log", "JSON", "stringify", "success", "make", "pipe", "withDescription", "Command", "Options", "Console", "Effect", "Option", "CommandConfig", "print", "waitForSync", "FormBuilder", "ClientService", "Obj", "handler", "fn", "name", "json", "client", "space", "tryPromise", "spaces", "create", "waitUntilReady", "isSome", "update", "properties", "obj", "getOrUndefined", "log", "JSON", "stringify", "key", "toHex", "builder", "make", "title", "pipe", "set", "truncate", "build", "db", "flush", "text", "withDescription", "optional", "Command", "Options", "Console", "Effect", "Option", "CommandConfig", "Common", "formatSpace", "getSpace", "print", "printSpace", "spaceIdWithDefault", "ClientService", "handler", "fn", "spaceId", "wait", "json", "client", "resolvedSpaceId", "space", "waitSeconds", "getOrElse", "formatted", "log", "JSON", "stringify", "info", "make", "pipe", "optional", "integer", "withDescription", "Args", "Command", "Options", "Prompt", "Console", "Duration", "Effect", "Option", "CommandConfig", "print", "waitForSync", "FormBuilder", "ClientService", "Effect", "Queue", "Invitation", "runAndForwardErrors", "invariant", "AlreadyJoinedError", "runCallback", "effect", "CONNECTING", "invitation", "callbacks", "callbackResult", "callbackEffect", "code", "observable", "pipe", "err", "subscription", "handler", "fn", "invitationCode", "authCode", "json", "CommandConfig", "client", "ClientService", "encoded", "startsWith", "searchProps", "URL", "searchParams", "get", "invitation", "acceptInvitation", "observable", "spaces", "join", "callbacks", "onReadyForAuth", "isSome", "succeed", "getOrUndefined", "undefined", "text", "message", "pipe", "run", "mapError", "catchAll", "spaceKey", "log", "JSON", "stringify", "error", "space", "maxRetries", "retryDelays", "map", "s", "seconds", "i", "sleep", "tryPromise", "db", "flush", "waitForSync", "spaceId", "id", "state", "builder", "FormBuilder", "make", "title", "set", "key", "truncate", "properties", "name", "print", "build", "withDescription", "optional", "Command", "Options", "Console", "Effect", "Option", "CommandConfig", "formatSpace", "printSpace", "printList", "ClientService", "handler", "fn", "wait", "json", "client", "spaces", "get", "waitSeconds", "getOrElse", "formattedSpaces", "all", "map", "space", "log", "JSON", "stringify", "formatted", "list", "make", "integer", "pipe", "withDescription", "optional", "Command", "Options", "Console", "Effect", "CommandConfig", "Common", "getSpace", "printList", "spaceIdWithDefault", "ClientService", "FormBuilder", "SpaceMember", "maybeTruncateKey", "key", "truncate", "toHex", "mapMembers", "members", "truncateKeys", "map", "member", "identity", "identityKey", "name", "profile", "displayName", "presence", "PresenceState", "ONLINE", "printMember", "make", "title", "pipe", "set", "build", "printMembers", "handler", "fn", "spaceId", "json", "CommandConfig", "client", "ClientService", "resolvedSpaceId", "spaceIdWithDefault", "space", "getSpace", "members", "get", "log", "JSON", "stringify", "mapMembers", "formatted", "printMembers", "printList", "make", "Common", "pipe", "optional", "withDescription", "Command", "Options", "Console", "Effect", "CommandConfig", "Common", "getSpace", "waitForSync", "ClientService", "handler", "spaceId", "gen", "json", "client", "space", "tryPromise", "open", "db", "flush", "log", "JSON", "stringify", "success", "make", "pipe", "withDescription", "Command", "Command", "Options", "Console", "Effect", "Option", "CommandConfig", "Common", "getSpace", "printList", "spaceIdWithDefault", "ClientService", "getTypeAnnotation", "FormBuilder", "mapSchemas", "schemas", "map", "schema", "id", "typename", "version", "printSchema", "make", "title", "pipe", "set", "build", "printSchemas", "createTypenameFilter", "typenameFilter", "toLowerCase", "includes", "handler", "fn", "spaceId", "typename", "json", "CommandConfig", "client", "ClientService", "resolvedSpaceId", "spaceIdWithDefault", "space", "getSpace", "echoSchema", "tryPromise", "db", "schemaRegistry", "query", "run", "runtimeSchema", "internal", "graph", "schemas", "map", "schema", "id", "version", "schemaAnnotation", "getTypeAnnotation", "filter", "createTypenameFilter", "getOrUndefined", "log", "JSON", "stringify", "mapSchemas", "formatted", "printSchemas", "printList", "list", "make", "Common", "pipe", "optional", "text", "withDescription", "schema", "make", "pipe", "withDescription", "withSubcommands", "list", "Command", "Options", "Console", "Effect", "CommandConfig", "Common", "copyToClipboard", "getSpace", "openBrowser", "print", "spaceIdWithDefault", "FormBuilder", "ClientService", "Invitation", "InvitationEncoder", "hostInvitation", "handler", "fn", "spaceId", "multiple", "open", "host", "json", "client", "resolvedSpaceId", "space", "observable", "share", "authMethod", "AuthMethod", "SHARED_SECRET", "persistent", "multiUse", "invitation", "callbacks", "onConnecting", "gen", "invitationCode", "encode", "authCode", "pipe", "catchAll", "void", "log", "url", "URL", "searchParams", "append", "toString", "waitForSuccess", "JSON", "stringify", "state", "State", "builder", "make", "title", "set", "build", "optional", "boolean", "ifPresent", "withDescription", "text", "withDefault", "Command", "Options", "Duration", "Effect", "Schedule", "Common", "getSpace", "spaceIdWithDefault", "waitForSync", "withTimeout", "sync", "make", "spaceId", "pipe", "optional", "spaceTimeout", "integer", "withDescription", "withDefault", "gen", "resolvedSpaceId", "space", "retry", "fixed", "timeout", "millis", "space", "make", "pipe", "withDescription", "withSubcommands", "close", "create", "info", "join", "list", "members", "open", "schema", "share", "sync", "SpacePlugin", "Plugin", "define", "meta", "pipe", "AppPlugin", "addCommandModule", "commands", "database", "queue", "space", "addMetadataModule", "metadata", "id", "Collection", "typename", "createObject", "props", "options", "gen", "object", "make", "Operation", "invoke", "SpaceOperation", "AddObject", "target", "hidden", "targetNodeId", "addOperationHandlerModule", "activate", "OperationHandler", "addSchemaModule", "schema", "DataTypes", "AnchoredTo", "Employer", "Event", "HasConnection", "HasRelationship", "HasSubject", "Organization", "Person", "Pipeline", "Tag", "Task", "addModule", "shareableLinkOrigin", "invitationPath", "invitationProp", "createInvitationUrl", "invitationCode", "baseUrl", "URL", "searchParams", "set", "toString", "Capability", "getModuleTag", "UndoMappings", "activatesOn", "ActivationEvents", "SetupOperationHandler", "observability", "ClientEvents", "IdentityCreated", "firesAfterActivation", "SpaceEvents", "PersonalSpaceReady"]
|
|
7
7
|
}
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import {
|
|
2
2
|
SpaceOperation
|
|
3
|
-
} from "./chunk-
|
|
4
|
-
import "./chunk-
|
|
3
|
+
} from "./chunk-C7AYQOUD.mjs";
|
|
4
|
+
import "./chunk-CQF3R5FY.mjs";
|
|
5
5
|
import "./chunk-J5LGTIGS.mjs";
|
|
6
6
|
|
|
7
7
|
// src/operations/close.ts
|
|
8
8
|
import * as Effect from "effect/Effect";
|
|
9
|
-
import { Operation } from "@dxos/
|
|
9
|
+
import { Operation } from "@dxos/compute";
|
|
10
10
|
var handler = SpaceOperation.Close.pipe(Operation.withHandler((input) => Effect.promise(async () => {
|
|
11
11
|
await input.space.close();
|
|
12
12
|
})));
|
|
@@ -14,4 +14,4 @@ var close_default = handler;
|
|
|
14
14
|
export {
|
|
15
15
|
close_default as default
|
|
16
16
|
};
|
|
17
|
-
//# sourceMappingURL=close-
|
|
17
|
+
//# sourceMappingURL=close-UTZ4JU5U.mjs.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/operations/close.ts"],
|
|
4
|
-
"sourcesContent": ["// Copyright 2025 DXOS.org\n\nimport * as Effect from 'effect/Effect';\n\nimport { Operation } from '@dxos/
|
|
4
|
+
"sourcesContent": ["// Copyright 2025 DXOS.org\n\nimport * as Effect from 'effect/Effect';\n\nimport { Operation } from '@dxos/compute';\n\nimport { SpaceOperation } from './definitions';\n\nconst handler: Operation.WithHandler<typeof SpaceOperation.Close> = SpaceOperation.Close.pipe(\n Operation.withHandler((input) =>\n Effect.promise(async () => {\n await input.space.close();\n }),\n ),\n);\nexport default handler;\n"],
|
|
5
5
|
"mappings": ";;;;;;;AAEA,YAAYA,YAAY;AAExB,SAASC,iBAAiB;AAI1B,IAAMC,UAA8DC,eAAeC,MAAMC,KACvFC,UAAUC,YAAY,CAACC,UACdC,eAAQ,YAAA;AACb,QAAMD,MAAME,MAAMC,MAAK;AACzB,CAAA,CAAA,CAAA;AAGJ,IAAA,gBAAeT;",
|
|
6
6
|
"names": ["Effect", "Operation", "handler", "SpaceOperation", "Close", "pipe", "Operation", "withHandler", "input", "promise", "space", "close"]
|
|
7
7
|
}
|
|
@@ -1,21 +1,21 @@
|
|
|
1
1
|
import {
|
|
2
2
|
SpaceOperationConfig
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-JHZGRYGS.mjs";
|
|
4
4
|
import {
|
|
5
5
|
SpaceOperation
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-C7AYQOUD.mjs";
|
|
7
7
|
import {
|
|
8
8
|
SpaceCapabilities,
|
|
9
9
|
SpaceEvents
|
|
10
|
-
} from "./chunk-
|
|
10
|
+
} from "./chunk-CQF3R5FY.mjs";
|
|
11
11
|
import "./chunk-J5LGTIGS.mjs";
|
|
12
12
|
|
|
13
13
|
// src/operations/create.ts
|
|
14
14
|
import * as Effect from "effect/Effect";
|
|
15
15
|
import { Capability, Plugin } from "@dxos/app-framework";
|
|
16
|
+
import { Operation } from "@dxos/compute";
|
|
16
17
|
import { Collection, Obj, Ref } from "@dxos/echo";
|
|
17
18
|
import { Migrations } from "@dxos/migrations";
|
|
18
|
-
import { Operation } from "@dxos/operation";
|
|
19
19
|
import { ClientCapabilities } from "@dxos/plugin-client/types";
|
|
20
20
|
import { ObservabilityOperation } from "@dxos/plugin-observability/operations";
|
|
21
21
|
import { EdgeReplicationSetting } from "@dxos/protocols/proto/dxos/echo/metadata";
|
|
@@ -37,7 +37,7 @@ var handler = SpaceOperation.Create.pipe(Operation.withHandler(Effect.fnUntraced
|
|
|
37
37
|
const collection = Obj.make(Collection.Collection, {
|
|
38
38
|
objects: []
|
|
39
39
|
});
|
|
40
|
-
Obj.
|
|
40
|
+
Obj.update(space.properties, (obj) => {
|
|
41
41
|
obj[Collection.Collection.typename] = Ref.make(collection);
|
|
42
42
|
if (Migrations.versionProperty) {
|
|
43
43
|
obj[Migrations.versionProperty] = Migrations.targetVersion;
|
|
@@ -71,4 +71,4 @@ var create_default = handler;
|
|
|
71
71
|
export {
|
|
72
72
|
create_default as default
|
|
73
73
|
};
|
|
74
|
-
//# sourceMappingURL=create-
|
|
74
|
+
//# sourceMappingURL=create-7DZWDM22.mjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/operations/create.ts"],
|
|
4
|
+
"sourcesContent": ["// Copyright 2025 DXOS.org\n\nimport * as Effect from 'effect/Effect';\n\nimport { Capability, Plugin } from '@dxos/app-framework';\nimport { Operation } from '@dxos/compute';\nimport { Collection, Obj, Ref } from '@dxos/echo';\nimport { Migrations } from '@dxos/migrations';\nimport { ClientCapabilities } from '@dxos/plugin-client/types';\nimport { ObservabilityOperation } from '@dxos/plugin-observability/operations';\nimport { EdgeReplicationSetting } from '@dxos/protocols/proto/dxos/echo/metadata';\nimport { iconValues } from '@dxos/react-ui-pickers/icons';\nimport { hues } from '@dxos/ui-theme';\n\nimport { SpaceEvents, SpaceCapabilities } from '../types';\nimport { SpaceOperation } from './definitions';\nimport { SpaceOperationConfig } from './helpers';\n\nconst handler: Operation.WithHandler<typeof SpaceOperation.Create> = SpaceOperation.Create.pipe(\n Operation.withHandler(\n 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 const collection = Obj.make(Collection.Collection, { objects: [] });\n Obj.update(space.properties, (obj) => {\n obj[Collection.Collection.typename] = Ref.make(collection);\n if (Migrations.versionProperty) {\n obj[Migrations.versionProperty] = Migrations.targetVersion;\n }\n });\n\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 const { observability } = yield* Capability.get(SpaceOperationConfig);\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);\nexport default handler;\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;AAEA,YAAYA,YAAY;AAExB,SAASC,YAAYC,cAAc;AACnC,SAASC,iBAAiB;AAC1B,SAASC,YAAYC,KAAKC,WAAW;AACrC,SAASC,kBAAkB;AAC3B,SAASC,0BAA0B;AACnC,SAASC,8BAA8B;AACvC,SAASC,8BAA8B;AACvC,SAASC,kBAAkB;AAC3B,SAASC,YAAY;AAMrB,IAAMC,UAA+DC,eAAeC,OAAOC,KACzFC,UAAUC,YACDC,kBAAW,WAAW,EAAEC,MAAMC,KAAKC,MAAMC,MAAMC,OAAOC,gBAAe,GAAE;AAC5E,QAAMC,SAAS,OAAOC,WAAWC,IAAIC,mBAAmBC,MAAM;AAC9D,QAAMT,MAAMC,QAAQS,KAAKC,KAAKC,MAAMD,KAAKE,OAAM,IAAKH,KAAKI,MAAM,CAAA;AAC/D,QAAMZ,OAAOC,SAASY,WAAWJ,KAAKC,MAAMD,KAAKE,OAAM,IAAKE,WAAWD,MAAM,CAAA;AAC7E,QAAME,QAAQ,OAAcC,eAAQ,MAAMZ,OAAOa,OAAOC,OAAO;IAAEpB;IAAMC;IAAKE;EAAK,CAAA,CAAA;AACjF,MAAIE,iBAAiB;AACnB,WAAca,eAAQ,MAAMD,MAAMI,SAASC,6BAA6BC,uBAAuBC,OAAO,CAAA;EACxG;AACA,SAAcN,eAAQ,MAAMD,MAAMQ,eAAc,CAAA;AAEhD,QAAMC,aAAaC,IAAIC,KAAKC,WAAWA,YAAY;IAAEC,SAAS,CAAA;EAAG,CAAA;AACjEH,MAAII,OAAOd,MAAMe,YAAY,CAACC,QAAAA;AAC5BA,QAAIJ,WAAWA,WAAWK,QAAQ,IAAIC,IAAIP,KAAKF,UAAAA;AAC/C,QAAIU,WAAWC,iBAAiB;AAC9BJ,UAAIG,WAAWC,eAAe,IAAID,WAAWE;IAC/C;EACF,CAAA;AAEA,SAAOC,OAAOC,SAASC,YAAYC,YAAY;AAC/C,QAAMC,yBAAyB,OAAOpC,WAAWqC,OAAOC,kBAAkBC,aAAa;AACvF,SAAcC,WACZJ,uBAAuBK,IAAI,CAACC,kBAC1BA,cAAc;IAAEhC;IAAOiC,WAAW;IAAOC,gBAAgBzB;EAAW,CAAA,CAAA,CAAA;AAIxE,QAAM,EAAE0B,cAAa,IAAK,OAAO7C,WAAWC,IAAI6C,oBAAAA;AAChD,MAAID,eAAe;AACjB,WAAOvD,UAAUyD,SAASC,uBAAuBC,WAAW;MAC1DxD,MAAM;MACNgC,YAAY;QAAEyB,SAASxC,MAAMyC;MAAG;IAClC,CAAA;EACF;AAEA,SAAO;IAAEA,IAAIzC,MAAMyC;IAAIC,SAAS;MAAC1C,MAAMyC;;IAAKzC;EAAM;AACpD,CAAA,CAAA,CAAA;AAGJ,IAAA,iBAAexB;",
|
|
6
|
+
"names": ["Effect", "Capability", "Plugin", "Operation", "Collection", "Obj", "Ref", "Migrations", "ClientCapabilities", "ObservabilityOperation", "EdgeReplicationSetting", "iconValues", "hues", "handler", "SpaceOperation", "Create", "pipe", "Operation", "withHandler", "fnUntraced", "name", "hue", "hue_", "icon", "icon_", "edgeReplication", "client", "Capability", "get", "ClientCapabilities", "Client", "hues", "Math", "floor", "random", "length", "iconValues", "space", "promise", "spaces", "create", "internal", "setEdgeReplicationPreference", "EdgeReplicationSetting", "ENABLED", "waitUntilReady", "collection", "Obj", "make", "Collection", "objects", "update", "properties", "obj", "typename", "Ref", "Migrations", "versionProperty", "targetVersion", "Plugin", "activate", "SpaceEvents", "SpaceCreated", "onCreateSpaceCallbacks", "getAll", "SpaceCapabilities", "OnCreateSpace", "all", "map", "onCreateSpace", "isDefault", "rootCollection", "observability", "SpaceOperationConfig", "schedule", "ObservabilityOperation", "SendEvent", "spaceId", "id", "subject"]
|
|
7
|
+
}
|
|
@@ -1,52 +1,28 @@
|
|
|
1
1
|
import {
|
|
2
2
|
SpaceOperation
|
|
3
|
-
} from "./chunk-
|
|
4
|
-
import "./chunk-
|
|
3
|
+
} from "./chunk-C7AYQOUD.mjs";
|
|
4
|
+
import "./chunk-CQF3R5FY.mjs";
|
|
5
5
|
import "./chunk-J5LGTIGS.mjs";
|
|
6
6
|
|
|
7
7
|
// src/operations/delete-field.ts
|
|
8
8
|
import * as Effect from "effect/Effect";
|
|
9
9
|
import { Capabilities, Capability } from "@dxos/app-framework";
|
|
10
|
+
import { Operation } from "@dxos/compute";
|
|
10
11
|
import { Obj } from "@dxos/echo";
|
|
11
12
|
import { invariant } from "@dxos/invariant";
|
|
12
|
-
import { Operation } from "@dxos/operation";
|
|
13
13
|
import { ProjectionModel, createEchoChangeCallback, getTypenameFromQuery } from "@dxos/schema";
|
|
14
14
|
var __dxlog_file = "/__w/dxos/dxos/packages/plugins/plugin-space/src/operations/delete-field.ts";
|
|
15
15
|
var handler = SpaceOperation.DeleteField.pipe(Operation.withHandler(Effect.fnUntraced(function* (input) {
|
|
16
16
|
const registry = yield* Capability.get(Capabilities.AtomRegistry);
|
|
17
17
|
const view = input.view;
|
|
18
18
|
const db = Obj.getDatabase(view);
|
|
19
|
-
invariant(db, void 0, {
|
|
20
|
-
F: __dxlog_file,
|
|
21
|
-
L: 19,
|
|
22
|
-
S: this,
|
|
23
|
-
A: [
|
|
24
|
-
"db",
|
|
25
|
-
""
|
|
26
|
-
]
|
|
27
|
-
});
|
|
19
|
+
invariant(db, void 0, { "~LogMeta": "~LogMeta", F: __dxlog_file, L: 13, S: this, A: ["db", ""] });
|
|
28
20
|
const typename = getTypenameFromQuery(view.query.ast);
|
|
29
|
-
invariant(typename, void 0, {
|
|
30
|
-
F: __dxlog_file,
|
|
31
|
-
L: 21,
|
|
32
|
-
S: this,
|
|
33
|
-
A: [
|
|
34
|
-
"typename",
|
|
35
|
-
""
|
|
36
|
-
]
|
|
37
|
-
});
|
|
21
|
+
invariant(typename, void 0, { "~LogMeta": "~LogMeta", F: __dxlog_file, L: 15, S: this, A: ["typename", ""] });
|
|
38
22
|
const schema = yield* Effect.promise(() => db.schemaRegistry.query({
|
|
39
23
|
typename
|
|
40
24
|
}).firstOrUndefined());
|
|
41
|
-
invariant(schema, void 0, {
|
|
42
|
-
F: __dxlog_file,
|
|
43
|
-
L: 23,
|
|
44
|
-
S: this,
|
|
45
|
-
A: [
|
|
46
|
-
"schema",
|
|
47
|
-
""
|
|
48
|
-
]
|
|
49
|
-
});
|
|
25
|
+
invariant(schema, void 0, { "~LogMeta": "~LogMeta", F: __dxlog_file, L: 19, S: this, A: ["schema", ""] });
|
|
50
26
|
const projection = new ProjectionModel({
|
|
51
27
|
registry,
|
|
52
28
|
view,
|
|
@@ -64,4 +40,4 @@ var delete_field_default = handler;
|
|
|
64
40
|
export {
|
|
65
41
|
delete_field_default as default
|
|
66
42
|
};
|
|
67
|
-
//# sourceMappingURL=delete-field-
|
|
43
|
+
//# sourceMappingURL=delete-field-OSRHGYX5.mjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/operations/delete-field.ts"],
|
|
4
|
+
"sourcesContent": ["// Copyright 2025 DXOS.org\n\nimport * as Effect from 'effect/Effect';\n\nimport { Capabilities, Capability } from '@dxos/app-framework';\nimport { Operation } from '@dxos/compute';\nimport { Obj } from '@dxos/echo';\nimport { invariant } from '@dxos/invariant';\nimport { ProjectionModel, createEchoChangeCallback, getTypenameFromQuery } from '@dxos/schema';\n\nimport { SpaceOperation } from './definitions';\n\nconst handler: Operation.WithHandler<typeof SpaceOperation.DeleteField> = SpaceOperation.DeleteField.pipe(\n Operation.withHandler(\n 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 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 {\n field: result.deleted.field,\n props: result.deleted.props,\n index: result.index,\n };\n }),\n ),\n);\nexport default handler;\n"],
|
|
5
|
+
"mappings": ";;;;;;;AAEA,YAAYA,YAAY;AAExB,SAASC,cAAcC,kBAAkB;AACzC,SAASC,iBAAiB;AAC1B,SAASC,WAAW;AACpB,SAASC,iBAAiB;AAC1B,SAASC,iBAAiBC,0BAA0BC,4BAA4B;AAIhF,IAAA,eAA0EC;IAIpE,UAAMC,eAAiB,YAAA,KAAA,UAAA,YAAA,kBAAA,WAAA,OAAA;AACvB,QAAMC,WAASC,OAAAA,WAAYF,IAAAA,aAAAA,YAAAA;AAC3BG,QAAAA,OAAUF,MAAAA;AACV,QAAMG,KAAAA,IAAAA,YAAWC,IAAAA;AACjBF,YAAUC,IAAAA,QAAAA,EAAAA,YAAAA,YAAAA,GAAAA,cAAAA,GAAAA,IAAAA,GAAAA,MAAAA,GAAAA,CAAAA,MAAAA,EAAAA,EAAAA,CAAAA;AACV,QAAME,WAAS,qBAAsB,KAAML,MAAGM,GAAAA;YAAuBH,UAAAA,QAAAA,EAAAA,YAAAA,YAAAA,GAAAA,cAAAA,GAAAA,IAAAA,GAAAA,MAAAA,GAAAA,CAAAA,YAAAA,EAAAA,EAAAA,CAAAA;QAAS,SAAGI,OAAgB,eAAA,MAAA,GAAA,eAAA,MAAA;IACjGL;EAEA,CAAA,EAAMM,iBAAiBC,CAAAA;YACrBC,QAAAA,QAAAA,EAAAA,YAAAA,YAAAA,GAAAA,cAAAA,GAAAA,IAAAA,GAAAA,MAAAA,GAAAA,CAAAA,UAAAA,EAAAA,EAAAA,CAAAA;QACAX,aAAAA,IAAAA,gBAAAA;IACAY;IACAC;IACF,YAAA,OAAA;IAEA,QAAMC,yBAAoBC,MAAAA,MAAsBC;EAEhD,CAAA;QACEC,SAAOH,WAAeG,sBAAK,MAAA,OAAA;SAC3BC;IACAC,OAAOL,OAAOK,QAAK;IACrB,OAAA,OAAA,QAAA;IACF,OAAA,OAAA;EAGJ;;;",
|
|
6
|
+
"names": ["Effect", "Capabilities", "Capability", "Operation", "Obj", "invariant", "ProjectionModel", "createEchoChangeCallback", "getTypenameFromQuery", "SpaceOperation", "view", "db", "getDatabase", "invariant", "typename", "getTypenameFromQuery", "schema", "schemaRegistry", "firstOrUndefined", "projection", "ProjectionModel", "registry", "baseSchema", "change", "result", "deleteFieldProjection", "input", "field", "props", "index"]
|
|
7
|
+
}
|