@dxos/plugin-space 0.8.2-main.5885341 → 0.8.2-main.5ca3450

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 (194) hide show
  1. package/dist/lib/browser/{app-graph-builder-ZWNOWRAX.mjs → app-graph-builder-I2BU35J5.mjs} +3 -3
  2. package/dist/lib/browser/app-graph-builder-I2BU35J5.mjs.map +7 -0
  3. package/dist/lib/browser/{app-graph-serializer-UUJH7JRN.mjs → app-graph-serializer-HPYDOKA5.mjs} +4 -4
  4. package/dist/lib/browser/{chunk-DIJ7LMCS.mjs → chunk-OS5QKO4Z.mjs} +2 -2
  5. package/dist/lib/browser/{chunk-JS6ZV4GV.mjs → chunk-RERTVPBV.mjs} +2 -2
  6. package/dist/lib/browser/chunk-RERTVPBV.mjs.map +7 -0
  7. package/dist/lib/browser/{chunk-4226DMDP.mjs → chunk-TSX67XGX.mjs} +19 -19
  8. package/dist/lib/browser/chunk-TSX67XGX.mjs.map +7 -0
  9. package/dist/lib/browser/chunk-YQNBTJI4.mjs +308 -0
  10. package/dist/lib/browser/chunk-YQNBTJI4.mjs.map +7 -0
  11. package/dist/lib/browser/{identity-created-NRVE4XLL.mjs → identity-created-DWFKBGOA.mjs} +2 -2
  12. package/dist/lib/browser/index.mjs +11 -11
  13. package/dist/lib/browser/index.mjs.map +3 -3
  14. package/dist/lib/browser/{intent-resolver-NP55M7C7.mjs → intent-resolver-GKDCJ4H2.mjs} +4 -4
  15. package/dist/lib/browser/meta.json +1 -1
  16. package/dist/lib/browser/{react-root-XKAUZ3X2.mjs → react-root-667IZ2Q4.mjs} +4 -4
  17. package/dist/lib/browser/{react-surface-2DW2UDRX.mjs → react-surface-I4RNTGGN.mjs} +4 -4
  18. package/dist/lib/browser/react-surface-I4RNTGGN.mjs.map +7 -0
  19. package/dist/lib/browser/{schema-FHTA26SW.mjs → schema-defs-FLFEUSLB.mjs} +4 -4
  20. package/dist/lib/browser/{schema-FHTA26SW.mjs.map → schema-defs-FLFEUSLB.mjs.map} +2 -2
  21. package/dist/lib/browser/{schema-tools-YAXPRIXP.mjs → schema-tools-MYC4LTQD.mjs} +22 -22
  22. package/dist/lib/browser/schema-tools-MYC4LTQD.mjs.map +7 -0
  23. package/dist/lib/browser/{settings-MVT32NP6.mjs → settings-ILGGNYJ7.mjs} +2 -2
  24. package/dist/lib/browser/{spaces-ready-ERNSICUW.mjs → spaces-ready-IXZF3RWW.mjs} +3 -3
  25. package/dist/lib/browser/types/index.mjs +1 -1
  26. package/dist/lib/node/{app-graph-builder-LLIV422L.cjs → app-graph-builder-H7MDHM3X.cjs} +33 -33
  27. package/dist/lib/node/app-graph-builder-H7MDHM3X.cjs.map +7 -0
  28. package/dist/lib/node/{app-graph-serializer-M6Z2OPA4.cjs → app-graph-serializer-G7UYFWG6.cjs} +20 -20
  29. package/dist/lib/node/{chunk-EQ5BPSQ7.cjs → chunk-AR3JHVCY.cjs} +119 -117
  30. package/dist/lib/node/chunk-AR3JHVCY.cjs.map +7 -0
  31. package/dist/lib/node/{chunk-XADZLQAJ.cjs → chunk-EG3WAZLA.cjs} +27 -27
  32. package/dist/lib/node/chunk-EG3WAZLA.cjs.map +7 -0
  33. package/dist/lib/node/{chunk-ZMQO74LX.cjs → chunk-HD4C6KKO.cjs} +43 -43
  34. package/dist/lib/node/chunk-HD4C6KKO.cjs.map +7 -0
  35. package/dist/lib/node/{chunk-UOCR4G2D.cjs → chunk-NCSFM6RA.cjs} +6 -6
  36. package/dist/lib/node/{identity-created-YDTRMOMX.cjs → identity-created-YLGVEWAJ.cjs} +6 -6
  37. package/dist/lib/node/index.cjs +65 -65
  38. package/dist/lib/node/index.cjs.map +3 -3
  39. package/dist/lib/node/{intent-resolver-3J52ARFL.cjs → intent-resolver-V7UJKLE7.cjs} +55 -55
  40. package/dist/lib/node/meta.json +1 -1
  41. package/dist/lib/node/{react-root-XUE2J7HT.cjs → react-root-I3SSFA5O.cjs} +8 -8
  42. package/dist/lib/node/{react-surface-IWSTOZ2E.cjs → react-surface-OLMQCCYD.cjs} +44 -44
  43. package/dist/lib/node/react-surface-OLMQCCYD.cjs.map +7 -0
  44. package/dist/lib/node/{schema-PPJ5BZ3A.cjs → schema-defs-PKZVL52M.cjs} +6 -6
  45. package/dist/lib/node/{schema-PPJ5BZ3A.cjs.map → schema-defs-PKZVL52M.cjs.map} +2 -2
  46. package/dist/lib/node/{schema-tools-BLIMOZYY.cjs → schema-tools-OE3MFYYH.cjs} +24 -24
  47. package/dist/lib/node/schema-tools-OE3MFYYH.cjs.map +7 -0
  48. package/dist/lib/node/{settings-JLV7YT6Q.cjs → settings-7TC55JP4.cjs} +6 -6
  49. package/dist/lib/node/{spaces-ready-6EBR4SM4.cjs → spaces-ready-4H3Q46GV.cjs} +11 -11
  50. package/dist/lib/node/types/index.cjs +15 -15
  51. package/dist/lib/node/types/index.cjs.map +1 -1
  52. package/dist/lib/node-esm/{app-graph-builder-HSGLCS76.mjs → app-graph-builder-NI7X6W3Q.mjs} +3 -3
  53. package/dist/lib/node-esm/app-graph-builder-NI7X6W3Q.mjs.map +7 -0
  54. package/dist/lib/node-esm/{app-graph-serializer-J3B4WSXU.mjs → app-graph-serializer-CVPYWWW3.mjs} +4 -4
  55. package/dist/lib/node-esm/{chunk-ABTVMAG5.mjs → chunk-B2P24Q5R.mjs} +2 -2
  56. package/dist/lib/node-esm/chunk-B2P24Q5R.mjs.map +7 -0
  57. package/dist/lib/node-esm/{chunk-PQI4D4SH.mjs → chunk-BU6F7ZU4.mjs} +19 -19
  58. package/dist/lib/node-esm/chunk-BU6F7ZU4.mjs.map +7 -0
  59. package/dist/lib/node-esm/{chunk-OLISVDCF.mjs → chunk-FUH5OODY.mjs} +2 -2
  60. package/dist/lib/node-esm/chunk-RUWTHAV7.mjs +309 -0
  61. package/dist/lib/node-esm/chunk-RUWTHAV7.mjs.map +7 -0
  62. package/dist/lib/node-esm/{identity-created-EC6SVYB5.mjs → identity-created-7NHGER3Q.mjs} +2 -2
  63. package/dist/lib/node-esm/index.mjs +11 -11
  64. package/dist/lib/node-esm/index.mjs.map +3 -3
  65. package/dist/lib/node-esm/{intent-resolver-MXQIFIRC.mjs → intent-resolver-IL63YTIT.mjs} +4 -4
  66. package/dist/lib/node-esm/meta.json +1 -1
  67. package/dist/lib/node-esm/{react-root-ZBCJCEFS.mjs → react-root-JEGVIVVK.mjs} +4 -4
  68. package/dist/lib/node-esm/{react-surface-JCHDAPGM.mjs → react-surface-DRRXIJBE.mjs} +4 -4
  69. package/dist/lib/node-esm/react-surface-DRRXIJBE.mjs.map +7 -0
  70. package/dist/lib/node-esm/{schema-OUZKVYM5.mjs → schema-defs-IIEQR7B3.mjs} +4 -4
  71. package/dist/lib/node-esm/{schema-OUZKVYM5.mjs.map → schema-defs-IIEQR7B3.mjs.map} +2 -2
  72. package/dist/lib/node-esm/{schema-tools-IU7EX5A5.mjs → schema-tools-YTJLA3NQ.mjs} +22 -22
  73. package/dist/lib/node-esm/schema-tools-YTJLA3NQ.mjs.map +7 -0
  74. package/dist/lib/node-esm/{settings-AILIMHTE.mjs → settings-CXMV2AFR.mjs} +2 -2
  75. package/dist/lib/node-esm/{spaces-ready-5PXESKHX.mjs → spaces-ready-QMXLQ4QV.mjs} +3 -3
  76. package/dist/lib/node-esm/types/index.mjs +1 -1
  77. package/dist/types/src/SpacePlugin.d.ts.map +1 -1
  78. package/dist/types/src/capabilities/app-graph-builder.d.ts.map +1 -1
  79. package/dist/types/src/capabilities/app-graph-serializer.d.ts.map +1 -1
  80. package/dist/types/src/capabilities/identity-created.d.ts.map +1 -1
  81. package/dist/types/src/capabilities/index.d.ts +2 -2
  82. package/dist/types/src/capabilities/index.d.ts.map +1 -1
  83. package/dist/types/src/capabilities/intent-resolver.d.ts.map +1 -1
  84. package/dist/types/src/capabilities/react-surface.d.ts.map +1 -1
  85. package/dist/types/src/capabilities/{schema.d.ts → schema-defs.d.ts} +1 -1
  86. package/dist/types/src/capabilities/schema-defs.d.ts.map +1 -0
  87. package/dist/types/src/capabilities/schema-tools.d.ts +2 -2
  88. package/dist/types/src/capabilities/schema-tools.d.ts.map +1 -1
  89. package/dist/types/src/capabilities/spaces-ready.d.ts.map +1 -1
  90. package/dist/types/src/capabilities/state.d.ts.map +1 -1
  91. package/dist/types/src/components/AwaitingObject.d.ts.map +1 -1
  92. package/dist/types/src/components/CollectionMain.d.ts.map +1 -1
  93. package/dist/types/src/components/CollectionSection.d.ts.map +1 -1
  94. package/dist/types/src/components/CreateDialog/CreateObjectDialog.d.ts.map +1 -1
  95. package/dist/types/src/components/CreateDialog/CreateObjectPanel.d.ts.map +1 -1
  96. package/dist/types/src/components/CreateDialog/CreateSpaceDialog.d.ts.map +1 -1
  97. package/dist/types/src/components/JoinDialog.d.ts.map +1 -1
  98. package/dist/types/src/components/MembersContainer.d.ts.map +1 -1
  99. package/dist/types/src/components/MenuFooter.d.ts +2 -2
  100. package/dist/types/src/components/MenuFooter.d.ts.map +1 -1
  101. package/dist/types/src/components/ObjectSettings/AdvancedObjectSettings.d.ts +2 -2
  102. package/dist/types/src/components/ObjectSettings/AdvancedObjectSettings.d.ts.map +1 -1
  103. package/dist/types/src/components/ObjectSettings/BaseObjectSettings.d.ts +2 -2
  104. package/dist/types/src/components/ObjectSettings/BaseObjectSettings.d.ts.map +1 -1
  105. package/dist/types/src/components/ObjectSettings/ForeignKeys.d.ts.map +1 -1
  106. package/dist/types/src/components/ObjectSettings/ObjectSettingsContainer.d.ts +2 -2
  107. package/dist/types/src/components/ObjectSettings/ObjectSettingsContainer.d.ts.map +1 -1
  108. package/dist/types/src/components/PersistenceStatus.d.ts.map +1 -1
  109. package/dist/types/src/components/PopoverRenameObject.d.ts.map +1 -1
  110. package/dist/types/src/components/PopoverRenameSpace.d.ts.map +1 -1
  111. package/dist/types/src/components/SchemaContainer.d.ts.map +1 -1
  112. package/dist/types/src/components/SpacePluginSettings.d.ts.map +1 -1
  113. package/dist/types/src/components/SpacePresence.d.ts.map +1 -1
  114. package/dist/types/src/components/SpacePresence.stories.d.ts.map +1 -1
  115. package/dist/types/src/components/SpaceSettings/SpaceSettingsContainer.d.ts.map +1 -1
  116. package/dist/types/src/components/SyncStatus/InlineSyncStatus.d.ts.map +1 -1
  117. package/dist/types/src/components/SyncStatus/SyncStatus.d.ts.map +1 -1
  118. package/dist/types/src/components/SyncStatus/save-tracker.d.ts.map +1 -1
  119. package/dist/types/src/components/SyncStatus/status.d.ts.map +1 -1
  120. package/dist/types/src/hooks/useInputSurfaceLookup.d.ts +2 -2
  121. package/dist/types/src/hooks/useInputSurfaceLookup.d.ts.map +1 -1
  122. package/dist/types/src/hooks/usePath.d.ts.map +1 -1
  123. package/dist/types/src/translations.d.ts +2 -262
  124. package/dist/types/src/translations.d.ts.map +1 -1
  125. package/dist/types/src/types/collection.d.ts +9 -8
  126. package/dist/types/src/types/collection.d.ts.map +1 -1
  127. package/dist/types/src/types/thread.d.ts +111 -116
  128. package/dist/types/src/types/thread.d.ts.map +1 -1
  129. package/dist/types/src/types/types.d.ts +153 -152
  130. package/dist/types/src/types/types.d.ts.map +1 -1
  131. package/dist/types/src/util.d.ts +4 -4
  132. package/dist/types/src/util.d.ts.map +1 -1
  133. package/dist/types/tsconfig.tsbuildinfo +1 -1
  134. package/package.json +45 -44
  135. package/src/SpacePlugin.tsx +7 -6
  136. package/src/capabilities/app-graph-builder.ts +3 -3
  137. package/src/capabilities/index.ts +2 -2
  138. package/src/capabilities/react-surface.tsx +11 -11
  139. package/src/capabilities/schema-tool.test.ts +2 -3
  140. package/src/capabilities/schema-tools.ts +25 -25
  141. package/src/components/CreateDialog/CreateSpaceDialog.tsx +2 -3
  142. package/src/components/MenuFooter.tsx +2 -2
  143. package/src/components/ObjectSettings/AdvancedObjectSettings.tsx +2 -2
  144. package/src/components/ObjectSettings/BaseObjectSettings.tsx +2 -2
  145. package/src/components/ObjectSettings/ObjectSettingsContainer.tsx +2 -2
  146. package/src/components/SpaceSettings/SpaceSettingsContainer.tsx +5 -3
  147. package/src/hooks/useInputSurfaceLookup.tsx +2 -2
  148. package/src/types/collection.ts +6 -4
  149. package/src/types/thread.ts +14 -8
  150. package/src/types/types.ts +114 -109
  151. package/src/util.tsx +9 -9
  152. package/dist/lib/browser/app-graph-builder-ZWNOWRAX.mjs.map +0 -7
  153. package/dist/lib/browser/chunk-4226DMDP.mjs.map +0 -7
  154. package/dist/lib/browser/chunk-JS6ZV4GV.mjs.map +0 -7
  155. package/dist/lib/browser/chunk-O7WGQVLQ.mjs +0 -306
  156. package/dist/lib/browser/chunk-O7WGQVLQ.mjs.map +0 -7
  157. package/dist/lib/browser/react-surface-2DW2UDRX.mjs.map +0 -7
  158. package/dist/lib/browser/schema-tools-YAXPRIXP.mjs.map +0 -7
  159. package/dist/lib/node/app-graph-builder-LLIV422L.cjs.map +0 -7
  160. package/dist/lib/node/chunk-EQ5BPSQ7.cjs.map +0 -7
  161. package/dist/lib/node/chunk-XADZLQAJ.cjs.map +0 -7
  162. package/dist/lib/node/chunk-ZMQO74LX.cjs.map +0 -7
  163. package/dist/lib/node/react-surface-IWSTOZ2E.cjs.map +0 -7
  164. package/dist/lib/node/schema-tools-BLIMOZYY.cjs.map +0 -7
  165. package/dist/lib/node-esm/app-graph-builder-HSGLCS76.mjs.map +0 -7
  166. package/dist/lib/node-esm/chunk-ABTVMAG5.mjs.map +0 -7
  167. package/dist/lib/node-esm/chunk-FJPCLEKN.mjs +0 -307
  168. package/dist/lib/node-esm/chunk-FJPCLEKN.mjs.map +0 -7
  169. package/dist/lib/node-esm/chunk-PQI4D4SH.mjs.map +0 -7
  170. package/dist/lib/node-esm/react-surface-JCHDAPGM.mjs.map +0 -7
  171. package/dist/lib/node-esm/schema-tools-IU7EX5A5.mjs.map +0 -7
  172. package/dist/types/src/capabilities/schema.d.ts.map +0 -1
  173. /package/dist/lib/browser/{app-graph-serializer-UUJH7JRN.mjs.map → app-graph-serializer-HPYDOKA5.mjs.map} +0 -0
  174. /package/dist/lib/browser/{chunk-DIJ7LMCS.mjs.map → chunk-OS5QKO4Z.mjs.map} +0 -0
  175. /package/dist/lib/browser/{identity-created-NRVE4XLL.mjs.map → identity-created-DWFKBGOA.mjs.map} +0 -0
  176. /package/dist/lib/browser/{intent-resolver-NP55M7C7.mjs.map → intent-resolver-GKDCJ4H2.mjs.map} +0 -0
  177. /package/dist/lib/browser/{react-root-XKAUZ3X2.mjs.map → react-root-667IZ2Q4.mjs.map} +0 -0
  178. /package/dist/lib/browser/{settings-MVT32NP6.mjs.map → settings-ILGGNYJ7.mjs.map} +0 -0
  179. /package/dist/lib/browser/{spaces-ready-ERNSICUW.mjs.map → spaces-ready-IXZF3RWW.mjs.map} +0 -0
  180. /package/dist/lib/node/{app-graph-serializer-M6Z2OPA4.cjs.map → app-graph-serializer-G7UYFWG6.cjs.map} +0 -0
  181. /package/dist/lib/node/{chunk-UOCR4G2D.cjs.map → chunk-NCSFM6RA.cjs.map} +0 -0
  182. /package/dist/lib/node/{identity-created-YDTRMOMX.cjs.map → identity-created-YLGVEWAJ.cjs.map} +0 -0
  183. /package/dist/lib/node/{intent-resolver-3J52ARFL.cjs.map → intent-resolver-V7UJKLE7.cjs.map} +0 -0
  184. /package/dist/lib/node/{react-root-XUE2J7HT.cjs.map → react-root-I3SSFA5O.cjs.map} +0 -0
  185. /package/dist/lib/node/{settings-JLV7YT6Q.cjs.map → settings-7TC55JP4.cjs.map} +0 -0
  186. /package/dist/lib/node/{spaces-ready-6EBR4SM4.cjs.map → spaces-ready-4H3Q46GV.cjs.map} +0 -0
  187. /package/dist/lib/node-esm/{app-graph-serializer-J3B4WSXU.mjs.map → app-graph-serializer-CVPYWWW3.mjs.map} +0 -0
  188. /package/dist/lib/node-esm/{chunk-OLISVDCF.mjs.map → chunk-FUH5OODY.mjs.map} +0 -0
  189. /package/dist/lib/node-esm/{identity-created-EC6SVYB5.mjs.map → identity-created-7NHGER3Q.mjs.map} +0 -0
  190. /package/dist/lib/node-esm/{intent-resolver-MXQIFIRC.mjs.map → intent-resolver-IL63YTIT.mjs.map} +0 -0
  191. /package/dist/lib/node-esm/{react-root-ZBCJCEFS.mjs.map → react-root-JEGVIVVK.mjs.map} +0 -0
  192. /package/dist/lib/node-esm/{settings-AILIMHTE.mjs.map → settings-CXMV2AFR.mjs.map} +0 -0
  193. /package/dist/lib/node-esm/{spaces-ready-5PXESKHX.mjs.map → spaces-ready-QMXLQ4QV.mjs.map} +0 -0
  194. /package/src/capabilities/{schema.ts → schema-defs.ts} +0 -0
@@ -2,8 +2,10 @@
2
2
  // Copyright 2023 DXOS.org
3
3
  //
4
4
 
5
+ import { Schema } from 'effect';
6
+
5
7
  import { type AnyIntentChain } from '@dxos/app-framework';
6
- import { S, type Expando, type BaseObject, type TypedObject } from '@dxos/echo-schema';
8
+ import { type Expando, type BaseObject, type TypedObject } from '@dxos/echo-schema';
7
9
  import { type PublicKey } from '@dxos/react-client';
8
10
  // TODO(wittjosiah): This pulls in full client.
9
11
  import { EchoObjectSchema, ReactiveObjectSchema, type Space, SpaceSchema } from '@dxos/react-client/echo';
@@ -63,16 +65,16 @@ export type PluginState = {
63
65
  enabledEdgeReplication: boolean;
64
66
  };
65
67
 
66
- export const SpaceSettingsSchema = S.mutable(
67
- S.Struct({
68
+ export const SpaceSettingsSchema = Schema.mutable(
69
+ Schema.Struct({
68
70
  /**
69
71
  * Show closed spaces.
70
72
  */
71
- showHidden: S.Boolean,
73
+ showHidden: Schema.Boolean,
72
74
  }),
73
75
  );
74
76
 
75
- export type SpaceSettingsProps = S.Schema.Type<typeof SpaceSettingsSchema>;
77
+ export type SpaceSettingsProps = Schema.Schema.Type<typeof SpaceSettingsSchema>;
76
78
 
77
79
  // TODO(wittjosiah): Reconcile with graph export serializers.
78
80
 
@@ -93,18 +95,18 @@ export interface TypedObjectSerializer<T extends Expando = Expando> {
93
95
  export const IconAnnotationId = Symbol.for('@dxos/plugin-space/annotation/Icon');
94
96
  export const HueAnnotationId = Symbol.for('@dxos/plugin-space/annotation/Hue');
95
97
 
96
- export const SpaceForm = S.Struct({
97
- name: S.optional(S.String.annotations({ title: 'Name' })),
98
- icon: S.optional(S.String.annotations({ title: 'Icon', [IconAnnotationId]: true })),
99
- hue: S.optional(S.String.annotations({ title: 'Color', [HueAnnotationId]: true })),
98
+ export const SpaceForm = Schema.Struct({
99
+ name: Schema.optional(Schema.String.annotations({ title: 'Name' })),
100
+ icon: Schema.optional(Schema.String.annotations({ title: 'Icon', [IconAnnotationId]: true })),
101
+ hue: Schema.optional(Schema.String.annotations({ title: 'Color', [HueAnnotationId]: true })),
100
102
  // TODO(wittjosiah): Make optional with default value.
101
- edgeReplication: S.Boolean.annotations({ title: 'Enable EDGE Replication' }),
103
+ edgeReplication: Schema.Boolean.annotations({ title: 'Enable EDGE Replication' }),
102
104
  });
103
105
 
104
106
  export type ObjectForm<T extends BaseObject = BaseObject> = {
105
- // TODO(dmaretskyi): Change to S.Schema.AnyNoContext
107
+ // TODO(dmaretskyi): Change to Schema.Schema.AnyNoContext
106
108
  objectSchema: TypedObject;
107
- formSchema?: S.Schema<T, any>;
109
+ formSchema?: Schema.Schema<T, any>;
108
110
  hidden?: boolean;
109
111
  getIntent: (props: T, options: { space: Space }) => AnyIntentChain;
110
112
  };
@@ -114,186 +116,189 @@ export const defineObjectForm = <T extends BaseObject>(form: ObjectForm<T>) => f
114
116
  export const SPACE_ACTION = `${SPACE_PLUGIN}/action`;
115
117
 
116
118
  export namespace SpaceAction {
117
- export class OpenCreateSpace extends S.TaggedClass<OpenCreateSpace>()(`${SPACE_ACTION}/open-create-space`, {
118
- input: S.Void,
119
- output: S.Void,
119
+ export class OpenCreateSpace extends Schema.TaggedClass<OpenCreateSpace>()(`${SPACE_ACTION}/open-create-space`, {
120
+ input: Schema.Void,
121
+ output: Schema.Void,
120
122
  }) {}
121
123
 
122
- export class Create extends S.TaggedClass<Create>()(`${SPACE_ACTION}/create`, {
124
+ export class Create extends Schema.TaggedClass<Create>()(`${SPACE_ACTION}/create`, {
123
125
  input: SpaceForm,
124
- output: S.Struct({
125
- id: S.String,
126
- subject: S.Array(S.String),
126
+ output: Schema.Struct({
127
+ id: Schema.String,
128
+ subject: Schema.Array(Schema.String),
127
129
  space: SpaceSchema,
128
130
  }),
129
131
  }) {}
130
132
 
131
- export class Join extends S.TaggedClass<Join>()(`${SPACE_ACTION}/join`, {
132
- input: S.Struct({
133
- invitationCode: S.optional(S.String),
134
- onDone: S.optional(S.Any),
133
+ export class Join extends Schema.TaggedClass<Join>()(`${SPACE_ACTION}/join`, {
134
+ input: Schema.Struct({
135
+ invitationCode: Schema.optional(Schema.String),
136
+ onDone: Schema.optional(Schema.Any),
135
137
  }),
136
- output: S.Void,
138
+ output: Schema.Void,
137
139
  }) {}
138
140
 
139
- export class OpenMembers extends S.TaggedClass<OpenMembers>()(`${SPACE_ACTION}/open-members`, {
140
- input: S.Struct({
141
+ export class OpenMembers extends Schema.TaggedClass<OpenMembers>()(`${SPACE_ACTION}/open-members`, {
142
+ input: Schema.Struct({
141
143
  space: SpaceSchema,
142
144
  }),
143
- output: S.Void,
145
+ output: Schema.Void,
144
146
  }) {}
145
147
 
146
- export class Share extends S.TaggedClass<Share>()(`${SPACE_ACTION}/share`, {
147
- input: S.Struct({
148
+ export class Share extends Schema.TaggedClass<Share>()(`${SPACE_ACTION}/share`, {
149
+ input: Schema.Struct({
148
150
  space: SpaceSchema,
149
- type: S.Enums(Invitation.Type),
150
- authMethod: S.Enums(Invitation.AuthMethod),
151
- multiUse: S.Boolean,
152
- target: S.optional(S.String),
151
+ type: Schema.Enums(Invitation.Type),
152
+ authMethod: Schema.Enums(Invitation.AuthMethod),
153
+ multiUse: Schema.Boolean,
154
+ target: Schema.optional(Schema.String),
153
155
  }),
154
- output: S.instanceOf(CancellableInvitationObservable),
156
+ output: Schema.instanceOf(CancellableInvitationObservable),
155
157
  }) {}
156
158
 
157
- export class GetShareLink extends S.TaggedClass<GetShareLink>()(`${SPACE_ACTION}/get-share-link`, {
158
- input: S.Struct({
159
+ export class GetShareLink extends Schema.TaggedClass<GetShareLink>()(`${SPACE_ACTION}/get-share-link`, {
160
+ input: Schema.Struct({
159
161
  space: SpaceSchema,
160
- target: S.optional(S.String),
161
- copyToClipboard: S.optional(S.Boolean),
162
+ target: Schema.optional(Schema.String),
163
+ copyToClipboard: Schema.optional(Schema.Boolean),
162
164
  }),
163
- output: S.String,
165
+ output: Schema.String,
164
166
  }) {}
165
167
 
166
- export class Lock extends S.TaggedClass<Lock>()(`${SPACE_ACTION}/lock`, {
167
- input: S.Struct({
168
+ export class Lock extends Schema.TaggedClass<Lock>()(`${SPACE_ACTION}/lock`, {
169
+ input: Schema.Struct({
168
170
  space: SpaceSchema,
169
171
  }),
170
- output: S.Void,
172
+ output: Schema.Void,
171
173
  }) {}
172
174
 
173
- export class Unlock extends S.TaggedClass<Unlock>()(`${SPACE_ACTION}/unlock`, {
174
- input: S.Struct({
175
+ export class Unlock extends Schema.TaggedClass<Unlock>()(`${SPACE_ACTION}/unlock`, {
176
+ input: Schema.Struct({
175
177
  space: SpaceSchema,
176
178
  }),
177
- output: S.Void,
179
+ output: Schema.Void,
178
180
  }) {}
179
181
 
180
- export class Rename extends S.TaggedClass<Rename>()(`${SPACE_ACTION}/rename`, {
181
- input: S.Struct({
182
+ export class Rename extends Schema.TaggedClass<Rename>()(`${SPACE_ACTION}/rename`, {
183
+ input: Schema.Struct({
182
184
  space: SpaceSchema,
183
- caller: S.optional(S.String),
185
+ caller: Schema.optional(Schema.String),
184
186
  }),
185
- output: S.Void,
187
+ output: Schema.Void,
186
188
  }) {}
187
189
 
188
- export class AddSpace extends S.TaggedClass<AddSpace>()(`${SPACE_ACTION}/add-space`, {
189
- input: S.Void,
190
- output: S.Void,
190
+ export class AddSpace extends Schema.TaggedClass<AddSpace>()(`${SPACE_ACTION}/add-space`, {
191
+ input: Schema.Void,
192
+ output: Schema.Void,
191
193
  }) {}
192
194
 
193
- export class AddSpaceMenuGroup extends S.TaggedClass<AddSpaceMenuGroup>()(`${SPACE_ACTION}/add-space-menu-group`, {
194
- input: S.Void,
195
- output: S.Void,
196
- }) {}
195
+ export class AddSpaceMenuGroup extends Schema.TaggedClass<AddSpaceMenuGroup>()(
196
+ `${SPACE_ACTION}/add-space-menu-group`,
197
+ {
198
+ input: Schema.Void,
199
+ output: Schema.Void,
200
+ },
201
+ ) {}
197
202
 
198
203
  // TODO(wittjosiah): Handle scrolling to section.
199
204
  // This maybe motivates making the space settings its own deck?
200
- export class OpenSettings extends S.TaggedClass<OpenSettings>()(`${SPACE_ACTION}/open-settings`, {
201
- input: S.Struct({ space: SpaceSchema }),
202
- output: S.Void,
205
+ export class OpenSettings extends Schema.TaggedClass<OpenSettings>()(`${SPACE_ACTION}/open-settings`, {
206
+ input: Schema.Struct({ space: SpaceSchema }),
207
+ output: Schema.Void,
203
208
  }) {}
204
209
 
205
- export class Open extends S.TaggedClass<Open>()(`${SPACE_ACTION}/open`, {
206
- input: S.Struct({
210
+ export class Open extends Schema.TaggedClass<Open>()(`${SPACE_ACTION}/open`, {
211
+ input: Schema.Struct({
207
212
  space: SpaceSchema,
208
213
  }),
209
- output: S.Void,
214
+ output: Schema.Void,
210
215
  }) {}
211
216
 
212
- export class Close extends S.TaggedClass<Close>()(`${SPACE_ACTION}/close`, {
213
- input: S.Struct({
217
+ export class Close extends Schema.TaggedClass<Close>()(`${SPACE_ACTION}/close`, {
218
+ input: Schema.Struct({
214
219
  space: SpaceSchema,
215
220
  }),
216
- output: S.Void,
221
+ output: Schema.Void,
217
222
  }) {}
218
223
 
219
- export class Migrate extends S.TaggedClass<Migrate>()(`${SPACE_ACTION}/migrate`, {
220
- input: S.Struct({
224
+ export class Migrate extends Schema.TaggedClass<Migrate>()(`${SPACE_ACTION}/migrate`, {
225
+ input: Schema.Struct({
221
226
  space: SpaceSchema,
222
- version: S.optional(S.String),
227
+ version: Schema.optional(Schema.String),
223
228
  }),
224
- output: S.Boolean,
229
+ output: Schema.Boolean,
225
230
  }) {}
226
231
 
227
- export class OpenCreateObject extends S.TaggedClass<OpenCreateObject>()(`${SPACE_ACTION}/open-create-object`, {
228
- input: S.Struct({
229
- target: S.Union(SpaceSchema, CollectionType),
230
- navigable: S.optional(S.Boolean),
232
+ export class OpenCreateObject extends Schema.TaggedClass<OpenCreateObject>()(`${SPACE_ACTION}/open-create-object`, {
233
+ input: Schema.Struct({
234
+ target: Schema.Union(SpaceSchema, CollectionType),
235
+ navigable: Schema.optional(Schema.Boolean),
231
236
  }),
232
- output: S.Void,
237
+ output: Schema.Void,
233
238
  }) {}
234
239
 
235
- export class AddObject extends S.TaggedClass<AddObject>()(`${SPACE_ACTION}/add-object`, {
236
- input: S.Struct({
240
+ export class AddObject extends Schema.TaggedClass<AddObject>()(`${SPACE_ACTION}/add-object`, {
241
+ input: Schema.Struct({
237
242
  object: ReactiveObjectSchema,
238
- target: S.Union(SpaceSchema, CollectionType),
239
- hidden: S.optional(S.Boolean),
243
+ target: Schema.Union(SpaceSchema, CollectionType),
244
+ hidden: Schema.optional(Schema.Boolean),
240
245
  }),
241
- output: S.Struct({
242
- id: S.String,
243
- subject: S.Array(S.String),
246
+ output: Schema.Struct({
247
+ id: Schema.String,
248
+ subject: Schema.Array(Schema.String),
244
249
  object: EchoObjectSchema,
245
250
  }),
246
251
  }) {}
247
252
 
248
- export const DeletionData = S.Struct({
249
- objects: S.Array(EchoObjectSchema),
253
+ export const DeletionData = Schema.Struct({
254
+ objects: Schema.Array(EchoObjectSchema),
250
255
  parentCollection: CollectionType,
251
- indices: S.Array(S.Number),
252
- nestedObjectsList: S.Array(S.Array(EchoObjectSchema)),
253
- wasActive: S.Array(S.String),
256
+ indices: Schema.Array(Schema.Number),
257
+ nestedObjectsList: Schema.Array(Schema.Array(EchoObjectSchema)),
258
+ wasActive: Schema.Array(Schema.String),
254
259
  });
255
260
 
256
- export type DeletionData = S.Schema.Type<typeof DeletionData>;
261
+ export type DeletionData = Schema.Schema.Type<typeof DeletionData>;
257
262
 
258
- export class RemoveObjects extends S.TaggedClass<RemoveObjects>()(`${SPACE_ACTION}/remove-objects`, {
259
- input: S.Struct({
260
- objects: S.Array(EchoObjectSchema),
261
- target: S.optional(CollectionType),
262
- deletionData: S.optional(DeletionData),
263
+ export class RemoveObjects extends Schema.TaggedClass<RemoveObjects>()(`${SPACE_ACTION}/remove-objects`, {
264
+ input: Schema.Struct({
265
+ objects: Schema.Array(EchoObjectSchema),
266
+ target: Schema.optional(CollectionType),
267
+ deletionData: Schema.optional(DeletionData),
263
268
  }),
264
- output: S.Void,
269
+ output: Schema.Void,
265
270
  }) {}
266
271
 
267
- export class RenameObject extends S.TaggedClass<RenameObject>()(`${SPACE_ACTION}/rename-object`, {
268
- input: S.Struct({
272
+ export class RenameObject extends Schema.TaggedClass<RenameObject>()(`${SPACE_ACTION}/rename-object`, {
273
+ input: Schema.Struct({
269
274
  object: EchoObjectSchema,
270
- caller: S.optional(S.String),
275
+ caller: Schema.optional(Schema.String),
271
276
  }),
272
- output: S.Void,
277
+ output: Schema.Void,
273
278
  }) {}
274
279
 
275
- export class DuplicateObject extends S.TaggedClass<DuplicateObject>()(`${SPACE_ACTION}/duplicate-object`, {
276
- input: S.Struct({
280
+ export class DuplicateObject extends Schema.TaggedClass<DuplicateObject>()(`${SPACE_ACTION}/duplicate-object`, {
281
+ input: Schema.Struct({
277
282
  object: EchoObjectSchema,
278
- target: S.Union(SpaceSchema, CollectionType),
283
+ target: Schema.Union(SpaceSchema, CollectionType),
279
284
  }),
280
- output: S.Void,
285
+ output: Schema.Void,
281
286
  }) {}
282
287
 
283
- export class WaitForObject extends S.TaggedClass<WaitForObject>()(`${SPACE_ACTION}/wait-for-object`, {
284
- input: S.Struct({
285
- id: S.optional(S.String),
288
+ export class WaitForObject extends Schema.TaggedClass<WaitForObject>()(`${SPACE_ACTION}/wait-for-object`, {
289
+ input: Schema.Struct({
290
+ id: Schema.optional(Schema.String),
286
291
  }),
287
- output: S.Void,
292
+ output: Schema.Void,
288
293
  }) {}
289
294
  }
290
295
 
291
296
  export namespace CollectionAction {
292
- export class Create extends S.TaggedClass<Create>()('dxos.org/plugin/collection/action/create', {
293
- input: S.Struct({
294
- name: S.optional(S.String),
297
+ export class Create extends Schema.TaggedClass<Create>()('dxos.org/plugin/collection/action/create', {
298
+ input: Schema.Struct({
299
+ name: Schema.optional(Schema.String),
295
300
  }),
296
- output: S.Struct({
301
+ output: Schema.Struct({
297
302
  object: CollectionType,
298
303
  }),
299
304
  }) {}
package/src/util.tsx CHANGED
@@ -31,7 +31,7 @@ import {
31
31
  type FilterSource,
32
32
  type Query,
33
33
  type QueryOptions,
34
- type ReactiveEchoObject,
34
+ type AnyLiveObject,
35
35
  type Space,
36
36
  } from '@dxos/react-client/echo';
37
37
  import { ATTENDABLE_PATH_SEPARATOR } from '@dxos/react-ui-attention';
@@ -109,7 +109,7 @@ const getCollectionGraphNodePartials = ({
109
109
  // Change on disk.
110
110
  collection.objects = nextOrder.filter(isEchoObject).map(makeRef);
111
111
  },
112
- onTransferStart: (child: Node<ReactiveEchoObject<any>>, index?: number) => {
112
+ onTransferStart: (child: Node<AnyLiveObject<any>>, index?: number) => {
113
113
  // TODO(wittjosiah): Support transfer between spaces.
114
114
  // const childSpace = getSpace(child.data);
115
115
  // if (space && childSpace && !childSpace.key.equals(space.key)) {
@@ -138,7 +138,7 @@ const getCollectionGraphNodePartials = ({
138
138
 
139
139
  // }
140
140
  },
141
- onTransferEnd: (child: Node<ReactiveEchoObject<any>>, destination: Node) => {
141
+ onTransferEnd: (child: Node<AnyLiveObject<any>>, destination: Node) => {
142
142
  // Remove child from origin collection.
143
143
  const index = collection.objects.findIndex((object) => object.target === child.data);
144
144
  if (index > -1) {
@@ -154,7 +154,7 @@ const getCollectionGraphNodePartials = ({
154
154
  // childSpace.db.remove(child.data);
155
155
  // }
156
156
  },
157
- onCopy: async (child: Node<ReactiveEchoObject<any>>, index?: number) => {
157
+ onCopy: async (child: Node<AnyLiveObject<any>>, index?: number) => {
158
158
  // Create clone of child and add to destination space.
159
159
  const newObject = await cloneObject(child.data, resolve, space);
160
160
  space.db.add(newObject);
@@ -333,7 +333,7 @@ export const createObjectNode = ({
333
333
  navigable = false,
334
334
  resolve,
335
335
  }: {
336
- object: ReactiveEchoObject<any>;
336
+ object: AnyLiveObject<any>;
337
337
  space: Space;
338
338
  navigable?: boolean;
339
339
  resolve: (typename: string) => Record<string, any>;
@@ -375,7 +375,7 @@ export const constructObjectActions = ({
375
375
  dispatch,
376
376
  navigable = false,
377
377
  }: {
378
- node: Node<ReactiveEchoObject<any>>;
378
+ node: Node<AnyLiveObject<any>>;
379
379
  dispatch: PromiseIntentDispatcher;
380
380
  navigable?: boolean;
381
381
  }) => {
@@ -493,9 +493,9 @@ export const getActiveSpace = (graph: Graph, active?: string) => {
493
493
  * @deprecated This is a temporary solution.
494
494
  */
495
495
  export const getNestedObjects = async (
496
- object: ReactiveEchoObject<any>,
496
+ object: AnyLiveObject<any>,
497
497
  resolve: (typename: string) => Record<string, any>,
498
- ): Promise<ReactiveEchoObject<any>[]> => {
498
+ ): Promise<AnyLiveObject<any>[]> => {
499
499
  const type = getTypename(object);
500
500
  if (!type) {
501
501
  return [];
@@ -507,7 +507,7 @@ export const getNestedObjects = async (
507
507
  return [];
508
508
  }
509
509
 
510
- const objects: ReactiveEchoObject<any>[] = await loadReferences(object);
510
+ const objects: AnyLiveObject<any>[] = await loadReferences(object);
511
511
  const nested = await Promise.all(objects.map((object) => getNestedObjects(object, resolve)));
512
512
  return [...objects, ...nested.flat()];
513
513
  };
@@ -1,7 +0,0 @@
1
- {
2
- "version": 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 ReactiveEchoObject,\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<ReactiveEchoObject<any>> => isEchoObject(node.data),\n actions: ({ node }) => {\n const { dispatchPromise: dispatch } = context.requestCapability(Capabilities.IntentDispatcher);\n const state = context.requestCapability(SpaceCapabilities.State);\n return constructObjectActions({ node, dispatch, navigable: state.navigableCollections });\n },\n }),\n\n // Object settings plank companion.\n createExtension({\n id: `${SPACE_PLUGIN}/settings`,\n filter: (node): node is Node<ReactiveEchoObject<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": ["Capabilities", "contributes", "createIntent", "Expando", "Filter", "FQ_ID_LENGTH", "getSpace", "isEchoObject", "OBJECT_ID_LENGTH", "SPACE_ID_LENGTH", "SpaceState", "parseId", "isDeleted", "log", "ClientCapabilities", "PLANK_COMPANION_TYPE", "ATTENDABLE_PATH_SEPARATOR", "createExtension", "toSignal", "isNonNullable", "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"]
7
- }