@dxos/plugin-space 0.8.2-main.2f9c567 → 0.8.2-main.30e4dbb

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.
Files changed (158) hide show
  1. package/dist/lib/browser/{app-graph-builder-I2BU35J5.mjs → app-graph-builder-6KVRD7OJ.mjs} +27 -10
  2. package/dist/lib/browser/{app-graph-builder-I2BU35J5.mjs.map → app-graph-builder-6KVRD7OJ.mjs.map} +3 -3
  3. package/dist/lib/browser/{app-graph-serializer-HPYDOKA5.mjs → app-graph-serializer-N7KZGCST.mjs} +4 -4
  4. package/dist/lib/browser/{chunk-YQNBTJI4.mjs → chunk-CY35NLWL.mjs} +1 -13
  5. package/dist/lib/browser/{chunk-YQNBTJI4.mjs.map → chunk-CY35NLWL.mjs.map} +3 -3
  6. package/dist/lib/browser/{chunk-RERTVPBV.mjs → chunk-F57CTUM6.mjs} +4 -4
  7. package/dist/lib/browser/{chunk-RERTVPBV.mjs.map → chunk-F57CTUM6.mjs.map} +2 -2
  8. package/dist/lib/browser/{chunk-TSX67XGX.mjs → chunk-V4VNP2WY.mjs} +124 -174
  9. package/dist/lib/browser/{chunk-TSX67XGX.mjs.map → chunk-V4VNP2WY.mjs.map} +4 -4
  10. package/dist/lib/browser/{chunk-OS5QKO4Z.mjs → chunk-XC4BXZVV.mjs} +2 -3
  11. package/dist/lib/browser/chunk-XC4BXZVV.mjs.map +7 -0
  12. package/dist/lib/browser/{identity-created-DWFKBGOA.mjs → identity-created-74EHBH7M.mjs} +2 -2
  13. package/dist/lib/browser/index.mjs +4 -8
  14. package/dist/lib/browser/index.mjs.map +1 -1
  15. package/dist/lib/browser/{intent-resolver-GKDCJ4H2.mjs → intent-resolver-FZ64VJKZ.mjs} +7 -26
  16. package/dist/lib/browser/intent-resolver-FZ64VJKZ.mjs.map +7 -0
  17. package/dist/lib/browser/meta.json +1 -1
  18. package/dist/lib/browser/{react-root-667IZ2Q4.mjs → react-root-2EFJCOX7.mjs} +4 -4
  19. package/dist/lib/browser/{react-surface-I4RNTGGN.mjs → react-surface-N5OGF7TQ.mjs} +4 -12
  20. package/dist/lib/browser/react-surface-N5OGF7TQ.mjs.map +7 -0
  21. package/dist/lib/browser/{settings-ILGGNYJ7.mjs → settings-G24447B7.mjs} +2 -2
  22. package/dist/lib/browser/{spaces-ready-IXZF3RWW.mjs → spaces-ready-ZSUEPHJF.mjs} +3 -3
  23. package/dist/lib/browser/types/index.mjs +1 -1
  24. package/dist/lib/node/{app-graph-builder-H7MDHM3X.cjs → app-graph-builder-6VR2TBBF.cjs} +55 -38
  25. package/dist/lib/node/{app-graph-builder-H7MDHM3X.cjs.map → app-graph-builder-6VR2TBBF.cjs.map} +3 -3
  26. package/dist/lib/node/{app-graph-serializer-G7UYFWG6.cjs → app-graph-serializer-IKQLWTCX.cjs} +20 -20
  27. package/dist/lib/node/{chunk-EG3WAZLA.cjs → chunk-FILCZU6V.cjs} +29 -29
  28. package/dist/lib/node/{chunk-EG3WAZLA.cjs.map → chunk-FILCZU6V.cjs.map} +2 -2
  29. package/dist/lib/node/{chunk-AR3JHVCY.cjs → chunk-K6ZO4WDJ.cjs} +4 -16
  30. package/dist/lib/node/{chunk-AR3JHVCY.cjs.map → chunk-K6ZO4WDJ.cjs.map} +3 -3
  31. package/dist/lib/node/{chunk-HD4C6KKO.cjs → chunk-P2ZIVXGY.cjs} +177 -227
  32. package/dist/lib/node/chunk-P2ZIVXGY.cjs.map +7 -0
  33. package/dist/lib/node/{chunk-NCSFM6RA.cjs → chunk-YAE6CCDB.cjs} +6 -7
  34. package/dist/lib/node/chunk-YAE6CCDB.cjs.map +7 -0
  35. package/dist/lib/node/{identity-created-YLGVEWAJ.cjs → identity-created-PCQPDULV.cjs} +6 -6
  36. package/dist/lib/node/index.cjs +60 -64
  37. package/dist/lib/node/index.cjs.map +1 -1
  38. package/dist/lib/node/{intent-resolver-V7UJKLE7.cjs → intent-resolver-BK6JDXY4.cjs} +55 -73
  39. package/dist/lib/node/intent-resolver-BK6JDXY4.cjs.map +7 -0
  40. package/dist/lib/node/meta.json +1 -1
  41. package/dist/lib/node/{react-root-I3SSFA5O.cjs → react-root-DEQFKQVD.cjs} +8 -8
  42. package/dist/lib/node/{react-surface-OLMQCCYD.cjs → react-surface-UQD7LR67.cjs} +41 -47
  43. package/dist/lib/node/react-surface-UQD7LR67.cjs.map +7 -0
  44. package/dist/lib/node/{settings-7TC55JP4.cjs → settings-AFWO4AWK.cjs} +6 -6
  45. package/dist/lib/node/{spaces-ready-4H3Q46GV.cjs → spaces-ready-MHLUFLXN.cjs} +11 -11
  46. package/dist/lib/node/types/index.cjs +15 -15
  47. package/dist/lib/node/types/index.cjs.map +1 -1
  48. package/dist/lib/node-esm/{app-graph-builder-NI7X6W3Q.mjs → app-graph-builder-O7M6MVS5.mjs} +27 -10
  49. package/dist/lib/node-esm/{app-graph-builder-NI7X6W3Q.mjs.map → app-graph-builder-O7M6MVS5.mjs.map} +3 -3
  50. package/dist/lib/node-esm/{app-graph-serializer-CVPYWWW3.mjs → app-graph-serializer-I6XBQJLA.mjs} +4 -4
  51. package/dist/lib/node-esm/{chunk-RUWTHAV7.mjs → chunk-CLRCW6PU.mjs} +1 -13
  52. package/dist/lib/node-esm/{chunk-RUWTHAV7.mjs.map → chunk-CLRCW6PU.mjs.map} +3 -3
  53. package/dist/lib/node-esm/{chunk-B2P24Q5R.mjs → chunk-COHDPHM7.mjs} +4 -4
  54. package/dist/lib/node-esm/{chunk-B2P24Q5R.mjs.map → chunk-COHDPHM7.mjs.map} +2 -2
  55. package/dist/lib/node-esm/{chunk-FUH5OODY.mjs → chunk-HEXOMJIR.mjs} +2 -3
  56. package/dist/lib/node-esm/chunk-HEXOMJIR.mjs.map +7 -0
  57. package/dist/lib/node-esm/{chunk-BU6F7ZU4.mjs → chunk-TB557OBD.mjs} +124 -174
  58. package/dist/lib/node-esm/{chunk-BU6F7ZU4.mjs.map → chunk-TB557OBD.mjs.map} +4 -4
  59. package/dist/lib/node-esm/{identity-created-7NHGER3Q.mjs → identity-created-GXS46A3C.mjs} +2 -2
  60. package/dist/lib/node-esm/index.mjs +4 -8
  61. package/dist/lib/node-esm/index.mjs.map +1 -1
  62. package/dist/lib/node-esm/{intent-resolver-IL63YTIT.mjs → intent-resolver-6VPP3ZDO.mjs} +7 -26
  63. package/dist/lib/node-esm/intent-resolver-6VPP3ZDO.mjs.map +7 -0
  64. package/dist/lib/node-esm/meta.json +1 -1
  65. package/dist/lib/node-esm/{react-root-JEGVIVVK.mjs → react-root-2RJ2S5E6.mjs} +4 -4
  66. package/dist/lib/node-esm/{react-surface-DRRXIJBE.mjs → react-surface-2RSRATVY.mjs} +4 -12
  67. package/dist/lib/node-esm/react-surface-2RSRATVY.mjs.map +7 -0
  68. package/dist/lib/node-esm/{settings-CXMV2AFR.mjs → settings-MJVSCOI4.mjs} +2 -2
  69. package/dist/lib/node-esm/{spaces-ready-QMXLQ4QV.mjs → spaces-ready-35U5BBTH.mjs} +3 -3
  70. package/dist/lib/node-esm/types/index.mjs +1 -1
  71. package/dist/types/src/SpacePlugin.d.ts.map +1 -1
  72. package/dist/types/src/capabilities/app-graph-builder.d.ts.map +1 -1
  73. package/dist/types/src/capabilities/app-graph-serializer.d.ts.map +1 -1
  74. package/dist/types/src/capabilities/identity-created.d.ts.map +1 -1
  75. package/dist/types/src/capabilities/index.d.ts.map +1 -1
  76. package/dist/types/src/capabilities/intent-resolver.d.ts.map +1 -1
  77. package/dist/types/src/capabilities/react-surface.d.ts.map +1 -1
  78. package/dist/types/src/capabilities/schema-defs.d.ts.map +1 -1
  79. package/dist/types/src/capabilities/spaces-ready.d.ts.map +1 -1
  80. package/dist/types/src/capabilities/state.d.ts.map +1 -1
  81. package/dist/types/src/components/AwaitingObject.d.ts.map +1 -1
  82. package/dist/types/src/components/CollectionMain.d.ts.map +1 -1
  83. package/dist/types/src/components/CollectionSection.d.ts.map +1 -1
  84. package/dist/types/src/components/CreateDialog/CreateObjectDialog.d.ts.map +1 -1
  85. package/dist/types/src/components/CreateDialog/CreateObjectPanel.d.ts.map +1 -1
  86. package/dist/types/src/components/JoinDialog.d.ts.map +1 -1
  87. package/dist/types/src/components/MembersContainer.d.ts.map +1 -1
  88. package/dist/types/src/components/MembersContainer.stories.d.ts.map +1 -1
  89. package/dist/types/src/components/MenuFooter.d.ts.map +1 -1
  90. package/dist/types/src/components/ObjectSettings/AdvancedObjectSettings.d.ts.map +1 -1
  91. package/dist/types/src/components/ObjectSettings/BaseObjectSettings.d.ts.map +1 -1
  92. package/dist/types/src/components/ObjectSettings/ForeignKeys.d.ts.map +1 -1
  93. package/dist/types/src/components/ObjectSettings/ObjectSettingsContainer.d.ts.map +1 -1
  94. package/dist/types/src/components/PersistenceStatus.d.ts.map +1 -1
  95. package/dist/types/src/components/PopoverRenameObject.d.ts.map +1 -1
  96. package/dist/types/src/components/PopoverRenameSpace.d.ts.map +1 -1
  97. package/dist/types/src/components/SchemaContainer.d.ts.map +1 -1
  98. package/dist/types/src/components/SpacePluginSettings.d.ts.map +1 -1
  99. package/dist/types/src/components/SpacePresence.d.ts.map +1 -1
  100. package/dist/types/src/components/SpacePresence.stories.d.ts.map +1 -1
  101. package/dist/types/src/components/SpaceSettings/SpaceSettingsContainer.d.ts.map +1 -1
  102. package/dist/types/src/components/SyncStatus/InlineSyncStatus.d.ts.map +1 -1
  103. package/dist/types/src/components/SyncStatus/SyncStatus.d.ts.map +1 -1
  104. package/dist/types/src/components/SyncStatus/save-tracker.d.ts.map +1 -1
  105. package/dist/types/src/components/SyncStatus/status.d.ts.map +1 -1
  106. package/dist/types/src/components/index.d.ts +0 -1
  107. package/dist/types/src/components/index.d.ts.map +1 -1
  108. package/dist/types/src/hooks/useInputSurfaceLookup.d.ts.map +1 -1
  109. package/dist/types/src/hooks/usePath.d.ts.map +1 -1
  110. package/dist/types/src/translations.d.ts +2 -263
  111. package/dist/types/src/translations.d.ts.map +1 -1
  112. package/dist/types/src/types/thread.d.ts.map +1 -1
  113. package/dist/types/src/types/types.d.ts +0 -16
  114. package/dist/types/src/types/types.d.ts.map +1 -1
  115. package/dist/types/src/util.d.ts.map +1 -1
  116. package/dist/types/tsconfig.tsbuildinfo +1 -1
  117. package/package.json +44 -44
  118. package/src/capabilities/app-graph-builder.ts +20 -8
  119. package/src/capabilities/intent-resolver.ts +0 -19
  120. package/src/capabilities/react-surface.tsx +0 -8
  121. package/src/components/CreateDialog/CreateObjectDialog.stories.tsx +1 -1
  122. package/src/components/MembersContainer.stories.tsx +1 -5
  123. package/src/components/PersistenceStatus.tsx +11 -14
  124. package/src/components/SpacePresence.stories.tsx +1 -1
  125. package/src/components/SpacePresence.tsx +32 -42
  126. package/src/components/SyncStatus/InlineSyncStatus.tsx +8 -16
  127. package/src/components/index.ts +0 -1
  128. package/src/translations.ts +0 -1
  129. package/src/types/types.ts +0 -13
  130. package/src/util.tsx +4 -4
  131. package/dist/lib/browser/chunk-OS5QKO4Z.mjs.map +0 -7
  132. package/dist/lib/browser/intent-resolver-GKDCJ4H2.mjs.map +0 -7
  133. package/dist/lib/browser/react-surface-I4RNTGGN.mjs.map +0 -7
  134. package/dist/lib/node/chunk-HD4C6KKO.cjs.map +0 -7
  135. package/dist/lib/node/chunk-NCSFM6RA.cjs.map +0 -7
  136. package/dist/lib/node/intent-resolver-V7UJKLE7.cjs.map +0 -7
  137. package/dist/lib/node/react-surface-OLMQCCYD.cjs.map +0 -7
  138. package/dist/lib/node-esm/chunk-FUH5OODY.mjs.map +0 -7
  139. package/dist/lib/node-esm/intent-resolver-IL63YTIT.mjs.map +0 -7
  140. package/dist/lib/node-esm/react-surface-DRRXIJBE.mjs.map +0 -7
  141. package/dist/types/src/components/PopoverAddSpace.d.ts +0 -4
  142. package/dist/types/src/components/PopoverAddSpace.d.ts.map +0 -1
  143. package/src/components/PopoverAddSpace.tsx +0 -52
  144. /package/dist/lib/browser/{app-graph-serializer-HPYDOKA5.mjs.map → app-graph-serializer-N7KZGCST.mjs.map} +0 -0
  145. /package/dist/lib/browser/{identity-created-DWFKBGOA.mjs.map → identity-created-74EHBH7M.mjs.map} +0 -0
  146. /package/dist/lib/browser/{react-root-667IZ2Q4.mjs.map → react-root-2EFJCOX7.mjs.map} +0 -0
  147. /package/dist/lib/browser/{settings-ILGGNYJ7.mjs.map → settings-G24447B7.mjs.map} +0 -0
  148. /package/dist/lib/browser/{spaces-ready-IXZF3RWW.mjs.map → spaces-ready-ZSUEPHJF.mjs.map} +0 -0
  149. /package/dist/lib/node/{app-graph-serializer-G7UYFWG6.cjs.map → app-graph-serializer-IKQLWTCX.cjs.map} +0 -0
  150. /package/dist/lib/node/{identity-created-YLGVEWAJ.cjs.map → identity-created-PCQPDULV.cjs.map} +0 -0
  151. /package/dist/lib/node/{react-root-I3SSFA5O.cjs.map → react-root-DEQFKQVD.cjs.map} +0 -0
  152. /package/dist/lib/node/{settings-7TC55JP4.cjs.map → settings-AFWO4AWK.cjs.map} +0 -0
  153. /package/dist/lib/node/{spaces-ready-4H3Q46GV.cjs.map → spaces-ready-MHLUFLXN.cjs.map} +0 -0
  154. /package/dist/lib/node-esm/{app-graph-serializer-CVPYWWW3.mjs.map → app-graph-serializer-I6XBQJLA.mjs.map} +0 -0
  155. /package/dist/lib/node-esm/{identity-created-7NHGER3Q.mjs.map → identity-created-GXS46A3C.mjs.map} +0 -0
  156. /package/dist/lib/node-esm/{react-root-JEGVIVVK.mjs.map → react-root-2RJ2S5E6.mjs.map} +0 -0
  157. /package/dist/lib/node-esm/{settings-CXMV2AFR.mjs.map → settings-MJVSCOI4.mjs.map} +0 -0
  158. /package/dist/lib/node-esm/{spaces-ready-QMXLQ4QV.mjs.map → spaces-ready-35U5BBTH.mjs.map} +0 -0
@@ -1,11 +1,11 @@
1
1
  import {
2
2
  AwaitingObject
3
- } from "./chunk-TSX67XGX.mjs";
3
+ } from "./chunk-V4VNP2WY.mjs";
4
4
  import {
5
5
  SpaceCapabilities
6
6
  } from "./chunk-KVRYWFZU.mjs";
7
- import "./chunk-RERTVPBV.mjs";
8
- import "./chunk-YQNBTJI4.mjs";
7
+ import "./chunk-F57CTUM6.mjs";
8
+ import "./chunk-CY35NLWL.mjs";
9
9
  import {
10
10
  SPACE_PLUGIN
11
11
  } from "./chunk-PTKYMZWO.mjs";
@@ -25,4 +25,4 @@ var react_root_default = () => contributes(Capabilities.ReactRoot, {
25
25
  export {
26
26
  react_root_default as default
27
27
  };
28
- //# sourceMappingURL=react-root-667IZ2Q4.mjs.map
28
+ //# sourceMappingURL=react-root-2EFJCOX7.mjs.map
@@ -11,10 +11,8 @@ import {
11
11
  MembersContainer,
12
12
  MenuFooter,
13
13
  ObjectSettingsContainer,
14
- POPOVER_ADD_SPACE,
15
14
  POPOVER_RENAME_OBJECT,
16
15
  POPOVER_RENAME_SPACE,
17
- PopoverAddSpace,
18
16
  PopoverRenameObject,
19
17
  PopoverRenameSpace,
20
18
  SchemaContainer,
@@ -23,16 +21,16 @@ import {
23
21
  SpacePresence,
24
22
  SpaceSettingsContainer,
25
23
  SyncStatus
26
- } from "./chunk-TSX67XGX.mjs";
24
+ } from "./chunk-V4VNP2WY.mjs";
27
25
  import {
28
26
  SpaceCapabilities
29
27
  } from "./chunk-KVRYWFZU.mjs";
30
- import "./chunk-RERTVPBV.mjs";
28
+ import "./chunk-F57CTUM6.mjs";
31
29
  import {
32
30
  CollectionType,
33
31
  HueAnnotationId,
34
32
  IconAnnotationId
35
- } from "./chunk-YQNBTJI4.mjs";
33
+ } from "./chunk-CY35NLWL.mjs";
36
34
  import {
37
35
  SPACE_PLUGIN
38
36
  } from "./chunk-PTKYMZWO.mjs";
@@ -219,12 +217,6 @@ var react_surface_default = ({ createInvitationUrl }) => contributes(Capabilitie
219
217
  object: data.props
220
218
  })
221
219
  }),
222
- createSurface({
223
- id: POPOVER_ADD_SPACE,
224
- role: "popover",
225
- filter: (data) => data.component === POPOVER_ADD_SPACE,
226
- component: () => /* @__PURE__ */ React.createElement(PopoverAddSpace, null)
227
- }),
228
220
  createSurface({
229
221
  id: `${SPACE_PLUGIN}/menu-footer`,
230
222
  role: "menu-footer",
@@ -297,4 +289,4 @@ var react_surface_default = ({ createInvitationUrl }) => contributes(Capabilitie
297
289
  export {
298
290
  react_surface_default as default
299
291
  };
300
- //# sourceMappingURL=react-surface-I4RNTGGN.mjs.map
292
+ //# sourceMappingURL=react-surface-N5OGF7TQ.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/capabilities/react-surface.tsx"],
4
+ "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { type Schema } from 'effect';\nimport React, { useCallback } from 'react';\n\nimport { Capabilities, contributes, createSurface, Surface, useCapability, useLayout } from '@dxos/app-framework';\nimport { isInstanceOf } from '@dxos/echo-schema';\nimport { findAnnotation } from '@dxos/effect';\nimport { SettingsStore } from '@dxos/local-storage';\nimport {\n getSpace,\n isEchoObject,\n isLiveObject,\n isSpace,\n parseId,\n SpaceState,\n useSpace,\n type AnyLiveObject,\n type Space,\n} from '@dxos/react-client/echo';\nimport { Input } from '@dxos/react-ui';\nimport { type InputProps } from '@dxos/react-ui-form';\nimport { HuePicker, IconPicker } from '@dxos/react-ui-pickers';\nimport { type JoinPanelProps } from '@dxos/shell/react';\n\nimport { SpaceCapabilities } from './capabilities';\nimport {\n CollectionMain,\n CollectionSection,\n CREATE_OBJECT_DIALOG,\n CREATE_SPACE_DIALOG,\n CreateObjectDialog,\n CreateSpaceDialog,\n InlineSyncStatus,\n JOIN_DIALOG,\n JoinDialog,\n MenuFooter,\n POPOVER_RENAME_OBJECT,\n POPOVER_RENAME_SPACE,\n PopoverRenameObject,\n PopoverRenameSpace,\n SmallPresenceLive,\n SpacePluginSettings,\n SpacePresence,\n SyncStatus,\n type CreateObjectDialogProps,\n MembersContainer,\n ObjectSettingsContainer,\n SpaceSettingsContainer,\n SchemaContainer,\n} from '../components';\nimport { SPACE_PLUGIN } from '../meta';\nimport { CollectionType, HueAnnotationId, IconAnnotationId, type SpaceSettingsProps } from '../types';\n\ntype ReactSurfaceOptions = {\n createInvitationUrl: (invitationCode: string) => string;\n};\n\nexport default ({ createInvitationUrl }: ReactSurfaceOptions) =>\n contributes(Capabilities.ReactSurface, [\n createSurface({\n id: `${SPACE_PLUGIN}/article`,\n role: 'article',\n filter: (data): data is { subject: Space } =>\n // TODO(wittjosiah): Need to avoid shotgun parsing space state everywhere.\n isSpace(data.subject) && data.subject.state.get() === SpaceState.SPACE_READY,\n component: ({ data, role, ...rest }) => (\n <Surface\n data={{ id: data.subject.id, subject: data.subject.properties[CollectionType.typename]?.target }}\n role={role}\n {...rest}\n />\n ),\n }),\n createSurface({\n id: `${SPACE_PLUGIN}/collection-fallback`,\n role: 'article',\n position: 'fallback',\n filter: (data): data is { subject: CollectionType } => isInstanceOf(CollectionType, data.subject),\n component: ({ data }) => <CollectionMain collection={data.subject} />,\n }),\n createSurface({\n id: `${SPACE_PLUGIN}/plugin-settings`,\n role: 'article',\n filter: (data): data is { subject: SettingsStore<SpaceSettingsProps> } =>\n data.subject instanceof SettingsStore && data.subject.prefix === SPACE_PLUGIN,\n component: ({ data: { subject } }) => <SpacePluginSettings settings={subject.value} />,\n }),\n createSurface({\n id: `${SPACE_PLUGIN}/companion/object-settings`,\n role: 'article',\n filter: (data): data is { companionTo: AnyLiveObject<any> } =>\n isEchoObject(data.companionTo) && data.subject === 'settings',\n component: ({ data, role }) => <ObjectSettingsContainer object={data.companionTo} role={role} />,\n }),\n createSurface({\n id: `${SPACE_PLUGIN}/space-settings-properties`,\n role: 'article',\n filter: (data): data is { subject: string } => data.subject === `${SPACE_PLUGIN}/properties`,\n component: () => {\n const layout = useLayout();\n const { spaceId } = parseId(layout.workspace);\n const space = useSpace(spaceId);\n if (!space || !spaceId) {\n return null;\n }\n\n return <SpaceSettingsContainer space={space} />;\n },\n }),\n createSurface({\n id: `${SPACE_PLUGIN}/space-settings-members`,\n role: 'article',\n position: 'hoist',\n filter: (data): data is { subject: string } => data.subject === `${SPACE_PLUGIN}/members`,\n component: () => {\n const layout = useLayout();\n const { spaceId } = parseId(layout.workspace);\n const space = useSpace(spaceId);\n if (!space || !spaceId) {\n return null;\n }\n\n return <MembersContainer space={space} createInvitationUrl={createInvitationUrl} />;\n },\n }),\n createSurface({\n id: `${SPACE_PLUGIN}/space-settings-schema`,\n role: 'article',\n filter: (data): data is { subject: string } => data.subject === `${SPACE_PLUGIN}/schema`,\n component: () => {\n const layout = useLayout();\n const { spaceId } = parseId(layout.workspace);\n const space = useSpace(spaceId);\n if (!space || !spaceId) {\n return null;\n }\n\n return <SchemaContainer space={space} />;\n },\n }),\n createSurface({\n id: JOIN_DIALOG,\n role: 'dialog',\n filter: (data): data is { props: JoinPanelProps } => data.component === JOIN_DIALOG,\n component: ({ data }) => <JoinDialog {...data.props} />,\n }),\n createSurface({\n id: CREATE_SPACE_DIALOG,\n role: 'dialog',\n filter: (data): data is any => data.component === CREATE_SPACE_DIALOG,\n component: () => <CreateSpaceDialog />,\n }),\n createSurface({\n id: CREATE_OBJECT_DIALOG,\n role: 'dialog',\n filter: (data): data is { props: CreateObjectDialogProps } => data.component === CREATE_OBJECT_DIALOG,\n component: ({ data }) => <CreateObjectDialog {...data.props} />,\n }),\n createSurface({\n id: `${SPACE_PLUGIN}/create-initial-space-form-[hue]`,\n role: 'form-input',\n filter: (data): data is { prop: string; schema: Schema.Schema<any> } => {\n const annotation = findAnnotation<boolean>((data.schema as Schema.Schema.All).ast, HueAnnotationId);\n return !!annotation;\n },\n component: ({ data: _, ...inputProps }) => {\n const { label, disabled, type, getValue, onValueChange } = inputProps as any as InputProps;\n const handleChange = useCallback((nextHue: string) => onValueChange(type, nextHue), [onValueChange]);\n const handleReset = useCallback(() => onValueChange(type, undefined), [onValueChange]);\n return (\n <Input.Root>\n <Input.Label>{label}</Input.Label>\n <HuePicker disabled={disabled} value={getValue() ?? ''} onChange={handleChange} onReset={handleReset} />\n </Input.Root>\n );\n },\n }),\n createSurface({\n id: `${SPACE_PLUGIN}/create-initial-space-form-[icon]`,\n role: 'form-input',\n filter: (data): data is { prop: string; schema: Schema.Schema<any> } => {\n const annotation = findAnnotation<boolean>((data.schema as Schema.Schema.All).ast, IconAnnotationId);\n return !!annotation;\n },\n component: ({ data: _, ...inputProps }) => {\n const { label, disabled, type, getValue, onValueChange } = inputProps as any as InputProps;\n const handleChange = useCallback((nextIcon: string) => onValueChange(type, nextIcon), [onValueChange]);\n const handleReset = useCallback(() => onValueChange(type, undefined), [onValueChange]);\n return (\n <Input.Root>\n <Input.Label>{label}</Input.Label>\n <IconPicker disabled={disabled} value={getValue() ?? ''} onChange={handleChange} onReset={handleReset} />\n </Input.Root>\n );\n },\n }),\n createSurface({\n id: POPOVER_RENAME_SPACE,\n role: 'popover',\n filter: (data): data is { props: Space } => data.component === POPOVER_RENAME_SPACE && isSpace(data.props),\n component: ({ data }) => <PopoverRenameSpace space={data.props} />,\n }),\n createSurface({\n id: POPOVER_RENAME_OBJECT,\n role: 'popover',\n filter: (data): data is { props: AnyLiveObject<any> } =>\n data.component === POPOVER_RENAME_OBJECT && isLiveObject(data.props),\n component: ({ data }) => <PopoverRenameObject object={data.props} />,\n }),\n createSurface({\n id: `${SPACE_PLUGIN}/menu-footer`,\n role: 'menu-footer',\n filter: (data): data is { subject: AnyLiveObject<any> } => isEchoObject(data.subject),\n component: ({ data }) => <MenuFooter object={data.subject} />,\n }),\n createSurface({\n id: `${SPACE_PLUGIN}/navtree-presence`,\n role: 'navtree-item-end',\n filter: (data): data is { id: string; subject: AnyLiveObject<any>; open?: boolean } =>\n typeof data.id === 'string' && isEchoObject(data.subject),\n component: ({ data }) => {\n // TODO(wittjosiah): Doesn't need to be mutable but readonly type messes with ComplexMap.\n const state = useCapability(SpaceCapabilities.MutableState);\n return <SmallPresenceLive id={data.id} open={data.open} viewers={state.viewersByObject[data.id]} />;\n },\n }),\n // TODO(wittjosiah): Attention glyph for non-echo items should be handled elsewhere.\n createSurface({\n id: `${SPACE_PLUGIN}/navtree-presence-fallback`,\n role: 'navtree-item-end',\n position: 'fallback',\n filter: (data): data is { id: string; open?: boolean } => typeof data.id === 'string',\n component: ({ data }) => <SmallPresenceLive id={data.id} open={data.open} />,\n }),\n // TODO(wittjosiah): Broken?\n createSurface({\n id: `${SPACE_PLUGIN}/navtree-sync-status`,\n role: 'navtree-item-end',\n filter: (data): data is { subject: Space; open?: boolean } => isSpace(data.subject),\n component: ({ data }) => <InlineSyncStatus space={data.subject} open={data.open} />,\n }),\n createSurface({\n id: `${SPACE_PLUGIN}/navbar-presence`,\n role: 'navbar-end',\n position: 'hoist',\n filter: (data): data is { subject: Space | AnyLiveObject<any> } =>\n isSpace(data.subject) || isEchoObject(data.subject),\n component: ({ data }) => {\n const space = isSpace(data.subject) ? data.subject : getSpace(data.subject);\n const object = isSpace(data.subject)\n ? data.subject.state.get() === SpaceState.SPACE_READY\n ? (space?.properties[CollectionType.typename]?.target as CollectionType)\n : undefined\n : data.subject;\n\n return object ? <SpacePresence object={object} /> : null;\n },\n }),\n createSurface({\n id: `${SPACE_PLUGIN}/collection-section`,\n role: 'section',\n filter: (data): data is { subject: CollectionType } => isInstanceOf(CollectionType, data.subject),\n component: ({ data }) => <CollectionSection collection={data.subject} />,\n }),\n createSurface({\n id: `${SPACE_PLUGIN}/status`,\n role: 'status',\n component: () => <SyncStatus />,\n }),\n ]);\n"],
5
+ "mappings": "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",
6
+ "names": ["React", "useCallback", "Capabilities", "contributes", "createSurface", "Surface", "useCapability", "useLayout", "isInstanceOf", "findAnnotation", "SettingsStore", "getSpace", "isEchoObject", "isLiveObject", "isSpace", "parseId", "SpaceState", "useSpace", "Input", "HuePicker", "IconPicker", "createInvitationUrl", "contributes", "Capabilities", "ReactSurface", "createSurface", "id", "SPACE_PLUGIN", "role", "filter", "data", "isSpace", "subject", "state", "get", "SpaceState", "SPACE_READY", "component", "rest", "Surface", "properties", "CollectionType", "typename", "target", "position", "isInstanceOf", "CollectionMain", "collection", "SettingsStore", "prefix", "SpacePluginSettings", "settings", "value", "isEchoObject", "companionTo", "ObjectSettingsContainer", "object", "layout", "useLayout", "spaceId", "parseId", "workspace", "space", "useSpace", "SpaceSettingsContainer", "MembersContainer", "SchemaContainer", "JOIN_DIALOG", "JoinDialog", "props", "CREATE_SPACE_DIALOG", "CreateSpaceDialog", "CREATE_OBJECT_DIALOG", "CreateObjectDialog", "annotation", "findAnnotation", "schema", "ast", "HueAnnotationId", "_", "inputProps", "label", "disabled", "type", "getValue", "onValueChange", "handleChange", "useCallback", "nextHue", "handleReset", "undefined", "Input", "Root", "Label", "HuePicker", "onChange", "onReset", "IconAnnotationId", "nextIcon", "IconPicker", "POPOVER_RENAME_SPACE", "PopoverRenameSpace", "POPOVER_RENAME_OBJECT", "isLiveObject", "PopoverRenameObject", "MenuFooter", "useCapability", "SpaceCapabilities", "MutableState", "SmallPresenceLive", "open", "viewers", "viewersByObject", "InlineSyncStatus", "getSpace", "SpacePresence", "CollectionSection", "SyncStatus"]
7
+ }
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  SpaceSettingsSchema
3
- } from "./chunk-YQNBTJI4.mjs";
3
+ } from "./chunk-CY35NLWL.mjs";
4
4
  import {
5
5
  SPACE_PLUGIN
6
6
  } from "./chunk-PTKYMZWO.mjs";
@@ -21,4 +21,4 @@ var settings_default = () => {
21
21
  export {
22
22
  settings_default as default
23
23
  };
24
- //# sourceMappingURL=settings-ILGGNYJ7.mjs.map
24
+ //# sourceMappingURL=settings-G24447B7.mjs.map
@@ -4,10 +4,10 @@ import {
4
4
  import {
5
5
  COMPOSER_SPACE_LOCK,
6
6
  SHARED
7
- } from "./chunk-RERTVPBV.mjs";
7
+ } from "./chunk-F57CTUM6.mjs";
8
8
  import {
9
9
  SpaceAction
10
- } from "./chunk-YQNBTJI4.mjs";
10
+ } from "./chunk-CY35NLWL.mjs";
11
11
  import "./chunk-PTKYMZWO.mjs";
12
12
 
13
13
  // packages/plugins/plugin-space/src/capabilities/spaces-ready.ts
@@ -196,4 +196,4 @@ var spaces_ready_default = async (context) => {
196
196
  export {
197
197
  spaces_ready_default as default
198
198
  };
199
- //# sourceMappingURL=spaces-ready-IXZF3RWW.mjs.map
199
+ //# sourceMappingURL=spaces-ready-ZSUEPHJF.mjs.map
@@ -13,7 +13,7 @@ import {
13
13
  ThreadStatus,
14
14
  ThreadType,
15
15
  defineObjectForm
16
- } from "../chunk-YQNBTJI4.mjs";
16
+ } from "../chunk-CY35NLWL.mjs";
17
17
  import "../chunk-PTKYMZWO.mjs";
18
18
  export {
19
19
  ChannelType,
@@ -16,14 +16,14 @@ var __copyProps = (to, from, except, desc) => {
16
16
  return to;
17
17
  };
18
18
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
- var app_graph_builder_H7MDHM3X_exports = {};
20
- __export(app_graph_builder_H7MDHM3X_exports, {
19
+ var app_graph_builder_6VR2TBBF_exports = {};
20
+ __export(app_graph_builder_6VR2TBBF_exports, {
21
21
  default: () => app_graph_builder_default
22
22
  });
23
- module.exports = __toCommonJS(app_graph_builder_H7MDHM3X_exports);
23
+ module.exports = __toCommonJS(app_graph_builder_6VR2TBBF_exports);
24
24
  var import_chunk_IKIDS6XF = require("./chunk-IKIDS6XF.cjs");
25
- var import_chunk_EG3WAZLA = require("./chunk-EG3WAZLA.cjs");
26
- var import_chunk_AR3JHVCY = require("./chunk-AR3JHVCY.cjs");
25
+ var import_chunk_FILCZU6V = require("./chunk-FILCZU6V.cjs");
26
+ var import_chunk_K6ZO4WDJ = require("./chunk-K6ZO4WDJ.cjs");
27
27
  var import_chunk_6P2DB4QQ = require("./chunk-6P2DB4QQ.cjs");
28
28
  var import_app_framework = require("@dxos/app-framework");
29
29
  var import_echo = require("@dxos/client/echo");
@@ -37,8 +37,8 @@ var __dxlog_file = "/home/runner/work/dxos/dxos/packages/plugins/plugin-space/sr
37
37
  var app_graph_builder_default = (context) => {
38
38
  const resolve = (typename) => context.requestCapabilities(import_app_framework.Capabilities.Metadata).find(({ id }) => id === typename)?.metadata ?? {};
39
39
  const spacesNode = {
40
- id: import_chunk_EG3WAZLA.SPACES,
41
- type: import_chunk_EG3WAZLA.SPACES,
40
+ id: import_chunk_FILCZU6V.SPACES,
41
+ type: import_chunk_FILCZU6V.SPACES,
42
42
  cacheable: [
43
43
  "label",
44
44
  "role"
@@ -59,9 +59,9 @@ var app_graph_builder_default = (context) => {
59
59
  onRearrangeChildren: async (nextOrder) => {
60
60
  const { graph } = context.requestCapability(import_app_framework.Capabilities.AppGraph);
61
61
  const client = context.requestCapability(import_plugin_client.ClientCapabilities.Client);
62
- graph._sortEdges(import_chunk_EG3WAZLA.SPACES, "outbound", nextOrder.map(({ id }) => id));
62
+ graph._sortEdges(import_chunk_FILCZU6V.SPACES, "outbound", nextOrder.map(({ id }) => id));
63
63
  const { objects: [spacesOrder] } = await client.spaces.default.db.query(import_echo.Filter.schema(import_echo.Expando, {
64
- key: import_chunk_EG3WAZLA.SHARED
64
+ key: import_chunk_FILCZU6V.SHARED
65
65
  })).run();
66
66
  if (spacesOrder) {
67
67
  spacesOrder.order = nextOrder.map(({ id }) => id);
@@ -84,33 +84,50 @@ var app_graph_builder_default = (context) => {
84
84
  filter: (node) => node.id === "root",
85
85
  actions: () => [
86
86
  {
87
- id: import_chunk_AR3JHVCY.SpaceAction.AddSpace._tag,
88
- data: async (params) => {
87
+ id: import_chunk_K6ZO4WDJ.SpaceAction.OpenCreateSpace._tag,
88
+ data: async () => {
89
89
  const { dispatchPromise: dispatch } = context.requestCapability(import_app_framework.Capabilities.IntentDispatcher);
90
- await dispatch((0, import_app_framework.createIntent)(import_chunk_AR3JHVCY.SpaceAction.AddSpace));
90
+ await dispatch((0, import_app_framework.createIntent)(import_chunk_K6ZO4WDJ.SpaceAction.OpenCreateSpace));
91
91
  },
92
92
  properties: {
93
93
  label: [
94
- "add space label",
94
+ "create space label",
95
95
  {
96
96
  ns: import_chunk_6P2DB4QQ.SPACE_PLUGIN
97
97
  }
98
98
  ],
99
99
  icon: "ph--plus--regular",
100
- testId: "spacePlugin.addSpace",
101
- disposition: "item",
102
- position: "fallback"
100
+ testId: "spacePlugin.createSpace",
101
+ disposition: "menu"
102
+ }
103
+ },
104
+ {
105
+ id: import_chunk_K6ZO4WDJ.SpaceAction.Join._tag,
106
+ data: async () => {
107
+ const { dispatchPromise: dispatch } = context.requestCapability(import_app_framework.Capabilities.IntentDispatcher);
108
+ await dispatch((0, import_app_framework.createIntent)(import_chunk_K6ZO4WDJ.SpaceAction.Join));
109
+ },
110
+ properties: {
111
+ label: [
112
+ "join space label",
113
+ {
114
+ ns: import_chunk_6P2DB4QQ.SPACE_PLUGIN
115
+ }
116
+ ],
117
+ icon: "ph--sign-in--regular",
118
+ testId: "spacePlugin.joinSpace",
119
+ disposition: "menu"
103
120
  }
104
121
  },
105
122
  {
106
- id: import_chunk_AR3JHVCY.SpaceAction.OpenMembers._tag,
123
+ id: import_chunk_K6ZO4WDJ.SpaceAction.OpenMembers._tag,
107
124
  data: async () => {
108
125
  const { dispatchPromise: dispatch } = context.requestCapability(import_app_framework.Capabilities.IntentDispatcher);
109
126
  const layout = context.requestCapability(import_app_framework.Capabilities.Layout);
110
127
  const client = context.requestCapability(import_plugin_client.ClientCapabilities.Client);
111
128
  const { spaceId } = (0, import_echo.parseId)(layout.workspace);
112
129
  const space = (spaceId && client.spaces.get(spaceId)) ?? client.spaces.default;
113
- await dispatch((0, import_app_framework.createIntent)(import_chunk_AR3JHVCY.SpaceAction.OpenMembers, {
130
+ await dispatch((0, import_app_framework.createIntent)(import_chunk_K6ZO4WDJ.SpaceAction.OpenMembers, {
114
131
  space
115
132
  }));
116
133
  },
@@ -130,14 +147,14 @@ var app_graph_builder_default = (context) => {
130
147
  }
131
148
  },
132
149
  {
133
- id: import_chunk_AR3JHVCY.SpaceAction.OpenSettings._tag,
150
+ id: import_chunk_K6ZO4WDJ.SpaceAction.OpenSettings._tag,
134
151
  data: async () => {
135
152
  const { dispatchPromise: dispatch } = context.requestCapability(import_app_framework.Capabilities.IntentDispatcher);
136
153
  const layout = context.requestCapability(import_app_framework.Capabilities.Layout);
137
154
  const client = context.requestCapability(import_plugin_client.ClientCapabilities.Client);
138
155
  const { spaceId } = (0, import_echo.parseId)(layout.workspace);
139
156
  const space = (spaceId && client.spaces.get(spaceId)) ?? client.spaces.default;
140
- await dispatch((0, import_app_framework.createIntent)(import_chunk_AR3JHVCY.SpaceAction.OpenSettings, {
157
+ await dispatch((0, import_app_framework.createIntent)(import_chunk_K6ZO4WDJ.SpaceAction.OpenSettings, {
141
158
  space
142
159
  }));
143
160
  },
@@ -165,12 +182,12 @@ var app_graph_builder_default = (context) => {
165
182
  connector: () => [
166
183
  spacesNode
167
184
  ],
168
- resolver: ({ id }) => id === import_chunk_EG3WAZLA.SPACES ? spacesNode : void 0
185
+ resolver: ({ id }) => id === import_chunk_FILCZU6V.SPACES ? spacesNode : void 0
169
186
  }),
170
187
  // Create space nodes.
171
188
  (0, import_plugin_graph.createExtension)({
172
- id: import_chunk_EG3WAZLA.SPACES,
173
- filter: (node) => node.id === import_chunk_EG3WAZLA.SPACES,
189
+ id: import_chunk_FILCZU6V.SPACES,
190
+ filter: (node) => node.id === import_chunk_FILCZU6V.SPACES,
174
191
  connector: () => {
175
192
  const client = context.requestCapability(import_plugin_client.ClientCapabilities.Client);
176
193
  const spaces = (0, import_plugin_graph.toSignal)((onChange) => client.spaces.subscribe(() => onChange()).unsubscribe, () => client.spaces.get());
@@ -181,8 +198,8 @@ var app_graph_builder_default = (context) => {
181
198
  const state = context.requestCapability(import_chunk_IKIDS6XF.SpaceCapabilities.State);
182
199
  const settings = context.requestCapabilities(import_app_framework.Capabilities.SettingsStore)[0]?.getStore(import_chunk_6P2DB4QQ.SPACE_PLUGIN)?.value;
183
200
  try {
184
- const [spacesOrder] = (0, import_chunk_EG3WAZLA.memoizeQuery)(client.spaces.default, import_echo.Filter.schema(import_echo.Expando, {
185
- key: import_chunk_EG3WAZLA.SHARED
201
+ const [spacesOrder] = (0, import_chunk_FILCZU6V.memoizeQuery)(client.spaces.default, import_echo.Filter.schema(import_echo.Expando, {
202
+ key: import_chunk_FILCZU6V.SHARED
186
203
  }));
187
204
  const order = spacesOrder?.order ?? [];
188
205
  const orderMap = new Map(order.map((id, index) => [
@@ -192,7 +209,7 @@ var app_graph_builder_default = (context) => {
192
209
  return [
193
210
  ...spaces.filter((space) => orderMap.has(space.id)).sort((a, b) => orderMap.get(a.id) - orderMap.get(b.id)),
194
211
  ...spaces.filter((space) => !orderMap.has(space.id))
195
- ].filter((space) => settings?.showHidden ? true : space.state.get() !== import_echo.SpaceState.SPACE_INACTIVE).map((space) => (0, import_chunk_EG3WAZLA.constructSpaceNode)({
212
+ ].filter((space) => settings?.showHidden ? true : space.state.get() !== import_echo.SpaceState.SPACE_INACTIVE).map((space) => (0, import_chunk_FILCZU6V.constructSpaceNode)({
196
213
  space,
197
214
  navigable: state.navigableCollections,
198
215
  personal: space === client.spaces.default,
@@ -222,7 +239,7 @@ var app_graph_builder_default = (context) => {
222
239
  return void 0;
223
240
  } else {
224
241
  const state = context.requestCapability(import_chunk_IKIDS6XF.SpaceCapabilities.State);
225
- return (0, import_chunk_EG3WAZLA.constructSpaceNode)({
242
+ return (0, import_chunk_FILCZU6V.constructSpaceNode)({
226
243
  space,
227
244
  navigable: state.navigableCollections,
228
245
  personal: space === client.spaces.default,
@@ -235,13 +252,13 @@ var app_graph_builder_default = (context) => {
235
252
  // Create space actions.
236
253
  (0, import_plugin_graph.createExtension)({
237
254
  id: `${import_chunk_6P2DB4QQ.SPACE_PLUGIN}/actions`,
238
- filter: (node) => node.type === import_chunk_AR3JHVCY.SPACE_TYPE,
255
+ filter: (node) => node.type === import_chunk_K6ZO4WDJ.SPACE_TYPE,
239
256
  actions: ({ node }) => {
240
257
  const space = node.data;
241
258
  const { dispatchPromise: dispatch } = context.requestCapability(import_app_framework.Capabilities.IntentDispatcher);
242
259
  const client = context.requestCapability(import_plugin_client.ClientCapabilities.Client);
243
260
  const state = context.requestCapability(import_chunk_IKIDS6XF.SpaceCapabilities.State);
244
- return (0, import_chunk_EG3WAZLA.constructSpaceActions)({
261
+ return (0, import_chunk_FILCZU6V.constructSpaceActions)({
245
262
  space,
246
263
  dispatch,
247
264
  personal: space === client.spaces.default,
@@ -252,19 +269,19 @@ var app_graph_builder_default = (context) => {
252
269
  // Create nodes for objects in the root collection of a space.
253
270
  (0, import_plugin_graph.createExtension)({
254
271
  id: `${import_chunk_6P2DB4QQ.SPACE_PLUGIN}/root-collection`,
255
- filter: (node) => node.type === import_chunk_AR3JHVCY.SPACE_TYPE,
272
+ filter: (node) => node.type === import_chunk_K6ZO4WDJ.SPACE_TYPE,
256
273
  connector: ({ node }) => {
257
274
  const space = node.data;
258
275
  const spaceState = (0, import_plugin_graph.toSignal)((onChange) => space.state.subscribe(() => onChange()).unsubscribe, () => space.state.get(), space.id);
259
276
  if (spaceState !== import_echo.SpaceState.SPACE_READY) {
260
277
  return;
261
278
  }
262
- const collection = space.properties[import_chunk_AR3JHVCY.CollectionType.typename]?.target;
279
+ const collection = space.properties[import_chunk_K6ZO4WDJ.CollectionType.typename]?.target;
263
280
  if (!collection) {
264
281
  return;
265
282
  }
266
283
  const state = context.requestCapability(import_chunk_IKIDS6XF.SpaceCapabilities.State);
267
- return collection.objects.map((object) => object.target).filter(import_util.isNonNullable).map((object) => (0, import_chunk_EG3WAZLA.createObjectNode)({
284
+ return collection.objects.map((object) => object.target).filter(import_util.isNonNullable).map((object) => (0, import_chunk_FILCZU6V.createObjectNode)({
268
285
  object,
269
286
  space,
270
287
  resolve,
@@ -275,7 +292,7 @@ var app_graph_builder_default = (context) => {
275
292
  // Create nodes for objects in a collection or by its fully qualified id.
276
293
  (0, import_plugin_graph.createExtension)({
277
294
  id: `${import_chunk_6P2DB4QQ.SPACE_PLUGIN}/objects`,
278
- filter: (node) => node.data instanceof import_chunk_AR3JHVCY.CollectionType,
295
+ filter: (node) => node.data instanceof import_chunk_K6ZO4WDJ.CollectionType,
279
296
  connector: ({ node }) => {
280
297
  const collection = node.data;
281
298
  const space = (0, import_echo.getSpace)(collection);
@@ -283,7 +300,7 @@ var app_graph_builder_default = (context) => {
283
300
  return;
284
301
  }
285
302
  const state = context.requestCapability(import_chunk_IKIDS6XF.SpaceCapabilities.State);
286
- return collection.objects.map((object) => object.target).filter(import_util.isNonNullable).map((object) => (0, import_chunk_EG3WAZLA.createObjectNode)({
303
+ return collection.objects.map((object) => object.target).filter(import_util.isNonNullable).map((object) => (0, import_chunk_FILCZU6V.createObjectNode)({
287
304
  object,
288
305
  space,
289
306
  resolve,
@@ -307,7 +324,7 @@ var app_graph_builder_default = (context) => {
307
324
  if (spaceState !== import_echo.SpaceState.SPACE_READY) {
308
325
  return;
309
326
  }
310
- const [object] = (0, import_chunk_EG3WAZLA.memoizeQuery)(space, {
327
+ const [object] = (0, import_chunk_FILCZU6V.memoizeQuery)(space, {
311
328
  id: objectId
312
329
  });
313
330
  if (!object) {
@@ -317,7 +334,7 @@ var app_graph_builder_default = (context) => {
317
334
  return false;
318
335
  } else {
319
336
  const state = context.requestCapability(import_chunk_IKIDS6XF.SpaceCapabilities.State);
320
- return (0, import_chunk_EG3WAZLA.createObjectNode)({
337
+ return (0, import_chunk_FILCZU6V.createObjectNode)({
321
338
  object,
322
339
  space,
323
340
  resolve,
@@ -333,7 +350,7 @@ var app_graph_builder_default = (context) => {
333
350
  actions: ({ node }) => {
334
351
  const { dispatchPromise: dispatch } = context.requestCapability(import_app_framework.Capabilities.IntentDispatcher);
335
352
  const state = context.requestCapability(import_chunk_IKIDS6XF.SpaceCapabilities.State);
336
- return (0, import_chunk_EG3WAZLA.constructObjectActions)({
353
+ return (0, import_chunk_FILCZU6V.constructObjectActions)({
337
354
  node,
338
355
  dispatch,
339
356
  navigable: state.navigableCollections
@@ -368,4 +385,4 @@ var app_graph_builder_default = (context) => {
368
385
  })
369
386
  ]);
370
387
  };
371
- //# sourceMappingURL=app-graph-builder-H7MDHM3X.cjs.map
388
+ //# sourceMappingURL=app-graph-builder-6VR2TBBF.cjs.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/capabilities/app-graph-builder.ts"],
4
- "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { Capabilities, contributes, createIntent, type PluginsContext } from '@dxos/app-framework';\nimport {\n Expando,\n Filter,\n FQ_ID_LENGTH,\n getSpace,\n isEchoObject,\n OBJECT_ID_LENGTH,\n type AnyLiveObject,\n SPACE_ID_LENGTH,\n SpaceState,\n type Space,\n parseId,\n} from '@dxos/client/echo';\nimport { isDeleted } from '@dxos/live-object';\nimport { log } from '@dxos/log';\nimport { ClientCapabilities } from '@dxos/plugin-client';\nimport { PLANK_COMPANION_TYPE, ATTENDABLE_PATH_SEPARATOR } from '@dxos/plugin-deck/types';\nimport { createExtension, toSignal, type Node, type InvokeParams } from '@dxos/plugin-graph';\nimport { isNonNullable } from '@dxos/util';\n\nimport { SpaceCapabilities } from './capabilities';\nimport { SPACE_PLUGIN } from '../meta';\nimport { CollectionType, SPACE_TYPE, SpaceAction, type SpaceSettingsProps } from '../types';\nimport {\n constructObjectActions,\n constructSpaceActions,\n constructSpaceNode,\n createObjectNode,\n memoizeQuery,\n SHARED,\n SPACES,\n} from '../util';\n\nexport default (context: PluginsContext) => {\n const resolve = (typename: string) =>\n context.requestCapabilities(Capabilities.Metadata).find(({ id }) => id === typename)?.metadata ?? {};\n\n const spacesNode = {\n id: SPACES,\n type: SPACES,\n cacheable: ['label', 'role'],\n properties: {\n label: ['spaces label', { ns: SPACE_PLUGIN }],\n icon: 'ph--planet--regular',\n testId: 'spacePlugin.spaces',\n role: 'branch',\n disposition: 'collection',\n disabled: true,\n childrenPersistenceClass: 'echo',\n onRearrangeChildren: async (nextOrder: Space[]) => {\n const { graph } = context.requestCapability(Capabilities.AppGraph);\n const client = context.requestCapability(ClientCapabilities.Client);\n\n // NOTE: This is needed to ensure order is updated by next animation frame.\n // TODO(wittjosiah): Is there a better way to do this?\n // If not, graph should be passed as an argument to the extension.\n graph._sortEdges(\n SPACES,\n 'outbound',\n nextOrder.map(({ id }) => id),\n );\n\n const {\n objects: [spacesOrder],\n } = await client.spaces.default.db.query(Filter.schema(Expando, { key: SHARED })).run();\n if (spacesOrder) {\n spacesOrder.order = nextOrder.map(({ id }) => id);\n } else {\n log.warn('spaces order object not found');\n }\n },\n },\n };\n\n return contributes(Capabilities.AppGraphBuilder, [\n // Primary actions.\n createExtension({\n id: `${SPACE_PLUGIN}/primary-actions`,\n position: 'hoist',\n filter: (node): node is Node<null> => node.id === 'root',\n actions: () => [\n {\n id: SpaceAction.AddSpace._tag,\n data: async (params: InvokeParams) => {\n const { dispatchPromise: dispatch } = context.requestCapability(Capabilities.IntentDispatcher);\n await dispatch(createIntent(SpaceAction.AddSpace));\n },\n properties: {\n label: ['add space label', { ns: SPACE_PLUGIN }],\n icon: 'ph--plus--regular',\n testId: 'spacePlugin.addSpace',\n disposition: 'item',\n position: 'fallback',\n },\n },\n {\n id: SpaceAction.OpenMembers._tag,\n data: async () => {\n const { dispatchPromise: dispatch } = context.requestCapability(Capabilities.IntentDispatcher);\n const layout = context.requestCapability(Capabilities.Layout);\n const client = context.requestCapability(ClientCapabilities.Client);\n const { spaceId } = parseId(layout.workspace);\n const space = (spaceId && client.spaces.get(spaceId)) ?? client.spaces.default;\n await dispatch(createIntent(SpaceAction.OpenMembers, { space }));\n },\n properties: {\n label: ['share space label', { ns: SPACE_PLUGIN }],\n icon: 'ph--users--regular',\n testId: 'spacePlugin.shareSpace',\n keyBinding: {\n macos: 'meta+.',\n windows: 'alt+.',\n },\n },\n },\n {\n id: SpaceAction.OpenSettings._tag,\n data: async () => {\n const { dispatchPromise: dispatch } = context.requestCapability(Capabilities.IntentDispatcher);\n const layout = context.requestCapability(Capabilities.Layout);\n const client = context.requestCapability(ClientCapabilities.Client);\n const { spaceId } = parseId(layout.workspace);\n const space = (spaceId && client.spaces.get(spaceId)) ?? client.spaces.default;\n await dispatch(createIntent(SpaceAction.OpenSettings, { space }));\n },\n properties: {\n label: ['open current space settings label', { ns: SPACE_PLUGIN }],\n icon: 'ph--faders--regular',\n keyBinding: {\n macos: 'meta+shift+,',\n windows: 'ctrl+shift+,',\n },\n },\n },\n ],\n }),\n\n // Create spaces group node.\n createExtension({\n id: `${SPACE_PLUGIN}/root`,\n position: 'hoist',\n filter: (node): node is Node<null> => node.id === 'root',\n connector: () => [spacesNode],\n resolver: ({ id }) => (id === SPACES ? spacesNode : undefined),\n }),\n\n // Create space nodes.\n createExtension({\n id: SPACES,\n filter: (node): node is Node<null> => node.id === SPACES,\n connector: () => {\n const client = context.requestCapability(ClientCapabilities.Client);\n const spaces = toSignal(\n (onChange) => client.spaces.subscribe(() => onChange()).unsubscribe,\n () => client.spaces.get(),\n );\n\n const isReady = toSignal(\n (onChange) => client.spaces.isReady.subscribe(() => onChange()).unsubscribe,\n () => client.spaces.isReady.get(),\n );\n\n if (!spaces || !isReady) {\n return;\n }\n\n const state = context.requestCapability(SpaceCapabilities.State);\n const settings = context\n .requestCapabilities(Capabilities.SettingsStore)[0]\n ?.getStore<SpaceSettingsProps>(SPACE_PLUGIN)?.value;\n\n // TODO(wittjosiah): During client reset, accessing default space throws.\n try {\n const [spacesOrder] = memoizeQuery(client.spaces.default, Filter.schema(Expando, { key: SHARED }));\n const order: string[] = spacesOrder?.order ?? [];\n const orderMap = new Map(order.map((id, index) => [id, index]));\n return [\n ...spaces\n .filter((space) => orderMap.has(space.id))\n .sort((a, b) => orderMap.get(a.id)! - orderMap.get(b.id)!),\n ...spaces.filter((space) => !orderMap.has(space.id)),\n ]\n .filter((space) => (settings?.showHidden ? true : space.state.get() !== SpaceState.SPACE_INACTIVE))\n .map((space) =>\n constructSpaceNode({\n space,\n navigable: state.navigableCollections,\n personal: space === client.spaces.default,\n namesCache: state.spaceNames,\n resolve,\n }),\n );\n } catch {}\n },\n resolver: ({ id }) => {\n if (id.length !== SPACE_ID_LENGTH) {\n return;\n }\n\n const client = context.requestCapability(ClientCapabilities.Client);\n const spaces = toSignal(\n (onChange) => client.spaces.subscribe(() => onChange()).unsubscribe,\n () => client.spaces.get(),\n );\n\n const isReady = toSignal(\n (onChange) => client.spaces.isReady.subscribe(() => onChange()).unsubscribe,\n () => client.spaces.isReady.get(),\n );\n\n if (!spaces || !isReady) {\n return;\n }\n\n const space = spaces.find((space) => space.id === id);\n if (!space) {\n return;\n }\n\n if (space.state.get() === SpaceState.SPACE_INACTIVE) {\n return false;\n } else if (space.state.get() !== SpaceState.SPACE_READY) {\n return undefined;\n } else {\n const state = context.requestCapability(SpaceCapabilities.State);\n return constructSpaceNode({\n space,\n navigable: state.navigableCollections,\n personal: space === client.spaces.default,\n namesCache: state.spaceNames,\n resolve,\n });\n }\n },\n }),\n\n // Create space actions.\n createExtension({\n id: `${SPACE_PLUGIN}/actions`,\n filter: (node): node is Node<Space> => node.type === SPACE_TYPE,\n actions: ({ node }) => {\n const space = node.data;\n const { dispatchPromise: dispatch } = context.requestCapability(Capabilities.IntentDispatcher);\n const client = context.requestCapability(ClientCapabilities.Client);\n const state = context.requestCapability(SpaceCapabilities.State);\n return constructSpaceActions({\n space,\n dispatch,\n personal: space === client.spaces.default,\n migrating: state.sdkMigrationRunning[space.id],\n });\n },\n }),\n\n // Create nodes for objects in the root collection of a space.\n createExtension({\n id: `${SPACE_PLUGIN}/root-collection`,\n filter: (node): node is Node<Space> => node.type === SPACE_TYPE,\n connector: ({ node }) => {\n const space = node.data;\n const spaceState = toSignal(\n (onChange) => space.state.subscribe(() => onChange()).unsubscribe,\n () => space.state.get(),\n space.id,\n );\n if (spaceState !== SpaceState.SPACE_READY) {\n return;\n }\n\n const collection = space.properties[CollectionType.typename]?.target as CollectionType | undefined;\n if (!collection) {\n return;\n }\n\n const state = context.requestCapability(SpaceCapabilities.State);\n\n return collection.objects\n .map((object) => object.target)\n .filter(isNonNullable)\n .map((object) => createObjectNode({ object, space, resolve, navigable: state.navigableCollections }))\n .filter(isNonNullable);\n },\n }),\n\n // Create nodes for objects in a collection or by its fully qualified id.\n createExtension({\n id: `${SPACE_PLUGIN}/objects`,\n filter: (node): node is Node<CollectionType> => node.data instanceof CollectionType,\n connector: ({ node }) => {\n const collection = node.data;\n const space = getSpace(collection);\n if (!space) {\n return;\n }\n\n const state = context.requestCapability(SpaceCapabilities.State);\n\n return collection.objects\n .map((object) => object.target)\n .filter(isNonNullable)\n .map((object) => createObjectNode({ object, space, resolve, navigable: state.navigableCollections }))\n .filter(isNonNullable);\n },\n resolver: ({ id }) => {\n if (id.length !== FQ_ID_LENGTH) {\n return;\n }\n\n const [spaceId, objectId] = id.split(':');\n if (spaceId.length !== SPACE_ID_LENGTH && objectId.length !== OBJECT_ID_LENGTH) {\n return;\n }\n\n const client = context.requestCapability(ClientCapabilities.Client);\n const space = client.spaces.get().find((space) => space.id === spaceId);\n if (!space) {\n return;\n }\n\n const spaceState = toSignal(\n (onChange) => space.state.subscribe(() => onChange()).unsubscribe,\n () => space.state.get(),\n space.id,\n );\n if (spaceState !== SpaceState.SPACE_READY) {\n return;\n }\n\n const [object] = memoizeQuery(space, { id: objectId });\n if (!object) {\n return;\n }\n\n if (isDeleted(object)) {\n return false;\n } else {\n const state = context.requestCapability(SpaceCapabilities.State);\n return createObjectNode({ object, space, resolve, navigable: state.navigableCollections });\n }\n },\n }),\n\n // Create collection actions and action groups.\n createExtension({\n id: `${SPACE_PLUGIN}/object-actions`,\n filter: (node): node is Node<AnyLiveObject<any>> => isEchoObject(node.data),\n actions: ({ node }) => {\n const { dispatchPromise: dispatch } = context.requestCapability(Capabilities.IntentDispatcher);\n const state = context.requestCapability(SpaceCapabilities.State);\n return constructObjectActions({ node, dispatch, navigable: state.navigableCollections });\n },\n }),\n\n // Object settings plank companion.\n createExtension({\n id: `${SPACE_PLUGIN}/settings`,\n filter: (node): node is Node<AnyLiveObject<any>> => isEchoObject(node.data),\n connector: ({ node }) => [\n {\n id: [node.id, 'settings'].join(ATTENDABLE_PATH_SEPARATOR),\n type: PLANK_COMPANION_TYPE,\n data: 'settings',\n properties: {\n label: ['object settings label', { ns: SPACE_PLUGIN }],\n icon: 'ph--sliders--regular',\n disposition: 'hidden',\n position: 'fallback',\n },\n },\n ],\n }),\n ]);\n};\n"],
5
- "mappings": "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",
6
- "names": ["context", "resolve", "typename", "requestCapabilities", "Capabilities", "Metadata", "find", "id", "metadata", "spacesNode", "SPACES", "type", "cacheable", "properties", "label", "ns", "SPACE_PLUGIN", "icon", "testId", "role", "disposition", "disabled", "childrenPersistenceClass", "onRearrangeChildren", "nextOrder", "graph", "requestCapability", "AppGraph", "client", "ClientCapabilities", "Client", "_sortEdges", "map", "objects", "spacesOrder", "spaces", "default", "db", "query", "Filter", "schema", "Expando", "key", "SHARED", "run", "order", "log", "warn", "contributes", "AppGraphBuilder", "createExtension", "position", "filter", "node", "actions", "SpaceAction", "AddSpace", "_tag", "data", "params", "dispatchPromise", "dispatch", "IntentDispatcher", "createIntent", "OpenMembers", "layout", "Layout", "spaceId", "parseId", "workspace", "space", "get", "keyBinding", "macos", "windows", "OpenSettings", "connector", "resolver", "undefined", "toSignal", "onChange", "subscribe", "unsubscribe", "isReady", "state", "SpaceCapabilities", "State", "settings", "SettingsStore", "getStore", "value", "memoizeQuery", "orderMap", "Map", "index", "has", "sort", "a", "b", "showHidden", "SpaceState", "SPACE_INACTIVE", "constructSpaceNode", "navigable", "navigableCollections", "personal", "namesCache", "spaceNames", "length", "SPACE_ID_LENGTH", "SPACE_READY", "SPACE_TYPE", "constructSpaceActions", "migrating", "sdkMigrationRunning", "spaceState", "collection", "CollectionType", "target", "object", "isNonNullable", "createObjectNode", "getSpace", "FQ_ID_LENGTH", "objectId", "split", "OBJECT_ID_LENGTH", "isDeleted", "isEchoObject", "constructObjectActions", "join", "ATTENDABLE_PATH_SEPARATOR", "PLANK_COMPANION_TYPE"]
4
+ "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { Capabilities, contributes, createIntent, type PluginsContext } from '@dxos/app-framework';\nimport {\n Expando,\n Filter,\n FQ_ID_LENGTH,\n getSpace,\n isEchoObject,\n OBJECT_ID_LENGTH,\n type AnyLiveObject,\n SPACE_ID_LENGTH,\n SpaceState,\n type Space,\n parseId,\n} from '@dxos/client/echo';\nimport { isDeleted } from '@dxos/live-object';\nimport { log } from '@dxos/log';\nimport { ClientCapabilities } from '@dxos/plugin-client';\nimport { PLANK_COMPANION_TYPE, ATTENDABLE_PATH_SEPARATOR } from '@dxos/plugin-deck/types';\nimport { createExtension, toSignal, type Node } from '@dxos/plugin-graph';\nimport { isNonNullable } from '@dxos/util';\n\nimport { SpaceCapabilities } from './capabilities';\nimport { SPACE_PLUGIN } from '../meta';\nimport { CollectionType, SPACE_TYPE, SpaceAction, type SpaceSettingsProps } from '../types';\nimport {\n constructObjectActions,\n constructSpaceActions,\n constructSpaceNode,\n createObjectNode,\n memoizeQuery,\n SHARED,\n SPACES,\n} from '../util';\n\nexport default (context: PluginsContext) => {\n const resolve = (typename: string) =>\n context.requestCapabilities(Capabilities.Metadata).find(({ id }) => id === typename)?.metadata ?? {};\n\n const spacesNode = {\n id: SPACES,\n type: SPACES,\n cacheable: ['label', 'role'],\n properties: {\n label: ['spaces label', { ns: SPACE_PLUGIN }],\n icon: 'ph--planet--regular',\n testId: 'spacePlugin.spaces',\n role: 'branch',\n disposition: 'collection',\n disabled: true,\n childrenPersistenceClass: 'echo',\n onRearrangeChildren: async (nextOrder: Space[]) => {\n const { graph } = context.requestCapability(Capabilities.AppGraph);\n const client = context.requestCapability(ClientCapabilities.Client);\n\n // NOTE: This is needed to ensure order is updated by next animation frame.\n // TODO(wittjosiah): Is there a better way to do this?\n // If not, graph should be passed as an argument to the extension.\n graph._sortEdges(\n SPACES,\n 'outbound',\n nextOrder.map(({ id }) => id),\n );\n\n const {\n objects: [spacesOrder],\n } = await client.spaces.default.db.query(Filter.schema(Expando, { key: SHARED })).run();\n if (spacesOrder) {\n spacesOrder.order = nextOrder.map(({ id }) => id);\n } else {\n log.warn('spaces order object not found');\n }\n },\n },\n };\n\n return contributes(Capabilities.AppGraphBuilder, [\n // Primary actions.\n createExtension({\n id: `${SPACE_PLUGIN}/primary-actions`,\n position: 'hoist',\n filter: (node): node is Node<null> => node.id === 'root',\n actions: () => [\n {\n id: SpaceAction.OpenCreateSpace._tag,\n data: async () => {\n const { dispatchPromise: dispatch } = context.requestCapability(Capabilities.IntentDispatcher);\n await dispatch(createIntent(SpaceAction.OpenCreateSpace));\n },\n properties: {\n label: ['create space label', { ns: SPACE_PLUGIN }],\n icon: 'ph--plus--regular',\n testId: 'spacePlugin.createSpace',\n disposition: 'menu',\n },\n },\n {\n id: SpaceAction.Join._tag,\n data: async () => {\n const { dispatchPromise: dispatch } = context.requestCapability(Capabilities.IntentDispatcher);\n await dispatch(createIntent(SpaceAction.Join));\n },\n properties: {\n label: ['join space label', { ns: SPACE_PLUGIN }],\n icon: 'ph--sign-in--regular',\n testId: 'spacePlugin.joinSpace',\n disposition: 'menu',\n },\n },\n {\n id: SpaceAction.OpenMembers._tag,\n data: async () => {\n const { dispatchPromise: dispatch } = context.requestCapability(Capabilities.IntentDispatcher);\n const layout = context.requestCapability(Capabilities.Layout);\n const client = context.requestCapability(ClientCapabilities.Client);\n const { spaceId } = parseId(layout.workspace);\n const space = (spaceId && client.spaces.get(spaceId)) ?? client.spaces.default;\n await dispatch(createIntent(SpaceAction.OpenMembers, { space }));\n },\n properties: {\n label: ['share space label', { ns: SPACE_PLUGIN }],\n icon: 'ph--users--regular',\n testId: 'spacePlugin.shareSpace',\n keyBinding: {\n macos: 'meta+.',\n windows: 'alt+.',\n },\n },\n },\n {\n id: SpaceAction.OpenSettings._tag,\n data: async () => {\n const { dispatchPromise: dispatch } = context.requestCapability(Capabilities.IntentDispatcher);\n const layout = context.requestCapability(Capabilities.Layout);\n const client = context.requestCapability(ClientCapabilities.Client);\n const { spaceId } = parseId(layout.workspace);\n const space = (spaceId && client.spaces.get(spaceId)) ?? client.spaces.default;\n await dispatch(createIntent(SpaceAction.OpenSettings, { space }));\n },\n properties: {\n label: ['open current space settings label', { ns: SPACE_PLUGIN }],\n icon: 'ph--faders--regular',\n keyBinding: {\n macos: 'meta+shift+,',\n windows: 'ctrl+shift+,',\n },\n },\n },\n ],\n }),\n\n // Create spaces group node.\n createExtension({\n id: `${SPACE_PLUGIN}/root`,\n position: 'hoist',\n filter: (node): node is Node<null> => node.id === 'root',\n connector: () => [spacesNode],\n resolver: ({ id }) => (id === SPACES ? spacesNode : undefined),\n }),\n\n // Create space nodes.\n createExtension({\n id: SPACES,\n filter: (node): node is Node<null> => node.id === SPACES,\n connector: () => {\n const client = context.requestCapability(ClientCapabilities.Client);\n const spaces = toSignal(\n (onChange) => client.spaces.subscribe(() => onChange()).unsubscribe,\n () => client.spaces.get(),\n );\n\n const isReady = toSignal(\n (onChange) => client.spaces.isReady.subscribe(() => onChange()).unsubscribe,\n () => client.spaces.isReady.get(),\n );\n\n if (!spaces || !isReady) {\n return;\n }\n\n const state = context.requestCapability(SpaceCapabilities.State);\n const settings = context\n .requestCapabilities(Capabilities.SettingsStore)[0]\n ?.getStore<SpaceSettingsProps>(SPACE_PLUGIN)?.value;\n\n // TODO(wittjosiah): During client reset, accessing default space throws.\n try {\n const [spacesOrder] = memoizeQuery(client.spaces.default, Filter.schema(Expando, { key: SHARED }));\n const order: string[] = spacesOrder?.order ?? [];\n const orderMap = new Map(order.map((id, index) => [id, index]));\n return [\n ...spaces\n .filter((space) => orderMap.has(space.id))\n .sort((a, b) => orderMap.get(a.id)! - orderMap.get(b.id)!),\n ...spaces.filter((space) => !orderMap.has(space.id)),\n ]\n .filter((space) => (settings?.showHidden ? true : space.state.get() !== SpaceState.SPACE_INACTIVE))\n .map((space) =>\n constructSpaceNode({\n space,\n navigable: state.navigableCollections,\n personal: space === client.spaces.default,\n namesCache: state.spaceNames,\n resolve,\n }),\n );\n } catch {}\n },\n resolver: ({ id }) => {\n if (id.length !== SPACE_ID_LENGTH) {\n return;\n }\n\n const client = context.requestCapability(ClientCapabilities.Client);\n const spaces = toSignal(\n (onChange) => client.spaces.subscribe(() => onChange()).unsubscribe,\n () => client.spaces.get(),\n );\n\n const isReady = toSignal(\n (onChange) => client.spaces.isReady.subscribe(() => onChange()).unsubscribe,\n () => client.spaces.isReady.get(),\n );\n\n if (!spaces || !isReady) {\n return;\n }\n\n const space = spaces.find((space) => space.id === id);\n if (!space) {\n return;\n }\n\n if (space.state.get() === SpaceState.SPACE_INACTIVE) {\n return false;\n } else if (space.state.get() !== SpaceState.SPACE_READY) {\n return undefined;\n } else {\n const state = context.requestCapability(SpaceCapabilities.State);\n return constructSpaceNode({\n space,\n navigable: state.navigableCollections,\n personal: space === client.spaces.default,\n namesCache: state.spaceNames,\n resolve,\n });\n }\n },\n }),\n\n // Create space actions.\n createExtension({\n id: `${SPACE_PLUGIN}/actions`,\n filter: (node): node is Node<Space> => node.type === SPACE_TYPE,\n actions: ({ node }) => {\n const space = node.data;\n const { dispatchPromise: dispatch } = context.requestCapability(Capabilities.IntentDispatcher);\n const client = context.requestCapability(ClientCapabilities.Client);\n const state = context.requestCapability(SpaceCapabilities.State);\n return constructSpaceActions({\n space,\n dispatch,\n personal: space === client.spaces.default,\n migrating: state.sdkMigrationRunning[space.id],\n });\n },\n }),\n\n // Create nodes for objects in the root collection of a space.\n createExtension({\n id: `${SPACE_PLUGIN}/root-collection`,\n filter: (node): node is Node<Space> => node.type === SPACE_TYPE,\n connector: ({ node }) => {\n const space = node.data;\n const spaceState = toSignal(\n (onChange) => space.state.subscribe(() => onChange()).unsubscribe,\n () => space.state.get(),\n space.id,\n );\n if (spaceState !== SpaceState.SPACE_READY) {\n return;\n }\n\n const collection = space.properties[CollectionType.typename]?.target as CollectionType | undefined;\n if (!collection) {\n return;\n }\n\n const state = context.requestCapability(SpaceCapabilities.State);\n\n return collection.objects\n .map((object) => object.target)\n .filter(isNonNullable)\n .map((object) => createObjectNode({ object, space, resolve, navigable: state.navigableCollections }))\n .filter(isNonNullable);\n },\n }),\n\n // Create nodes for objects in a collection or by its fully qualified id.\n createExtension({\n id: `${SPACE_PLUGIN}/objects`,\n filter: (node): node is Node<CollectionType> => node.data instanceof CollectionType,\n connector: ({ node }) => {\n const collection = node.data;\n const space = getSpace(collection);\n if (!space) {\n return;\n }\n\n const state = context.requestCapability(SpaceCapabilities.State);\n\n return collection.objects\n .map((object) => object.target)\n .filter(isNonNullable)\n .map((object) => createObjectNode({ object, space, resolve, navigable: state.navigableCollections }))\n .filter(isNonNullable);\n },\n resolver: ({ id }) => {\n if (id.length !== FQ_ID_LENGTH) {\n return;\n }\n\n const [spaceId, objectId] = id.split(':');\n if (spaceId.length !== SPACE_ID_LENGTH && objectId.length !== OBJECT_ID_LENGTH) {\n return;\n }\n\n const client = context.requestCapability(ClientCapabilities.Client);\n const space = client.spaces.get().find((space) => space.id === spaceId);\n if (!space) {\n return;\n }\n\n const spaceState = toSignal(\n (onChange) => space.state.subscribe(() => onChange()).unsubscribe,\n () => space.state.get(),\n space.id,\n );\n if (spaceState !== SpaceState.SPACE_READY) {\n return;\n }\n\n const [object] = memoizeQuery(space, { id: objectId });\n if (!object) {\n return;\n }\n\n if (isDeleted(object)) {\n return false;\n } else {\n const state = context.requestCapability(SpaceCapabilities.State);\n return createObjectNode({ object, space, resolve, navigable: state.navigableCollections });\n }\n },\n }),\n\n // Create collection actions and action groups.\n createExtension({\n id: `${SPACE_PLUGIN}/object-actions`,\n filter: (node): node is Node<AnyLiveObject<any>> => isEchoObject(node.data),\n actions: ({ node }) => {\n const { dispatchPromise: dispatch } = context.requestCapability(Capabilities.IntentDispatcher);\n const state = context.requestCapability(SpaceCapabilities.State);\n return constructObjectActions({ node, dispatch, navigable: state.navigableCollections });\n },\n }),\n\n // Object settings plank companion.\n createExtension({\n id: `${SPACE_PLUGIN}/settings`,\n filter: (node): node is Node<AnyLiveObject<any>> => isEchoObject(node.data),\n connector: ({ node }) => [\n {\n id: [node.id, 'settings'].join(ATTENDABLE_PATH_SEPARATOR),\n type: PLANK_COMPANION_TYPE,\n data: 'settings',\n properties: {\n label: ['object settings label', { ns: SPACE_PLUGIN }],\n icon: 'ph--sliders--regular',\n disposition: 'hidden',\n position: 'fallback',\n },\n },\n ],\n }),\n ]);\n};\n"],
5
+ "mappings": "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",
6
+ "names": ["context", "resolve", "typename", "requestCapabilities", "Capabilities", "Metadata", "find", "id", "metadata", "spacesNode", "SPACES", "type", "cacheable", "properties", "label", "ns", "SPACE_PLUGIN", "icon", "testId", "role", "disposition", "disabled", "childrenPersistenceClass", "onRearrangeChildren", "nextOrder", "graph", "requestCapability", "AppGraph", "client", "ClientCapabilities", "Client", "_sortEdges", "map", "objects", "spacesOrder", "spaces", "default", "db", "query", "Filter", "schema", "Expando", "key", "SHARED", "run", "order", "log", "warn", "contributes", "AppGraphBuilder", "createExtension", "position", "filter", "node", "actions", "SpaceAction", "OpenCreateSpace", "_tag", "data", "dispatchPromise", "dispatch", "IntentDispatcher", "createIntent", "Join", "OpenMembers", "layout", "Layout", "spaceId", "parseId", "workspace", "space", "get", "keyBinding", "macos", "windows", "OpenSettings", "connector", "resolver", "undefined", "toSignal", "onChange", "subscribe", "unsubscribe", "isReady", "state", "SpaceCapabilities", "State", "settings", "SettingsStore", "getStore", "value", "memoizeQuery", "orderMap", "Map", "index", "has", "sort", "a", "b", "showHidden", "SpaceState", "SPACE_INACTIVE", "constructSpaceNode", "navigable", "navigableCollections", "personal", "namesCache", "spaceNames", "length", "SPACE_ID_LENGTH", "SPACE_READY", "SPACE_TYPE", "constructSpaceActions", "migrating", "sdkMigrationRunning", "spaceState", "collection", "CollectionType", "target", "object", "isNonNullable", "createObjectNode", "getSpace", "FQ_ID_LENGTH", "objectId", "split", "OBJECT_ID_LENGTH", "isDeleted", "isEchoObject", "constructObjectActions", "join", "ATTENDABLE_PATH_SEPARATOR", "PLANK_COMPANION_TYPE"]
7
7
  }