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

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 (125) 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/capabilities/app-graph-builder.d.ts.map +1 -1
  72. package/dist/types/src/capabilities/intent-resolver.d.ts.map +1 -1
  73. package/dist/types/src/capabilities/react-surface.d.ts.map +1 -1
  74. package/dist/types/src/components/MembersContainer.stories.d.ts.map +1 -1
  75. package/dist/types/src/components/PersistenceStatus.d.ts.map +1 -1
  76. package/dist/types/src/components/SpacePresence.d.ts.map +1 -1
  77. package/dist/types/src/components/SyncStatus/InlineSyncStatus.d.ts.map +1 -1
  78. package/dist/types/src/components/index.d.ts +0 -1
  79. package/dist/types/src/components/index.d.ts.map +1 -1
  80. package/dist/types/src/translations.d.ts +0 -1
  81. package/dist/types/src/translations.d.ts.map +1 -1
  82. package/dist/types/src/types/types.d.ts +0 -16
  83. package/dist/types/src/types/types.d.ts.map +1 -1
  84. package/package.json +44 -44
  85. package/src/capabilities/app-graph-builder.ts +20 -8
  86. package/src/capabilities/intent-resolver.ts +0 -19
  87. package/src/capabilities/react-surface.tsx +0 -8
  88. package/src/components/CreateDialog/CreateObjectDialog.stories.tsx +1 -1
  89. package/src/components/MembersContainer.stories.tsx +1 -5
  90. package/src/components/PersistenceStatus.tsx +11 -14
  91. package/src/components/SpacePresence.stories.tsx +1 -1
  92. package/src/components/SpacePresence.tsx +32 -42
  93. package/src/components/SyncStatus/InlineSyncStatus.tsx +8 -16
  94. package/src/components/index.ts +0 -1
  95. package/src/translations.ts +0 -1
  96. package/src/types/types.ts +0 -13
  97. package/src/util.tsx +4 -4
  98. package/dist/lib/browser/chunk-OS5QKO4Z.mjs.map +0 -7
  99. package/dist/lib/browser/intent-resolver-GKDCJ4H2.mjs.map +0 -7
  100. package/dist/lib/browser/react-surface-I4RNTGGN.mjs.map +0 -7
  101. package/dist/lib/node/chunk-HD4C6KKO.cjs.map +0 -7
  102. package/dist/lib/node/chunk-NCSFM6RA.cjs.map +0 -7
  103. package/dist/lib/node/intent-resolver-V7UJKLE7.cjs.map +0 -7
  104. package/dist/lib/node/react-surface-OLMQCCYD.cjs.map +0 -7
  105. package/dist/lib/node-esm/chunk-FUH5OODY.mjs.map +0 -7
  106. package/dist/lib/node-esm/intent-resolver-IL63YTIT.mjs.map +0 -7
  107. package/dist/lib/node-esm/react-surface-DRRXIJBE.mjs.map +0 -7
  108. package/dist/types/src/components/PopoverAddSpace.d.ts +0 -4
  109. package/dist/types/src/components/PopoverAddSpace.d.ts.map +0 -1
  110. package/src/components/PopoverAddSpace.tsx +0 -52
  111. /package/dist/lib/browser/{app-graph-serializer-HPYDOKA5.mjs.map → app-graph-serializer-N7KZGCST.mjs.map} +0 -0
  112. /package/dist/lib/browser/{identity-created-DWFKBGOA.mjs.map → identity-created-74EHBH7M.mjs.map} +0 -0
  113. /package/dist/lib/browser/{react-root-667IZ2Q4.mjs.map → react-root-2EFJCOX7.mjs.map} +0 -0
  114. /package/dist/lib/browser/{settings-ILGGNYJ7.mjs.map → settings-G24447B7.mjs.map} +0 -0
  115. /package/dist/lib/browser/{spaces-ready-IXZF3RWW.mjs.map → spaces-ready-ZSUEPHJF.mjs.map} +0 -0
  116. /package/dist/lib/node/{app-graph-serializer-G7UYFWG6.cjs.map → app-graph-serializer-IKQLWTCX.cjs.map} +0 -0
  117. /package/dist/lib/node/{identity-created-YLGVEWAJ.cjs.map → identity-created-PCQPDULV.cjs.map} +0 -0
  118. /package/dist/lib/node/{react-root-I3SSFA5O.cjs.map → react-root-DEQFKQVD.cjs.map} +0 -0
  119. /package/dist/lib/node/{settings-7TC55JP4.cjs.map → settings-AFWO4AWK.cjs.map} +0 -0
  120. /package/dist/lib/node/{spaces-ready-4H3Q46GV.cjs.map → spaces-ready-MHLUFLXN.cjs.map} +0 -0
  121. /package/dist/lib/node-esm/{app-graph-serializer-CVPYWWW3.mjs.map → app-graph-serializer-I6XBQJLA.mjs.map} +0 -0
  122. /package/dist/lib/node-esm/{identity-created-7NHGER3Q.mjs.map → identity-created-GXS46A3C.mjs.map} +0 -0
  123. /package/dist/lib/node-esm/{react-root-JEGVIVVK.mjs.map → react-root-2RJ2S5E6.mjs.map} +0 -0
  124. /package/dist/lib/node-esm/{settings-CXMV2AFR.mjs.map → settings-MJVSCOI4.mjs.map} +0 -0
  125. /package/dist/lib/node-esm/{spaces-ready-QMXLQ4QV.mjs.map → spaces-ready-35U5BBTH.mjs.map} +0 -0
@@ -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_serializer_G7UYFWG6_exports = {};
20
- __export(app_graph_serializer_G7UYFWG6_exports, {
19
+ var app_graph_serializer_IKQLWTCX_exports = {};
20
+ __export(app_graph_serializer_IKQLWTCX_exports, {
21
21
  default: () => app_graph_serializer_default
22
22
  });
23
- module.exports = __toCommonJS(app_graph_serializer_G7UYFWG6_exports);
24
- var import_chunk_NCSFM6RA = require("./chunk-NCSFM6RA.cjs");
25
- var import_chunk_EG3WAZLA = require("./chunk-EG3WAZLA.cjs");
26
- var import_chunk_AR3JHVCY = require("./chunk-AR3JHVCY.cjs");
23
+ module.exports = __toCommonJS(app_graph_serializer_IKQLWTCX_exports);
24
+ var import_chunk_YAE6CCDB = require("./chunk-YAE6CCDB.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");
@@ -31,27 +31,27 @@ var import_live_object = require("@dxos/live-object");
31
31
  var DIRECTORY_TYPE = "text/directory";
32
32
  var app_graph_serializer_default = (context) => (0, import_app_framework.contributes)(import_app_framework.Capabilities.AppGraphSerializer, [
33
33
  {
34
- inputType: import_chunk_EG3WAZLA.SPACES,
34
+ inputType: import_chunk_FILCZU6V.SPACES,
35
35
  outputType: DIRECTORY_TYPE,
36
36
  serialize: (node) => ({
37
- name: import_chunk_NCSFM6RA.translations_default[0]["en-US"][import_chunk_6P2DB4QQ.SPACE_PLUGIN]["spaces label"],
38
- data: import_chunk_NCSFM6RA.translations_default[0]["en-US"][import_chunk_6P2DB4QQ.SPACE_PLUGIN]["spaces label"],
37
+ name: import_chunk_YAE6CCDB.translations_default[0]["en-US"][import_chunk_6P2DB4QQ.SPACE_PLUGIN]["spaces label"],
38
+ data: import_chunk_YAE6CCDB.translations_default[0]["en-US"][import_chunk_6P2DB4QQ.SPACE_PLUGIN]["spaces label"],
39
39
  type: DIRECTORY_TYPE
40
40
  }),
41
41
  deserialize: () => {
42
42
  }
43
43
  },
44
44
  {
45
- inputType: import_chunk_AR3JHVCY.SPACE_TYPE,
45
+ inputType: import_chunk_K6ZO4WDJ.SPACE_TYPE,
46
46
  outputType: DIRECTORY_TYPE,
47
47
  serialize: (node) => ({
48
- name: node.data.properties.name ?? import_chunk_NCSFM6RA.translations_default[0]["en-US"][import_chunk_6P2DB4QQ.SPACE_PLUGIN]["unnamed space label"],
49
- data: node.data.properties.name ?? import_chunk_NCSFM6RA.translations_default[0]["en-US"][import_chunk_6P2DB4QQ.SPACE_PLUGIN]["unnamed space label"],
48
+ name: node.data.properties.name ?? import_chunk_YAE6CCDB.translations_default[0]["en-US"][import_chunk_6P2DB4QQ.SPACE_PLUGIN]["unnamed space label"],
49
+ data: node.data.properties.name ?? import_chunk_YAE6CCDB.translations_default[0]["en-US"][import_chunk_6P2DB4QQ.SPACE_PLUGIN]["unnamed space label"],
50
50
  type: DIRECTORY_TYPE
51
51
  }),
52
52
  deserialize: async (data) => {
53
53
  const { dispatchPromise: dispatch } = context.requestCapability(import_app_framework.Capabilities.IntentDispatcher);
54
- const result = await dispatch((0, import_app_framework.createIntent)(import_chunk_AR3JHVCY.SpaceAction.Create, {
54
+ const result = await dispatch((0, import_app_framework.createIntent)(import_chunk_K6ZO4WDJ.SpaceAction.Create, {
55
55
  name: data.name,
56
56
  edgeReplication: true
57
57
  }));
@@ -59,23 +59,23 @@ var app_graph_serializer_default = (context) => (0, import_app_framework.contrib
59
59
  }
60
60
  },
61
61
  {
62
- inputType: import_chunk_AR3JHVCY.CollectionType.typename,
62
+ inputType: import_chunk_K6ZO4WDJ.CollectionType.typename,
63
63
  outputType: DIRECTORY_TYPE,
64
64
  serialize: (node) => ({
65
- name: node.data.name ?? import_chunk_NCSFM6RA.translations_default[0]["en-US"][import_chunk_AR3JHVCY.CollectionType.typename]["object name placeholder"],
66
- data: node.data.name ?? import_chunk_NCSFM6RA.translations_default[0]["en-US"][import_chunk_AR3JHVCY.CollectionType.typename]["object name placeholder"],
65
+ name: node.data.name ?? import_chunk_YAE6CCDB.translations_default[0]["en-US"][import_chunk_K6ZO4WDJ.CollectionType.typename]["object name placeholder"],
66
+ data: node.data.name ?? import_chunk_YAE6CCDB.translations_default[0]["en-US"][import_chunk_K6ZO4WDJ.CollectionType.typename]["object name placeholder"],
67
67
  type: DIRECTORY_TYPE
68
68
  }),
69
69
  deserialize: async (data, ancestors) => {
70
70
  const space = ancestors.find(import_echo.isSpace);
71
- const collection = ancestors.findLast((ancestor) => ancestor instanceof import_chunk_AR3JHVCY.CollectionType) ?? space?.properties[import_chunk_AR3JHVCY.CollectionType.typename]?.target;
71
+ const collection = ancestors.findLast((ancestor) => ancestor instanceof import_chunk_K6ZO4WDJ.CollectionType) ?? space?.properties[import_chunk_K6ZO4WDJ.CollectionType.typename]?.target;
72
72
  if (!space || !collection) {
73
73
  return;
74
74
  }
75
75
  const { dispatchPromise: dispatch } = context.requestCapability(import_app_framework.Capabilities.IntentDispatcher);
76
- const result = await dispatch((0, import_app_framework.createIntent)(import_chunk_AR3JHVCY.SpaceAction.AddObject, {
76
+ const result = await dispatch((0, import_app_framework.createIntent)(import_chunk_K6ZO4WDJ.SpaceAction.AddObject, {
77
77
  target: collection,
78
- object: (0, import_live_object.live)(import_chunk_AR3JHVCY.CollectionType, {
78
+ object: (0, import_live_object.live)(import_chunk_K6ZO4WDJ.CollectionType, {
79
79
  name: data.name,
80
80
  objects: [],
81
81
  views: {}
@@ -85,4 +85,4 @@ var app_graph_serializer_default = (context) => (0, import_app_framework.contrib
85
85
  }
86
86
  }
87
87
  ]);
88
- //# sourceMappingURL=app-graph-serializer-G7UYFWG6.cjs.map
88
+ //# sourceMappingURL=app-graph-serializer-IKQLWTCX.cjs.map
@@ -16,8 +16,8 @@ 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 chunk_EG3WAZLA_exports = {};
20
- __export(chunk_EG3WAZLA_exports, {
19
+ var chunk_FILCZU6V_exports = {};
20
+ __export(chunk_FILCZU6V_exports, {
21
21
  COMPOSER_SPACE_LOCK: () => COMPOSER_SPACE_LOCK,
22
22
  SHARED: () => SHARED,
23
23
  SPACES: () => SPACES,
@@ -31,8 +31,8 @@ __export(chunk_EG3WAZLA_exports, {
31
31
  getSpaceDisplayName: () => getSpaceDisplayName,
32
32
  memoizeQuery: () => memoizeQuery
33
33
  });
34
- module.exports = __toCommonJS(chunk_EG3WAZLA_exports);
35
- var import_chunk_AR3JHVCY = require("./chunk-AR3JHVCY.cjs");
34
+ module.exports = __toCommonJS(chunk_FILCZU6V_exports);
35
+ var import_chunk_K6ZO4WDJ = require("./chunk-K6ZO4WDJ.cjs");
36
36
  var import_chunk_6P2DB4QQ = require("./chunk-6P2DB4QQ.cjs");
37
37
  var import_app_framework = require("@dxos/app-framework");
38
38
  var import_echo_schema = require("@dxos/echo-schema");
@@ -114,8 +114,8 @@ var checkPendingMigration = (space) => {
114
114
  };
115
115
  var constructSpaceNode = ({ space, navigable = false, personal, namesCache, resolve }) => {
116
116
  const hasPendingMigration = checkPendingMigration(space);
117
- const collection = space.state.get() === import_echo.SpaceState.SPACE_READY && space.properties[import_chunk_AR3JHVCY.CollectionType.typename]?.target;
118
- const partials = space.state.get() === import_echo.SpaceState.SPACE_READY && collection instanceof import_chunk_AR3JHVCY.CollectionType ? getCollectionGraphNodePartials({
117
+ const collection = space.state.get() === import_echo.SpaceState.SPACE_READY && space.properties[import_chunk_K6ZO4WDJ.CollectionType.typename]?.target;
118
+ const partials = space.state.get() === import_echo.SpaceState.SPACE_READY && collection instanceof import_chunk_K6ZO4WDJ.CollectionType ? getCollectionGraphNodePartials({
119
119
  collection,
120
120
  space,
121
121
  resolve,
@@ -123,7 +123,7 @@ var constructSpaceNode = ({ space, navigable = false, personal, namesCache, reso
123
123
  }) : {};
124
124
  return {
125
125
  id: space.id,
126
- type: import_chunk_AR3JHVCY.SPACE_TYPE,
126
+ type: import_chunk_K6ZO4WDJ.SPACE_TYPE,
127
127
  cacheable: [
128
128
  "label",
129
129
  "icon",
@@ -214,10 +214,10 @@ var constructSpaceActions = ({ space, dispatch, personal, migrating }) => {
214
214
  const actions = [];
215
215
  if (hasPendingMigration) {
216
216
  actions.push({
217
- id: getId(import_chunk_AR3JHVCY.SpaceAction.Migrate._tag),
217
+ id: getId(import_chunk_K6ZO4WDJ.SpaceAction.Migrate._tag),
218
218
  type: import_plugin_graph.ACTION_GROUP_TYPE,
219
219
  data: async () => {
220
- await dispatch((0, import_app_framework.createIntent)(import_chunk_AR3JHVCY.SpaceAction.Migrate, {
220
+ await dispatch((0, import_app_framework.createIntent)(import_chunk_K6ZO4WDJ.SpaceAction.Migrate, {
221
221
  space
222
222
  }));
223
223
  },
@@ -236,10 +236,10 @@ var constructSpaceActions = ({ space, dispatch, personal, migrating }) => {
236
236
  }
237
237
  if (state === import_echo.SpaceState.SPACE_READY && !hasPendingMigration) {
238
238
  actions.push({
239
- id: getId(import_chunk_AR3JHVCY.SpaceAction.OpenCreateObject._tag),
239
+ id: getId(import_chunk_K6ZO4WDJ.SpaceAction.OpenCreateObject._tag),
240
240
  type: import_plugin_graph.ACTION_TYPE,
241
241
  data: async () => {
242
- await dispatch((0, import_app_framework.createIntent)(import_chunk_AR3JHVCY.SpaceAction.OpenCreateObject, {
242
+ await dispatch((0, import_app_framework.createIntent)(import_chunk_K6ZO4WDJ.SpaceAction.OpenCreateObject, {
243
243
  target: space
244
244
  }));
245
245
  },
@@ -255,12 +255,12 @@ var constructSpaceActions = ({ space, dispatch, personal, migrating }) => {
255
255
  testId: "spacePlugin.createObject"
256
256
  }
257
257
  }, {
258
- id: getId(import_chunk_AR3JHVCY.SpaceAction.Rename._tag),
258
+ id: getId(import_chunk_K6ZO4WDJ.SpaceAction.Rename._tag),
259
259
  type: import_plugin_graph.ACTION_TYPE,
260
260
  data: async (params) => {
261
- await dispatch((0, import_app_framework.createIntent)(import_chunk_AR3JHVCY.SpaceAction.Rename, {
261
+ await dispatch((0, import_app_framework.createIntent)(import_chunk_K6ZO4WDJ.SpaceAction.Rename, {
262
262
  space,
263
- caller: params.caller
263
+ caller: params?.caller
264
264
  }));
265
265
  },
266
266
  properties: {
@@ -289,7 +289,7 @@ var createObjectNode = ({ object, space, navigable = false, resolve }) => {
289
289
  if (Object.keys(metadata).length === 0) {
290
290
  return void 0;
291
291
  }
292
- const partials = object instanceof import_chunk_AR3JHVCY.CollectionType ? getCollectionGraphNodePartials({
292
+ const partials = object instanceof import_chunk_K6ZO4WDJ.CollectionType ? getCollectionGraphNodePartials({
293
293
  collection: object,
294
294
  space,
295
295
  resolve,
@@ -334,12 +334,12 @@ var constructObjectActions = ({ node, dispatch, navigable = false }) => {
334
334
  });
335
335
  const getId = (id) => `${id}/${(0, import_echo.fullyQualifiedId)(object)}`;
336
336
  const actions = [
337
- ...object instanceof import_chunk_AR3JHVCY.CollectionType ? [
337
+ ...object instanceof import_chunk_K6ZO4WDJ.CollectionType ? [
338
338
  {
339
- id: getId(import_chunk_AR3JHVCY.SpaceAction.OpenCreateObject._tag),
339
+ id: getId(import_chunk_K6ZO4WDJ.SpaceAction.OpenCreateObject._tag),
340
340
  type: import_plugin_graph.ACTION_TYPE,
341
341
  data: async () => {
342
- await dispatch((0, import_app_framework.createIntent)(import_chunk_AR3JHVCY.SpaceAction.OpenCreateObject, {
342
+ await dispatch((0, import_app_framework.createIntent)(import_chunk_K6ZO4WDJ.SpaceAction.OpenCreateObject, {
343
343
  target: object
344
344
  }));
345
345
  },
@@ -357,17 +357,17 @@ var constructObjectActions = ({ node, dispatch, navigable = false }) => {
357
357
  }
358
358
  ] : [],
359
359
  {
360
- id: getId(import_chunk_AR3JHVCY.SpaceAction.RenameObject._tag),
360
+ id: getId(import_chunk_K6ZO4WDJ.SpaceAction.RenameObject._tag),
361
361
  type: import_plugin_graph.ACTION_TYPE,
362
362
  data: async (params) => {
363
- await dispatch((0, import_app_framework.createIntent)(import_chunk_AR3JHVCY.SpaceAction.RenameObject, {
363
+ await dispatch((0, import_app_framework.createIntent)(import_chunk_K6ZO4WDJ.SpaceAction.RenameObject, {
364
364
  object,
365
- caller: params.caller
365
+ caller: params?.caller
366
366
  }));
367
367
  },
368
368
  properties: {
369
369
  label: [
370
- object instanceof import_chunk_AR3JHVCY.CollectionType ? "rename collection label" : "rename object label",
370
+ object instanceof import_chunk_K6ZO4WDJ.CollectionType ? "rename collection label" : "rename object label",
371
371
  {
372
372
  ns: import_chunk_6P2DB4QQ.SPACE_PLUGIN
373
373
  }
@@ -379,14 +379,14 @@ var constructObjectActions = ({ node, dispatch, navigable = false }) => {
379
379
  }
380
380
  },
381
381
  {
382
- id: getId(import_chunk_AR3JHVCY.SpaceAction.RemoveObjects._tag),
382
+ id: getId(import_chunk_K6ZO4WDJ.SpaceAction.RemoveObjects._tag),
383
383
  type: import_plugin_graph.ACTION_TYPE,
384
384
  data: async () => {
385
385
  const graph = (0, import_plugin_graph.getGraph)(node);
386
386
  const collection = graph.nodes(node, {
387
387
  relation: "inbound"
388
- }).find(({ data }) => data instanceof import_chunk_AR3JHVCY.CollectionType)?.data;
389
- await dispatch((0, import_app_framework.createIntent)(import_chunk_AR3JHVCY.SpaceAction.RemoveObjects, {
388
+ }).find(({ data }) => data instanceof import_chunk_K6ZO4WDJ.CollectionType)?.data;
389
+ await dispatch((0, import_app_framework.createIntent)(import_chunk_K6ZO4WDJ.SpaceAction.RemoveObjects, {
390
390
  objects: [
391
391
  object
392
392
  ],
@@ -395,17 +395,17 @@ var constructObjectActions = ({ node, dispatch, navigable = false }) => {
395
395
  },
396
396
  properties: {
397
397
  label: [
398
- object instanceof import_chunk_AR3JHVCY.CollectionType ? "delete collection label" : "delete object label",
398
+ object instanceof import_chunk_K6ZO4WDJ.CollectionType ? "delete collection label" : "delete object label",
399
399
  {
400
400
  ns: import_chunk_6P2DB4QQ.SPACE_PLUGIN
401
401
  }
402
402
  ],
403
403
  icon: "ph--trash--regular",
404
- keyBinding: object instanceof import_chunk_AR3JHVCY.CollectionType ? void 0 : "shift+meta+Backspace",
404
+ keyBinding: object instanceof import_chunk_K6ZO4WDJ.CollectionType ? void 0 : "shift+meta+Backspace",
405
405
  testId: "spacePlugin.deleteObject"
406
406
  }
407
407
  },
408
- ...navigable || !(object instanceof import_chunk_AR3JHVCY.CollectionType) ? [
408
+ ...navigable || !(object instanceof import_chunk_K6ZO4WDJ.CollectionType) ? [
409
409
  {
410
410
  id: getId("copy-link"),
411
411
  type: import_plugin_graph.ACTION_TYPE,
@@ -514,4 +514,4 @@ var cloneObject = async (object, resolve, newSpace) => {
514
514
  getSpaceDisplayName,
515
515
  memoizeQuery
516
516
  });
517
- //# sourceMappingURL=chunk-EG3WAZLA.cjs.map
517
+ //# sourceMappingURL=chunk-FILCZU6V.cjs.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/util.tsx"],
4
- "sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nimport { createIntent, LayoutAction, type PromiseIntentDispatcher } from '@dxos/app-framework';\nimport { EXPANDO_TYPENAME, getTypeAnnotation, getTypename, type BaseObject, type Expando } from '@dxos/echo-schema';\nimport { getSchema } from '@dxos/echo-schema';\nimport { invariant } from '@dxos/invariant';\nimport { isLiveObject, makeRef } from '@dxos/live-object';\nimport { Migrations } from '@dxos/migrations';\nimport {\n ACTION_GROUP_TYPE,\n ACTION_TYPE,\n cleanup,\n getGraph,\n memoize,\n type ActionData,\n type Graph,\n type InvokeParams,\n type Node,\n type NodeArg,\n} from '@dxos/plugin-graph';\nimport {\n Filter,\n fullyQualifiedId,\n getSpace,\n isEchoObject,\n isSpace,\n SpaceState,\n type Echo,\n type FilterSource,\n type Query,\n type QueryOptions,\n type AnyLiveObject,\n type Space,\n} from '@dxos/react-client/echo';\nimport { ATTENDABLE_PATH_SEPARATOR } from '@dxos/react-ui-attention';\n\nimport { SPACE_PLUGIN } from './meta';\nimport { CollectionType, SpaceAction, SPACE_TYPE } from './types';\n\nexport const SPACES = `${SPACE_PLUGIN}-spaces`;\nexport const COMPOSER_SPACE_LOCK = 'dxos.org/plugin/space/lock';\n// TODO(wittjosiah): Remove.\nexport const SHARED = 'shared-spaces';\n\nconst EMPTY_ARRAY: never[] = [];\n\n/**\n *\n * @param spaceOrEcho\n * @param filter\n * @param options\n * @returns\n */\nexport const memoizeQuery = <T extends BaseObject>(\n spaceOrEcho?: Space | Echo,\n filter?: FilterSource<T>,\n options?: QueryOptions,\n): T[] => {\n const key = JSON.stringify({\n space: isSpace(spaceOrEcho) ? spaceOrEcho.id : undefined,\n filter: Filter.from(filter).toProto(),\n });\n\n const query = memoize(\n () =>\n isSpace(spaceOrEcho)\n ? spaceOrEcho.db.query(filter, options)\n : (spaceOrEcho?.query(filter, options) as Query<T> | undefined),\n key,\n );\n const unsubscribe = memoize(() => query?.subscribe(), key);\n cleanup(() => unsubscribe?.());\n\n return query?.objects ?? EMPTY_ARRAY;\n};\n\n// TODO(wittjosiah): Factor out? Expose via capability?\nexport const getSpaceDisplayName = (\n space: Space,\n { personal, namesCache = {} }: { personal?: boolean; namesCache?: Record<string, string> } = {},\n): string | [string, { ns: string }] => {\n return space.state.get() === SpaceState.SPACE_READY && (space.properties.name?.length ?? 0) > 0\n ? space.properties.name\n : namesCache[space.id]\n ? namesCache[space.id]\n : personal\n ? ['personal space label', { ns: SPACE_PLUGIN }]\n : ['unnamed space label', { ns: SPACE_PLUGIN }];\n};\n\nconst getCollectionGraphNodePartials = ({\n navigable,\n collection,\n space,\n resolve,\n}: {\n navigable: boolean;\n collection: CollectionType;\n space: Space;\n resolve: (typename: string) => Record<string, any>;\n}) => {\n return {\n acceptPersistenceClass: new Set(['echo']),\n acceptPersistenceKey: new Set([space.id]),\n role: 'branch',\n onRearrangeChildren: (nextOrder: unknown[]) => {\n // Change on disk.\n collection.objects = nextOrder.filter(isEchoObject).map(makeRef);\n },\n onTransferStart: (child: Node<AnyLiveObject<any>>, index?: number) => {\n // TODO(wittjosiah): Support transfer between spaces.\n // const childSpace = getSpace(child.data);\n // if (space && childSpace && !childSpace.key.equals(space.key)) {\n // // Create clone of child and add to destination space.\n // const newObject = clone(child.data, {\n // // TODO(wittjosiah): This needs to be generalized and not hardcoded here.\n // additional: [\n // child.data.content,\n // ...(child.data.objects ?? []),\n // ...(child.data.objects ?? []).map((object: TypedObject) => object.content),\n // ],\n // });\n // space.db.add(newObject);\n // collection.objects.push(newObject);\n // } else {\n\n // Add child to destination collection.\n // TODO(dmaretskyi): Compare by id.\n if (!collection.objects.find((object) => object.target === child.data)) {\n if (typeof index !== 'undefined') {\n collection.objects.splice(index, 0, makeRef(child.data));\n } else {\n collection.objects.push(makeRef(child.data));\n }\n }\n\n // }\n },\n onTransferEnd: (child: Node<AnyLiveObject<any>>, destination: Node) => {\n // Remove child from origin collection.\n const index = collection.objects.findIndex((object) => object.target === child.data);\n if (index > -1) {\n collection.objects.splice(index, 1);\n }\n\n // TODO(wittjosiah): Support transfer between spaces.\n // const childSpace = getSpace(child.data);\n // const destinationSpace =\n // destination.data instanceof SpaceProxy ? destination.data : getSpace(destination.data);\n // if (destinationSpace && childSpace && !childSpace.key.equals(destinationSpace.key)) {\n // // Mark child as deleted in origin space.\n // childSpace.db.remove(child.data);\n // }\n },\n onCopy: async (child: Node<AnyLiveObject<any>>, index?: number) => {\n // Create clone of child and add to destination space.\n const newObject = await cloneObject(child.data, resolve, space);\n space.db.add(newObject);\n if (typeof index !== 'undefined') {\n collection.objects.splice(index, 0, makeRef(newObject));\n } else {\n collection.objects.push(makeRef(newObject));\n }\n },\n };\n};\n\nconst checkPendingMigration = (space: Space) => {\n return (\n space.state.get() === SpaceState.SPACE_REQUIRES_MIGRATION ||\n (space.state.get() === SpaceState.SPACE_READY &&\n !!Migrations.versionProperty &&\n space.properties[Migrations.versionProperty] !== Migrations.targetVersion)\n );\n};\n\nexport const constructSpaceNode = ({\n space,\n navigable = false,\n personal,\n namesCache,\n resolve,\n}: {\n space: Space;\n navigable?: boolean;\n personal?: boolean;\n namesCache?: Record<string, string>;\n resolve: (typename: string) => Record<string, any>;\n}) => {\n const hasPendingMigration = checkPendingMigration(space);\n const collection = space.state.get() === SpaceState.SPACE_READY && space.properties[CollectionType.typename]?.target;\n const partials =\n space.state.get() === SpaceState.SPACE_READY && collection instanceof CollectionType\n ? getCollectionGraphNodePartials({ collection, space, resolve, navigable })\n : {};\n\n return {\n id: space.id,\n type: SPACE_TYPE,\n cacheable: ['label', 'icon', 'role'],\n data: space,\n properties: {\n ...partials,\n label: getSpaceDisplayName(space, { personal, namesCache }),\n description: space.state.get() === SpaceState.SPACE_READY && space.properties.description,\n hue: space.state.get() === SpaceState.SPACE_READY && space.properties.hue,\n icon:\n space.state.get() === SpaceState.SPACE_READY && space.properties.icon\n ? `ph--${space.properties.icon}--regular`\n : undefined,\n disabled: !navigable || space.state.get() !== SpaceState.SPACE_READY || hasPendingMigration,\n testId: 'spacePlugin.space',\n },\n nodes: [\n {\n id: `settings${ATTENDABLE_PATH_SEPARATOR}${space.id}`,\n type: `${SPACE_PLUGIN}/settings`,\n data: null,\n properties: {\n label: ['settings panel label', { ns: SPACE_PLUGIN }],\n icon: 'ph--faders--regular',\n disposition: 'alternate-tree',\n },\n nodes: [\n {\n id: `properties-settings${ATTENDABLE_PATH_SEPARATOR}${space.id}`,\n type: `${SPACE_PLUGIN}/properties`,\n data: `${SPACE_PLUGIN}/properties`,\n properties: {\n label: ['space settings properties label', { ns: SPACE_PLUGIN }],\n icon: 'ph--sliders--regular',\n position: 'hoist',\n },\n },\n {\n id: `members-settings${ATTENDABLE_PATH_SEPARATOR}${space.id}`,\n type: `${SPACE_PLUGIN}/members`,\n data: `${SPACE_PLUGIN}/members`,\n properties: {\n label: ['members panel label', { ns: SPACE_PLUGIN }],\n icon: 'ph--users--regular',\n position: 'hoist',\n },\n },\n {\n id: `schema-settings${ATTENDABLE_PATH_SEPARATOR}${space.id}`,\n type: `${SPACE_PLUGIN}/schema`,\n data: `${SPACE_PLUGIN}/schema`,\n properties: {\n label: ['space settings schema label', { ns: SPACE_PLUGIN }],\n icon: 'ph--shapes--regular',\n },\n },\n ],\n },\n ],\n };\n};\n\nexport const constructSpaceActions = ({\n space,\n dispatch,\n personal,\n migrating,\n}: {\n space: Space;\n dispatch: PromiseIntentDispatcher;\n personal?: boolean;\n migrating?: boolean;\n}) => {\n const state = space.state.get();\n const hasPendingMigration = checkPendingMigration(space);\n const getId = (id: string) => `${id}/${space.id}`;\n const actions: NodeArg<ActionData>[] = [];\n\n if (hasPendingMigration) {\n actions.push({\n id: getId(SpaceAction.Migrate._tag),\n type: ACTION_GROUP_TYPE,\n data: async () => {\n await dispatch(createIntent(SpaceAction.Migrate, { space }));\n },\n properties: {\n label: ['migrate space label', { ns: SPACE_PLUGIN }],\n icon: 'ph--database--regular',\n disposition: 'list-item-primary',\n disabled: migrating || Migrations.running(space),\n },\n });\n }\n\n if (state === SpaceState.SPACE_READY && !hasPendingMigration) {\n actions.push(\n {\n id: getId(SpaceAction.OpenCreateObject._tag),\n type: ACTION_TYPE,\n data: async () => {\n await dispatch(createIntent(SpaceAction.OpenCreateObject, { target: space }));\n },\n properties: {\n label: ['create object in space label', { ns: SPACE_PLUGIN }],\n icon: 'ph--plus--regular',\n disposition: 'item',\n testId: 'spacePlugin.createObject',\n },\n },\n {\n id: getId(SpaceAction.Rename._tag),\n type: ACTION_TYPE,\n data: async (params: InvokeParams) => {\n await dispatch(createIntent(SpaceAction.Rename, { space, caller: params.caller }));\n },\n properties: {\n label: ['rename space label', { ns: SPACE_PLUGIN }],\n icon: 'ph--pencil-simple-line--regular',\n keyBinding: {\n macos: 'shift+F6',\n windows: 'shift+F6',\n },\n },\n },\n );\n }\n\n return actions;\n};\n\nexport const createObjectNode = ({\n object,\n space,\n navigable = false,\n resolve,\n}: {\n object: AnyLiveObject<any>;\n space: Space;\n navigable?: boolean;\n resolve: (typename: string) => Record<string, any>;\n}) => {\n const type = getTypename(object);\n if (!type) {\n return undefined;\n }\n\n const metadata = resolve(type);\n if (Object.keys(metadata).length === 0) {\n return undefined;\n }\n\n const partials =\n object instanceof CollectionType\n ? getCollectionGraphNodePartials({ collection: object, space, resolve, navigable })\n : metadata.graphProps;\n\n return {\n id: fullyQualifiedId(object),\n type,\n cacheable: ['label', 'icon', 'role'],\n data: object,\n properties: {\n ...partials,\n label: metadata.label?.(object) ||\n object.name || ['object name placeholder', { ns: type, default: 'New object' }],\n icon: metadata.icon ?? 'ph--placeholder--regular',\n testId: 'spacePlugin.object',\n persistenceClass: 'echo',\n persistenceKey: space?.id,\n },\n };\n};\n\nexport const constructObjectActions = ({\n node,\n dispatch,\n navigable = false,\n}: {\n node: Node<AnyLiveObject<any>>;\n dispatch: PromiseIntentDispatcher;\n navigable?: boolean;\n}) => {\n const object = node.data;\n const space = getSpace(object);\n invariant(space, 'Space not found');\n const getId = (id: string) => `${id}/${fullyQualifiedId(object)}`;\n const actions: NodeArg<ActionData>[] = [\n ...(object instanceof CollectionType\n ? [\n {\n id: getId(SpaceAction.OpenCreateObject._tag),\n type: ACTION_TYPE,\n data: async () => {\n await dispatch(createIntent(SpaceAction.OpenCreateObject, { target: object }));\n },\n properties: {\n label: ['create object in collection label', { ns: SPACE_PLUGIN }],\n icon: 'ph--plus--regular',\n disposition: 'list-item-primary',\n testId: 'spacePlugin.createObject',\n },\n },\n ]\n : []),\n {\n id: getId(SpaceAction.RenameObject._tag),\n type: ACTION_TYPE,\n data: async (params: InvokeParams) => {\n await dispatch(createIntent(SpaceAction.RenameObject, { object, caller: params.caller }));\n },\n properties: {\n label: [\n object instanceof CollectionType ? 'rename collection label' : 'rename object label',\n { ns: SPACE_PLUGIN },\n ],\n icon: 'ph--pencil-simple-line--regular',\n // TODO(wittjosiah): Doesn't work.\n // keyBinding: 'shift+F6',\n testId: 'spacePlugin.renameObject',\n },\n },\n {\n id: getId(SpaceAction.RemoveObjects._tag),\n type: ACTION_TYPE,\n data: async () => {\n const graph = getGraph(node);\n const collection = graph\n .nodes(node, { relation: 'inbound' })\n .find(({ data }) => data instanceof CollectionType)?.data;\n await dispatch(createIntent(SpaceAction.RemoveObjects, { objects: [object], target: collection }));\n },\n properties: {\n label: [\n object instanceof CollectionType ? 'delete collection label' : 'delete object label',\n { ns: SPACE_PLUGIN },\n ],\n icon: 'ph--trash--regular',\n keyBinding: object instanceof CollectionType ? undefined : 'shift+meta+Backspace',\n testId: 'spacePlugin.deleteObject',\n },\n },\n ...(navigable || !(object instanceof CollectionType)\n ? [\n {\n id: getId('copy-link'),\n type: ACTION_TYPE,\n data: async () => {\n const url = `${window.location.origin}/${space.id}/${fullyQualifiedId(object)}`;\n await navigator.clipboard.writeText(url);\n },\n properties: {\n label: ['copy link label', { ns: SPACE_PLUGIN }],\n icon: 'ph--link--regular',\n testId: 'spacePlugin.copyLink',\n },\n },\n ]\n : []),\n // TODO(wittjosiah): Factor out and apply to all nodes.\n {\n id: getId(LayoutAction.Expose._tag),\n type: ACTION_TYPE,\n data: async () => {\n await dispatch(createIntent(LayoutAction.Expose, { part: 'navigation', subject: fullyQualifiedId(object) }));\n },\n properties: {\n label: ['expose object label', { ns: SPACE_PLUGIN }],\n icon: 'ph--eye--regular',\n testId: 'spacePlugin.exposeObject',\n },\n },\n ];\n\n return actions;\n};\n\n/**\n * @deprecated\n */\nexport const getActiveSpace = (graph: Graph, active?: string) => {\n if (!active) {\n return;\n }\n\n const node = graph.findNode(active);\n if (!node || !isLiveObject(node.data)) {\n return;\n }\n\n return getSpace(node.data);\n};\n\n/**\n * @deprecated This is a temporary solution.\n */\nexport const getNestedObjects = async (\n object: AnyLiveObject<any>,\n resolve: (typename: string) => Record<string, any>,\n): Promise<AnyLiveObject<any>[]> => {\n const type = getTypename(object);\n if (!type) {\n return [];\n }\n\n const metadata = resolve(type);\n const loadReferences = metadata?.loadReferences;\n if (typeof loadReferences !== 'function') {\n return [];\n }\n\n const objects: AnyLiveObject<any>[] = await loadReferences(object);\n const nested = await Promise.all(objects.map((object) => getNestedObjects(object, resolve)));\n return [...objects, ...nested.flat()];\n};\n\n/**\n * @deprecated Workaround for ECHO not supporting clone.\n */\n// TODO(burdon): Remove.\nexport const cloneObject = async (\n object: Expando,\n resolve: (typename: string) => Record<string, any>,\n newSpace: Space,\n): Promise<Expando> => {\n const schema = getSchema(object);\n const typename = schema ? getTypeAnnotation(schema)?.typename ?? EXPANDO_TYPENAME : EXPANDO_TYPENAME;\n const metadata = resolve(typename);\n const serializer = metadata.serializer;\n invariant(serializer, `No serializer for type: ${typename}`);\n const content = await serializer.serialize({ object });\n return serializer.deserialize({ content, space: newSpace, newId: true });\n};\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nimport { createIntent, LayoutAction, type PromiseIntentDispatcher } from '@dxos/app-framework';\nimport { EXPANDO_TYPENAME, getTypeAnnotation, getTypename, type BaseObject, type Expando } from '@dxos/echo-schema';\nimport { getSchema } from '@dxos/echo-schema';\nimport { invariant } from '@dxos/invariant';\nimport { isLiveObject, makeRef } from '@dxos/live-object';\nimport { Migrations } from '@dxos/migrations';\nimport {\n ACTION_GROUP_TYPE,\n ACTION_TYPE,\n cleanup,\n getGraph,\n memoize,\n type ActionData,\n type Graph,\n type InvokeParams,\n type Node,\n type NodeArg,\n} from '@dxos/plugin-graph';\nimport {\n Filter,\n fullyQualifiedId,\n getSpace,\n isEchoObject,\n isSpace,\n SpaceState,\n type Echo,\n type FilterSource,\n type Query,\n type QueryOptions,\n type AnyLiveObject,\n type Space,\n} from '@dxos/react-client/echo';\nimport { ATTENDABLE_PATH_SEPARATOR } from '@dxos/react-ui-attention';\n\nimport { SPACE_PLUGIN } from './meta';\nimport { CollectionType, SpaceAction, SPACE_TYPE } from './types';\n\nexport const SPACES = `${SPACE_PLUGIN}-spaces`;\nexport const COMPOSER_SPACE_LOCK = 'dxos.org/plugin/space/lock';\n// TODO(wittjosiah): Remove.\nexport const SHARED = 'shared-spaces';\n\nconst EMPTY_ARRAY: never[] = [];\n\n/**\n *\n * @param spaceOrEcho\n * @param filter\n * @param options\n * @returns\n */\nexport const memoizeQuery = <T extends BaseObject>(\n spaceOrEcho?: Space | Echo,\n filter?: FilterSource<T>,\n options?: QueryOptions,\n): T[] => {\n const key = JSON.stringify({\n space: isSpace(spaceOrEcho) ? spaceOrEcho.id : undefined,\n filter: Filter.from(filter).toProto(),\n });\n\n const query = memoize(\n () =>\n isSpace(spaceOrEcho)\n ? spaceOrEcho.db.query(filter, options)\n : (spaceOrEcho?.query(filter, options) as Query<T> | undefined),\n key,\n );\n const unsubscribe = memoize(() => query?.subscribe(), key);\n cleanup(() => unsubscribe?.());\n\n return query?.objects ?? EMPTY_ARRAY;\n};\n\n// TODO(wittjosiah): Factor out? Expose via capability?\nexport const getSpaceDisplayName = (\n space: Space,\n { personal, namesCache = {} }: { personal?: boolean; namesCache?: Record<string, string> } = {},\n): string | [string, { ns: string }] => {\n return space.state.get() === SpaceState.SPACE_READY && (space.properties.name?.length ?? 0) > 0\n ? space.properties.name\n : namesCache[space.id]\n ? namesCache[space.id]\n : personal\n ? ['personal space label', { ns: SPACE_PLUGIN }]\n : ['unnamed space label', { ns: SPACE_PLUGIN }];\n};\n\nconst getCollectionGraphNodePartials = ({\n navigable,\n collection,\n space,\n resolve,\n}: {\n navigable: boolean;\n collection: CollectionType;\n space: Space;\n resolve: (typename: string) => Record<string, any>;\n}) => {\n return {\n acceptPersistenceClass: new Set(['echo']),\n acceptPersistenceKey: new Set([space.id]),\n role: 'branch',\n onRearrangeChildren: (nextOrder: unknown[]) => {\n // Change on disk.\n collection.objects = nextOrder.filter(isEchoObject).map(makeRef);\n },\n onTransferStart: (child: Node<AnyLiveObject<any>>, index?: number) => {\n // TODO(wittjosiah): Support transfer between spaces.\n // const childSpace = getSpace(child.data);\n // if (space && childSpace && !childSpace.key.equals(space.key)) {\n // // Create clone of child and add to destination space.\n // const newObject = clone(child.data, {\n // // TODO(wittjosiah): This needs to be generalized and not hardcoded here.\n // additional: [\n // child.data.content,\n // ...(child.data.objects ?? []),\n // ...(child.data.objects ?? []).map((object: TypedObject) => object.content),\n // ],\n // });\n // space.db.add(newObject);\n // collection.objects.push(newObject);\n // } else {\n\n // Add child to destination collection.\n // TODO(dmaretskyi): Compare by id.\n if (!collection.objects.find((object) => object.target === child.data)) {\n if (typeof index !== 'undefined') {\n collection.objects.splice(index, 0, makeRef(child.data));\n } else {\n collection.objects.push(makeRef(child.data));\n }\n }\n\n // }\n },\n onTransferEnd: (child: Node<AnyLiveObject<any>>, destination: Node) => {\n // Remove child from origin collection.\n const index = collection.objects.findIndex((object) => object.target === child.data);\n if (index > -1) {\n collection.objects.splice(index, 1);\n }\n\n // TODO(wittjosiah): Support transfer between spaces.\n // const childSpace = getSpace(child.data);\n // const destinationSpace =\n // destination.data instanceof SpaceProxy ? destination.data : getSpace(destination.data);\n // if (destinationSpace && childSpace && !childSpace.key.equals(destinationSpace.key)) {\n // // Mark child as deleted in origin space.\n // childSpace.db.remove(child.data);\n // }\n },\n onCopy: async (child: Node<AnyLiveObject<any>>, index?: number) => {\n // Create clone of child and add to destination space.\n const newObject = await cloneObject(child.data, resolve, space);\n space.db.add(newObject);\n if (typeof index !== 'undefined') {\n collection.objects.splice(index, 0, makeRef(newObject));\n } else {\n collection.objects.push(makeRef(newObject));\n }\n },\n };\n};\n\nconst checkPendingMigration = (space: Space) => {\n return (\n space.state.get() === SpaceState.SPACE_REQUIRES_MIGRATION ||\n (space.state.get() === SpaceState.SPACE_READY &&\n !!Migrations.versionProperty &&\n space.properties[Migrations.versionProperty] !== Migrations.targetVersion)\n );\n};\n\nexport const constructSpaceNode = ({\n space,\n navigable = false,\n personal,\n namesCache,\n resolve,\n}: {\n space: Space;\n navigable?: boolean;\n personal?: boolean;\n namesCache?: Record<string, string>;\n resolve: (typename: string) => Record<string, any>;\n}) => {\n const hasPendingMigration = checkPendingMigration(space);\n const collection = space.state.get() === SpaceState.SPACE_READY && space.properties[CollectionType.typename]?.target;\n const partials =\n space.state.get() === SpaceState.SPACE_READY && collection instanceof CollectionType\n ? getCollectionGraphNodePartials({ collection, space, resolve, navigable })\n : {};\n\n return {\n id: space.id,\n type: SPACE_TYPE,\n cacheable: ['label', 'icon', 'role'],\n data: space,\n properties: {\n ...partials,\n label: getSpaceDisplayName(space, { personal, namesCache }),\n description: space.state.get() === SpaceState.SPACE_READY && space.properties.description,\n hue: space.state.get() === SpaceState.SPACE_READY && space.properties.hue,\n icon:\n space.state.get() === SpaceState.SPACE_READY && space.properties.icon\n ? `ph--${space.properties.icon}--regular`\n : undefined,\n disabled: !navigable || space.state.get() !== SpaceState.SPACE_READY || hasPendingMigration,\n testId: 'spacePlugin.space',\n },\n nodes: [\n {\n id: `settings${ATTENDABLE_PATH_SEPARATOR}${space.id}`,\n type: `${SPACE_PLUGIN}/settings`,\n data: null,\n properties: {\n label: ['settings panel label', { ns: SPACE_PLUGIN }],\n icon: 'ph--faders--regular',\n disposition: 'alternate-tree',\n },\n nodes: [\n {\n id: `properties-settings${ATTENDABLE_PATH_SEPARATOR}${space.id}`,\n type: `${SPACE_PLUGIN}/properties`,\n data: `${SPACE_PLUGIN}/properties`,\n properties: {\n label: ['space settings properties label', { ns: SPACE_PLUGIN }],\n icon: 'ph--sliders--regular',\n position: 'hoist',\n },\n },\n {\n id: `members-settings${ATTENDABLE_PATH_SEPARATOR}${space.id}`,\n type: `${SPACE_PLUGIN}/members`,\n data: `${SPACE_PLUGIN}/members`,\n properties: {\n label: ['members panel label', { ns: SPACE_PLUGIN }],\n icon: 'ph--users--regular',\n position: 'hoist',\n },\n },\n {\n id: `schema-settings${ATTENDABLE_PATH_SEPARATOR}${space.id}`,\n type: `${SPACE_PLUGIN}/schema`,\n data: `${SPACE_PLUGIN}/schema`,\n properties: {\n label: ['space settings schema label', { ns: SPACE_PLUGIN }],\n icon: 'ph--shapes--regular',\n },\n },\n ],\n },\n ],\n };\n};\n\nexport const constructSpaceActions = ({\n space,\n dispatch,\n personal,\n migrating,\n}: {\n space: Space;\n dispatch: PromiseIntentDispatcher;\n personal?: boolean;\n migrating?: boolean;\n}) => {\n const state = space.state.get();\n const hasPendingMigration = checkPendingMigration(space);\n const getId = (id: string) => `${id}/${space.id}`;\n const actions: NodeArg<ActionData>[] = [];\n\n if (hasPendingMigration) {\n actions.push({\n id: getId(SpaceAction.Migrate._tag),\n type: ACTION_GROUP_TYPE,\n data: async () => {\n await dispatch(createIntent(SpaceAction.Migrate, { space }));\n },\n properties: {\n label: ['migrate space label', { ns: SPACE_PLUGIN }],\n icon: 'ph--database--regular',\n disposition: 'list-item-primary',\n disabled: migrating || Migrations.running(space),\n },\n });\n }\n\n if (state === SpaceState.SPACE_READY && !hasPendingMigration) {\n actions.push(\n {\n id: getId(SpaceAction.OpenCreateObject._tag),\n type: ACTION_TYPE,\n data: async () => {\n await dispatch(createIntent(SpaceAction.OpenCreateObject, { target: space }));\n },\n properties: {\n label: ['create object in space label', { ns: SPACE_PLUGIN }],\n icon: 'ph--plus--regular',\n disposition: 'item',\n testId: 'spacePlugin.createObject',\n },\n },\n {\n id: getId(SpaceAction.Rename._tag),\n type: ACTION_TYPE,\n data: async (params?: InvokeParams) => {\n await dispatch(createIntent(SpaceAction.Rename, { space, caller: params?.caller }));\n },\n properties: {\n label: ['rename space label', { ns: SPACE_PLUGIN }],\n icon: 'ph--pencil-simple-line--regular',\n keyBinding: {\n macos: 'shift+F6',\n windows: 'shift+F6',\n },\n },\n },\n );\n }\n\n return actions;\n};\n\nexport const createObjectNode = ({\n object,\n space,\n navigable = false,\n resolve,\n}: {\n object: AnyLiveObject<any>;\n space: Space;\n navigable?: boolean;\n resolve: (typename: string) => Record<string, any>;\n}) => {\n const type = getTypename(object);\n if (!type) {\n return undefined;\n }\n\n const metadata = resolve(type);\n if (Object.keys(metadata).length === 0) {\n return undefined;\n }\n\n const partials =\n object instanceof CollectionType\n ? getCollectionGraphNodePartials({ collection: object, space, resolve, navigable })\n : metadata.graphProps;\n\n return {\n id: fullyQualifiedId(object),\n type,\n cacheable: ['label', 'icon', 'role'],\n data: object,\n properties: {\n ...partials,\n label: metadata.label?.(object) ||\n object.name || ['object name placeholder', { ns: type, default: 'New object' }],\n icon: metadata.icon ?? 'ph--placeholder--regular',\n testId: 'spacePlugin.object',\n persistenceClass: 'echo',\n persistenceKey: space?.id,\n },\n };\n};\n\nexport const constructObjectActions = ({\n node,\n dispatch,\n navigable = false,\n}: {\n node: Node<AnyLiveObject<any>>;\n dispatch: PromiseIntentDispatcher;\n navigable?: boolean;\n}) => {\n const object = node.data;\n const space = getSpace(object);\n invariant(space, 'Space not found');\n const getId = (id: string) => `${id}/${fullyQualifiedId(object)}`;\n const actions: NodeArg<ActionData>[] = [\n ...(object instanceof CollectionType\n ? [\n {\n id: getId(SpaceAction.OpenCreateObject._tag),\n type: ACTION_TYPE,\n data: async () => {\n await dispatch(createIntent(SpaceAction.OpenCreateObject, { target: object }));\n },\n properties: {\n label: ['create object in collection label', { ns: SPACE_PLUGIN }],\n icon: 'ph--plus--regular',\n disposition: 'list-item-primary',\n testId: 'spacePlugin.createObject',\n },\n },\n ]\n : []),\n {\n id: getId(SpaceAction.RenameObject._tag),\n type: ACTION_TYPE,\n data: async (params?: InvokeParams) => {\n await dispatch(createIntent(SpaceAction.RenameObject, { object, caller: params?.caller }));\n },\n properties: {\n label: [\n object instanceof CollectionType ? 'rename collection label' : 'rename object label',\n { ns: SPACE_PLUGIN },\n ],\n icon: 'ph--pencil-simple-line--regular',\n // TODO(wittjosiah): Doesn't work.\n // keyBinding: 'shift+F6',\n testId: 'spacePlugin.renameObject',\n },\n },\n {\n id: getId(SpaceAction.RemoveObjects._tag),\n type: ACTION_TYPE,\n data: async () => {\n const graph = getGraph(node);\n const collection = graph\n .nodes(node, { relation: 'inbound' })\n .find(({ data }) => data instanceof CollectionType)?.data;\n await dispatch(createIntent(SpaceAction.RemoveObjects, { objects: [object], target: collection }));\n },\n properties: {\n label: [\n object instanceof CollectionType ? 'delete collection label' : 'delete object label',\n { ns: SPACE_PLUGIN },\n ],\n icon: 'ph--trash--regular',\n keyBinding: object instanceof CollectionType ? undefined : 'shift+meta+Backspace',\n testId: 'spacePlugin.deleteObject',\n },\n },\n ...(navigable || !(object instanceof CollectionType)\n ? [\n {\n id: getId('copy-link'),\n type: ACTION_TYPE,\n data: async () => {\n const url = `${window.location.origin}/${space.id}/${fullyQualifiedId(object)}`;\n await navigator.clipboard.writeText(url);\n },\n properties: {\n label: ['copy link label', { ns: SPACE_PLUGIN }],\n icon: 'ph--link--regular',\n testId: 'spacePlugin.copyLink',\n },\n },\n ]\n : []),\n // TODO(wittjosiah): Factor out and apply to all nodes.\n {\n id: getId(LayoutAction.Expose._tag),\n type: ACTION_TYPE,\n data: async () => {\n await dispatch(createIntent(LayoutAction.Expose, { part: 'navigation', subject: fullyQualifiedId(object) }));\n },\n properties: {\n label: ['expose object label', { ns: SPACE_PLUGIN }],\n icon: 'ph--eye--regular',\n testId: 'spacePlugin.exposeObject',\n },\n },\n ];\n\n return actions;\n};\n\n/**\n * @deprecated\n */\nexport const getActiveSpace = (graph: Graph, active?: string) => {\n if (!active) {\n return;\n }\n\n const node = graph.findNode(active);\n if (!node || !isLiveObject(node.data)) {\n return;\n }\n\n return getSpace(node.data);\n};\n\n/**\n * @deprecated This is a temporary solution.\n */\nexport const getNestedObjects = async (\n object: AnyLiveObject<any>,\n resolve: (typename: string) => Record<string, any>,\n): Promise<AnyLiveObject<any>[]> => {\n const type = getTypename(object);\n if (!type) {\n return [];\n }\n\n const metadata = resolve(type);\n const loadReferences = metadata?.loadReferences;\n if (typeof loadReferences !== 'function') {\n return [];\n }\n\n const objects: AnyLiveObject<any>[] = await loadReferences(object);\n const nested = await Promise.all(objects.map((object) => getNestedObjects(object, resolve)));\n return [...objects, ...nested.flat()];\n};\n\n/**\n * @deprecated Workaround for ECHO not supporting clone.\n */\n// TODO(burdon): Remove.\nexport const cloneObject = async (\n object: Expando,\n resolve: (typename: string) => Record<string, any>,\n newSpace: Space,\n): Promise<Expando> => {\n const schema = getSchema(object);\n const typename = schema ? getTypeAnnotation(schema)?.typename ?? EXPANDO_TYPENAME : EXPANDO_TYPENAME;\n const metadata = resolve(typename);\n const serializer = metadata.serializer;\n invariant(serializer, `No serializer for type: ${typename}`);\n const content = await serializer.serialize({ object });\n return serializer.deserialize({ content, space: newSpace, newId: true });\n};\n"],
5
+ "mappings": "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",
6
6
  "names": ["import_echo_schema", "SPACES", "SPACE_PLUGIN", "COMPOSER_SPACE_LOCK", "SHARED", "EMPTY_ARRAY", "memoizeQuery", "spaceOrEcho", "filter", "options", "key", "JSON", "stringify", "space", "isSpace", "id", "undefined", "Filter", "from", "toProto", "query", "memoize", "db", "unsubscribe", "subscribe", "cleanup", "objects", "getSpaceDisplayName", "personal", "namesCache", "state", "get", "SpaceState", "SPACE_READY", "properties", "name", "length", "ns", "getCollectionGraphNodePartials", "navigable", "collection", "resolve", "acceptPersistenceClass", "Set", "acceptPersistenceKey", "role", "onRearrangeChildren", "nextOrder", "isEchoObject", "map", "makeRef", "onTransferStart", "child", "index", "find", "object", "target", "data", "splice", "push", "onTransferEnd", "destination", "findIndex", "onCopy", "newObject", "cloneObject", "add", "checkPendingMigration", "SPACE_REQUIRES_MIGRATION", "Migrations", "versionProperty", "targetVersion", "constructSpaceNode", "hasPendingMigration", "CollectionType", "typename", "partials", "type", "SPACE_TYPE", "cacheable", "label", "description", "hue", "icon", "disabled", "testId", "nodes", "ATTENDABLE_PATH_SEPARATOR", "disposition", "position", "constructSpaceActions", "dispatch", "migrating", "getId", "actions", "SpaceAction", "Migrate", "_tag", "ACTION_GROUP_TYPE", "createIntent", "running", "OpenCreateObject", "ACTION_TYPE", "Rename", "params", "caller", "keyBinding", "macos", "windows", "createObjectNode", "getTypename", "metadata", "Object", "keys", "graphProps", "fullyQualifiedId", "default", "persistenceClass", "persistenceKey", "constructObjectActions", "node", "getSpace", "invariant", "RenameObject", "RemoveObjects", "graph", "getGraph", "relation", "url", "window", "location", "origin", "navigator", "clipboard", "writeText", "LayoutAction", "Expose", "part", "subject", "getActiveSpace", "active", "findNode", "isLiveObject", "getNestedObjects", "loadReferences", "nested", "Promise", "all", "flat", "newSpace", "schema", "getSchema", "getTypeAnnotation", "EXPANDO_TYPENAME", "serializer", "content", "serialize", "deserialize", "newId"]
7
7
  }
@@ -16,8 +16,8 @@ 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 chunk_AR3JHVCY_exports = {};
20
- __export(chunk_AR3JHVCY_exports, {
19
+ var chunk_K6ZO4WDJ_exports = {};
20
+ __export(chunk_K6ZO4WDJ_exports, {
21
21
  ChannelType: () => ChannelType,
22
22
  CollectionAction: () => CollectionAction,
23
23
  CollectionType: () => CollectionType,
@@ -33,7 +33,7 @@ __export(chunk_AR3JHVCY_exports, {
33
33
  ThreadType: () => ThreadType,
34
34
  defineObjectForm: () => defineObjectForm
35
35
  });
36
- module.exports = __toCommonJS(chunk_AR3JHVCY_exports);
36
+ module.exports = __toCommonJS(chunk_K6ZO4WDJ_exports);
37
37
  var import_chunk_6P2DB4QQ = require("./chunk-6P2DB4QQ.cjs");
38
38
  var import_effect = require("effect");
39
39
  var import_echo_schema = require("@dxos/echo-schema");
@@ -191,18 +191,6 @@ var SpaceAction;
191
191
  }) {
192
192
  }
193
193
  SpaceAction2.Rename = Rename;
194
- class AddSpace extends import_effect3.Schema.TaggedClass()(`${SPACE_ACTION}/add-space`, {
195
- input: import_effect3.Schema.Void,
196
- output: import_effect3.Schema.Void
197
- }) {
198
- }
199
- SpaceAction2.AddSpace = AddSpace;
200
- class AddSpaceMenuGroup extends import_effect3.Schema.TaggedClass()(`${SPACE_ACTION}/add-space-menu-group`, {
201
- input: import_effect3.Schema.Void,
202
- output: import_effect3.Schema.Void
203
- }) {
204
- }
205
- SpaceAction2.AddSpaceMenuGroup = AddSpaceMenuGroup;
206
194
  class OpenSettings extends import_effect3.Schema.TaggedClass()(`${SPACE_ACTION}/open-settings`, {
207
195
  input: import_effect3.Schema.Struct({
208
196
  space: import_echo.SpaceSchema
@@ -333,4 +321,4 @@ var CollectionAction;
333
321
  ThreadType,
334
322
  defineObjectForm
335
323
  });
336
- //# sourceMappingURL=chunk-AR3JHVCY.cjs.map
324
+ //# sourceMappingURL=chunk-K6ZO4WDJ.cjs.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/types/collection.ts", "../../../src/types/thread.ts", "../../../src/types/types.ts"],
4
- "sourcesContent": ["//\n// Copyright 2024 DXOS.org\n//\n\nimport { Schema } from 'effect';\n\nimport { Expando, Ref, TypedObject } from '@dxos/echo-schema';\n\nexport class CollectionType extends TypedObject({ typename: 'dxos.org/type/Collection', version: '0.1.0' })({\n name: Schema.optional(Schema.String),\n objects: Schema.mutable(Schema.Array(Ref(Expando))),\n // Key is schema typename and value is reference to a view object of the associated schema.\n // Having collection reference the views rather than vice versa ensures that the state converges to a single view per key (i.e. type).\n // This also leaves open a future where this key could be changed to allow for multiple stack views per section.\n // TODO(wittjosiah): Any way to make this more type safe?\n // TODO(wittjosiah): Should the views be separate objects or just be schemas for view data in this record?\n views: Schema.mutable(Schema.Record({ key: Schema.String, value: Ref(Expando) })),\n}) {}\n", "//\n// Copyright 2024 DXOS.org\n//\n\nimport { Schema } from 'effect';\n\nimport { Expando, Ref, TypedObject } from '@dxos/echo-schema';\nimport { DataType } from '@dxos/schema';\n\n// TODO(wittjosiah): These types were placed here rather than in @dxos/plugin-thread\n// in order to avoid a circular dependency between threads and other objects that use threads.\n\nexport const ThreadStatus = Schema.Union(\n Schema.Literal('staged'),\n Schema.Literal('active'),\n Schema.Literal('resolved'),\n);\n\nexport class ThreadType extends TypedObject({ typename: 'dxos.org/type/Thread', version: '0.1.0' })({\n name: Schema.optional(Schema.String),\n /** AM cursor-range: 'from:to'. */\n anchor: Schema.optional(Schema.String),\n status: Schema.optional(ThreadStatus),\n messages: Schema.mutable(Schema.Array(Ref(DataType.Message))),\n}) {}\n\nexport class ChannelType extends TypedObject({ typename: 'dxos.org/type/Channel', version: '0.1.0' })({\n name: Schema.optional(Schema.String),\n queue: Ref(Expando),\n}) {}\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport { Schema } from 'effect';\n\nimport { type AnyIntentChain } from '@dxos/app-framework';\nimport { type Expando, type BaseObject, type TypedObject } from '@dxos/echo-schema';\nimport { type PublicKey } from '@dxos/react-client';\n// TODO(wittjosiah): This pulls in full client.\nimport { EchoObjectSchema, ReactiveObjectSchema, type Space, SpaceSchema } from '@dxos/react-client/echo';\nimport { CancellableInvitationObservable, Invitation } from '@dxos/react-client/invitations';\nimport { type ComplexMap } from '@dxos/util';\n\nimport { CollectionType } from './collection';\nimport { SPACE_PLUGIN } from '../meta';\n\nexport const SPACE_DIRECTORY_HANDLE = 'dxos.org/plugin/space/directory';\nexport const SPACE_TYPE = 'dxos.org/type/Space';\n\nexport type ObjectViewerProps = {\n lastSeen: number;\n currentlyAttended: boolean;\n};\n\nexport type ObjectId = string;\n\nexport type PluginState = {\n /**\n * Which objects are currently being viewed by which peers.\n */\n viewersByObject: Record<ObjectId, ComplexMap<PublicKey, ObjectViewerProps>>;\n\n /**\n * Which peers are currently viewing which objects.\n */\n viewersByIdentity: ComplexMap<PublicKey, Set<ObjectId>>;\n\n /**\n * Object that was linked to directly but not found and is being awaited.\n */\n awaiting: string | undefined;\n\n /**\n * Cached space names, used when spaces are closed or loading.\n */\n spaceNames: Record<string, string>;\n\n /**\n * Which spaces have an SDK migration running currently.\n */\n // TODO(wittjosiah): Factor out to sdk. Migration running should probably be a space state.\n sdkMigrationRunning: Record<string, boolean>;\n\n /**\n * Whether or not the user can navigate to collections in the graph.\n * Determined by whether or not there is an available plugin that can render a collection.\n */\n navigableCollections: boolean;\n\n /**\n * Tracks whether setting edge replication as default has been run on spaces.\n */\n // TODO(wittjosiah): Systematic way to handle migrations of state outside of spaces.\n enabledEdgeReplication: boolean;\n};\n\nexport const SpaceSettingsSchema = Schema.mutable(\n Schema.Struct({\n /**\n * Show closed spaces.\n */\n showHidden: Schema.Boolean,\n }),\n);\n\nexport type SpaceSettingsProps = Schema.Schema.Type<typeof SpaceSettingsSchema>;\n\n// TODO(wittjosiah): Reconcile with graph export serializers.\n\nexport type SerializerMap = Record<string, TypedObjectSerializer>;\n\nexport interface TypedObjectSerializer<T extends Expando = Expando> {\n serialize(params: { object: T }): Promise<string>;\n\n /**\n * @param params.content\n * @param params.space Space to use for deserializing schema references.\n * @param params.newId Generate new ID for deserialized object.\n */\n deserialize(params: { content: string; space: Space; newId?: boolean }): Promise<T>;\n}\n\n// TODO(burdon): Move to FormatEnum or SDK.\nexport const IconAnnotationId = Symbol.for('@dxos/plugin-space/annotation/Icon');\nexport const HueAnnotationId = Symbol.for('@dxos/plugin-space/annotation/Hue');\n\nexport const SpaceForm = Schema.Struct({\n name: Schema.optional(Schema.String.annotations({ title: 'Name' })),\n icon: Schema.optional(Schema.String.annotations({ title: 'Icon', [IconAnnotationId]: true })),\n hue: Schema.optional(Schema.String.annotations({ title: 'Color', [HueAnnotationId]: true })),\n // TODO(wittjosiah): Make optional with default value.\n edgeReplication: Schema.Boolean.annotations({ title: 'Enable EDGE Replication' }),\n});\n\nexport type ObjectForm<T extends BaseObject = BaseObject> = {\n // TODO(dmaretskyi): Change to Schema.Schema.AnyNoContext\n objectSchema: TypedObject;\n formSchema?: Schema.Schema<T, any>;\n hidden?: boolean;\n getIntent: (props: T, options: { space: Space }) => AnyIntentChain;\n};\n\nexport const defineObjectForm = <T extends BaseObject>(form: ObjectForm<T>) => form;\n\nexport const SPACE_ACTION = `${SPACE_PLUGIN}/action`;\n\nexport namespace SpaceAction {\n export class OpenCreateSpace extends Schema.TaggedClass<OpenCreateSpace>()(`${SPACE_ACTION}/open-create-space`, {\n input: Schema.Void,\n output: Schema.Void,\n }) {}\n\n export class Create extends Schema.TaggedClass<Create>()(`${SPACE_ACTION}/create`, {\n input: SpaceForm,\n output: Schema.Struct({\n id: Schema.String,\n subject: Schema.Array(Schema.String),\n space: SpaceSchema,\n }),\n }) {}\n\n export class Join extends Schema.TaggedClass<Join>()(`${SPACE_ACTION}/join`, {\n input: Schema.Struct({\n invitationCode: Schema.optional(Schema.String),\n onDone: Schema.optional(Schema.Any),\n }),\n output: Schema.Void,\n }) {}\n\n export class OpenMembers extends Schema.TaggedClass<OpenMembers>()(`${SPACE_ACTION}/open-members`, {\n input: Schema.Struct({\n space: SpaceSchema,\n }),\n output: Schema.Void,\n }) {}\n\n export class Share extends Schema.TaggedClass<Share>()(`${SPACE_ACTION}/share`, {\n input: Schema.Struct({\n space: SpaceSchema,\n type: Schema.Enums(Invitation.Type),\n authMethod: Schema.Enums(Invitation.AuthMethod),\n multiUse: Schema.Boolean,\n target: Schema.optional(Schema.String),\n }),\n output: Schema.instanceOf(CancellableInvitationObservable),\n }) {}\n\n export class GetShareLink extends Schema.TaggedClass<GetShareLink>()(`${SPACE_ACTION}/get-share-link`, {\n input: Schema.Struct({\n space: SpaceSchema,\n target: Schema.optional(Schema.String),\n copyToClipboard: Schema.optional(Schema.Boolean),\n }),\n output: Schema.String,\n }) {}\n\n export class Lock extends Schema.TaggedClass<Lock>()(`${SPACE_ACTION}/lock`, {\n input: Schema.Struct({\n space: SpaceSchema,\n }),\n output: Schema.Void,\n }) {}\n\n export class Unlock extends Schema.TaggedClass<Unlock>()(`${SPACE_ACTION}/unlock`, {\n input: Schema.Struct({\n space: SpaceSchema,\n }),\n output: Schema.Void,\n }) {}\n\n export class Rename extends Schema.TaggedClass<Rename>()(`${SPACE_ACTION}/rename`, {\n input: Schema.Struct({\n space: SpaceSchema,\n caller: Schema.optional(Schema.String),\n }),\n output: Schema.Void,\n }) {}\n\n export class AddSpace extends Schema.TaggedClass<AddSpace>()(`${SPACE_ACTION}/add-space`, {\n input: Schema.Void,\n output: Schema.Void,\n }) {}\n\n export class AddSpaceMenuGroup extends Schema.TaggedClass<AddSpaceMenuGroup>()(\n `${SPACE_ACTION}/add-space-menu-group`,\n {\n input: Schema.Void,\n output: Schema.Void,\n },\n ) {}\n\n // TODO(wittjosiah): Handle scrolling to section.\n // This maybe motivates making the space settings its own deck?\n export class OpenSettings extends Schema.TaggedClass<OpenSettings>()(`${SPACE_ACTION}/open-settings`, {\n input: Schema.Struct({ space: SpaceSchema }),\n output: Schema.Void,\n }) {}\n\n export class Open extends Schema.TaggedClass<Open>()(`${SPACE_ACTION}/open`, {\n input: Schema.Struct({\n space: SpaceSchema,\n }),\n output: Schema.Void,\n }) {}\n\n export class Close extends Schema.TaggedClass<Close>()(`${SPACE_ACTION}/close`, {\n input: Schema.Struct({\n space: SpaceSchema,\n }),\n output: Schema.Void,\n }) {}\n\n export class Migrate extends Schema.TaggedClass<Migrate>()(`${SPACE_ACTION}/migrate`, {\n input: Schema.Struct({\n space: SpaceSchema,\n version: Schema.optional(Schema.String),\n }),\n output: Schema.Boolean,\n }) {}\n\n export class OpenCreateObject extends Schema.TaggedClass<OpenCreateObject>()(`${SPACE_ACTION}/open-create-object`, {\n input: Schema.Struct({\n target: Schema.Union(SpaceSchema, CollectionType),\n navigable: Schema.optional(Schema.Boolean),\n }),\n output: Schema.Void,\n }) {}\n\n export class AddObject extends Schema.TaggedClass<AddObject>()(`${SPACE_ACTION}/add-object`, {\n input: Schema.Struct({\n object: ReactiveObjectSchema,\n target: Schema.Union(SpaceSchema, CollectionType),\n hidden: Schema.optional(Schema.Boolean),\n }),\n output: Schema.Struct({\n id: Schema.String,\n subject: Schema.Array(Schema.String),\n object: EchoObjectSchema,\n }),\n }) {}\n\n export const DeletionData = Schema.Struct({\n objects: Schema.Array(EchoObjectSchema),\n parentCollection: CollectionType,\n indices: Schema.Array(Schema.Number),\n nestedObjectsList: Schema.Array(Schema.Array(EchoObjectSchema)),\n wasActive: Schema.Array(Schema.String),\n });\n\n export type DeletionData = Schema.Schema.Type<typeof DeletionData>;\n\n export class RemoveObjects extends Schema.TaggedClass<RemoveObjects>()(`${SPACE_ACTION}/remove-objects`, {\n input: Schema.Struct({\n objects: Schema.Array(EchoObjectSchema),\n target: Schema.optional(CollectionType),\n deletionData: Schema.optional(DeletionData),\n }),\n output: Schema.Void,\n }) {}\n\n export class RenameObject extends Schema.TaggedClass<RenameObject>()(`${SPACE_ACTION}/rename-object`, {\n input: Schema.Struct({\n object: EchoObjectSchema,\n caller: Schema.optional(Schema.String),\n }),\n output: Schema.Void,\n }) {}\n\n export class DuplicateObject extends Schema.TaggedClass<DuplicateObject>()(`${SPACE_ACTION}/duplicate-object`, {\n input: Schema.Struct({\n object: EchoObjectSchema,\n target: Schema.Union(SpaceSchema, CollectionType),\n }),\n output: Schema.Void,\n }) {}\n\n export class WaitForObject extends Schema.TaggedClass<WaitForObject>()(`${SPACE_ACTION}/wait-for-object`, {\n input: Schema.Struct({\n id: Schema.optional(Schema.String),\n }),\n output: Schema.Void,\n }) {}\n}\n\nexport namespace CollectionAction {\n export class Create extends Schema.TaggedClass<Create>()('dxos.org/plugin/collection/action/create', {\n input: Schema.Struct({\n name: Schema.optional(Schema.String),\n }),\n output: Schema.Struct({\n object: CollectionType,\n }),\n }) {}\n}\n"],
5
- "mappings": "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",
6
- "names": ["import_effect", "import_echo_schema", "CollectionType", "TypedObject", "typename", "version", "name", "Schema", "optional", "String", "objects", "mutable", "Array", "Ref", "Expando", "views", "Record", "key", "value", "ThreadStatus", "Union", "Literal", "ThreadType", "anchor", "status", "messages", "DataType", "Message", "ChannelType", "queue", "SPACE_DIRECTORY_HANDLE", "SPACE_TYPE", "SpaceSettingsSchema", "Struct", "showHidden", "Boolean", "IconAnnotationId", "Symbol", "for", "HueAnnotationId", "SpaceForm", "annotations", "title", "icon", "hue", "edgeReplication", "defineObjectForm", "form", "SPACE_ACTION", "SPACE_PLUGIN", "SpaceAction", "OpenCreateSpace", "TaggedClass", "input", "Void", "output", "Create", "id", "subject", "space", "SpaceSchema", "Join", "invitationCode", "onDone", "Any", "OpenMembers", "Share", "type", "Enums", "Invitation", "Type", "authMethod", "AuthMethod", "multiUse", "target", "instanceOf", "CancellableInvitationObservable", "GetShareLink", "copyToClipboard", "Lock", "Unlock", "Rename", "caller", "AddSpace", "AddSpaceMenuGroup", "OpenSettings", "Open", "Close", "Migrate", "OpenCreateObject", "navigable", "AddObject", "object", "ReactiveObjectSchema", "hidden", "EchoObjectSchema", "DeletionData", "parentCollection", "indices", "Number", "nestedObjectsList", "wasActive", "RemoveObjects", "deletionData", "RenameObject", "DuplicateObject", "WaitForObject", "CollectionAction"]
4
+ "sourcesContent": ["//\n// Copyright 2024 DXOS.org\n//\n\nimport { Schema } from 'effect';\n\nimport { Expando, Ref, TypedObject } from '@dxos/echo-schema';\n\nexport class CollectionType extends TypedObject({ typename: 'dxos.org/type/Collection', version: '0.1.0' })({\n name: Schema.optional(Schema.String),\n objects: Schema.mutable(Schema.Array(Ref(Expando))),\n // Key is schema typename and value is reference to a view object of the associated schema.\n // Having collection reference the views rather than vice versa ensures that the state converges to a single view per key (i.e. type).\n // This also leaves open a future where this key could be changed to allow for multiple stack views per section.\n // TODO(wittjosiah): Any way to make this more type safe?\n // TODO(wittjosiah): Should the views be separate objects or just be schemas for view data in this record?\n views: Schema.mutable(Schema.Record({ key: Schema.String, value: Ref(Expando) })),\n}) {}\n", "//\n// Copyright 2024 DXOS.org\n//\n\nimport { Schema } from 'effect';\n\nimport { Expando, Ref, TypedObject } from '@dxos/echo-schema';\nimport { DataType } from '@dxos/schema';\n\n// TODO(wittjosiah): These types were placed here rather than in @dxos/plugin-thread\n// in order to avoid a circular dependency between threads and other objects that use threads.\n\nexport const ThreadStatus = Schema.Union(\n Schema.Literal('staged'),\n Schema.Literal('active'),\n Schema.Literal('resolved'),\n);\n\nexport class ThreadType extends TypedObject({ typename: 'dxos.org/type/Thread', version: '0.1.0' })({\n name: Schema.optional(Schema.String),\n /** AM cursor-range: 'from:to'. */\n anchor: Schema.optional(Schema.String),\n status: Schema.optional(ThreadStatus),\n messages: Schema.mutable(Schema.Array(Ref(DataType.Message))),\n}) {}\n\nexport class ChannelType extends TypedObject({ typename: 'dxos.org/type/Channel', version: '0.1.0' })({\n name: Schema.optional(Schema.String),\n queue: Ref(Expando),\n}) {}\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport { Schema } from 'effect';\n\nimport { type AnyIntentChain } from '@dxos/app-framework';\nimport { type Expando, type BaseObject, type TypedObject } from '@dxos/echo-schema';\nimport { type PublicKey } from '@dxos/react-client';\n// TODO(wittjosiah): This pulls in full client.\nimport { EchoObjectSchema, ReactiveObjectSchema, type Space, SpaceSchema } from '@dxos/react-client/echo';\nimport { CancellableInvitationObservable, Invitation } from '@dxos/react-client/invitations';\nimport { type ComplexMap } from '@dxos/util';\n\nimport { CollectionType } from './collection';\nimport { SPACE_PLUGIN } from '../meta';\n\nexport const SPACE_DIRECTORY_HANDLE = 'dxos.org/plugin/space/directory';\nexport const SPACE_TYPE = 'dxos.org/type/Space';\n\nexport type ObjectViewerProps = {\n lastSeen: number;\n currentlyAttended: boolean;\n};\n\nexport type ObjectId = string;\n\nexport type PluginState = {\n /**\n * Which objects are currently being viewed by which peers.\n */\n viewersByObject: Record<ObjectId, ComplexMap<PublicKey, ObjectViewerProps>>;\n\n /**\n * Which peers are currently viewing which objects.\n */\n viewersByIdentity: ComplexMap<PublicKey, Set<ObjectId>>;\n\n /**\n * Object that was linked to directly but not found and is being awaited.\n */\n awaiting: string | undefined;\n\n /**\n * Cached space names, used when spaces are closed or loading.\n */\n spaceNames: Record<string, string>;\n\n /**\n * Which spaces have an SDK migration running currently.\n */\n // TODO(wittjosiah): Factor out to sdk. Migration running should probably be a space state.\n sdkMigrationRunning: Record<string, boolean>;\n\n /**\n * Whether or not the user can navigate to collections in the graph.\n * Determined by whether or not there is an available plugin that can render a collection.\n */\n navigableCollections: boolean;\n\n /**\n * Tracks whether setting edge replication as default has been run on spaces.\n */\n // TODO(wittjosiah): Systematic way to handle migrations of state outside of spaces.\n enabledEdgeReplication: boolean;\n};\n\nexport const SpaceSettingsSchema = Schema.mutable(\n Schema.Struct({\n /**\n * Show closed spaces.\n */\n showHidden: Schema.Boolean,\n }),\n);\n\nexport type SpaceSettingsProps = Schema.Schema.Type<typeof SpaceSettingsSchema>;\n\n// TODO(wittjosiah): Reconcile with graph export serializers.\n\nexport type SerializerMap = Record<string, TypedObjectSerializer>;\n\nexport interface TypedObjectSerializer<T extends Expando = Expando> {\n serialize(params: { object: T }): Promise<string>;\n\n /**\n * @param params.content\n * @param params.space Space to use for deserializing schema references.\n * @param params.newId Generate new ID for deserialized object.\n */\n deserialize(params: { content: string; space: Space; newId?: boolean }): Promise<T>;\n}\n\n// TODO(burdon): Move to FormatEnum or SDK.\nexport const IconAnnotationId = Symbol.for('@dxos/plugin-space/annotation/Icon');\nexport const HueAnnotationId = Symbol.for('@dxos/plugin-space/annotation/Hue');\n\nexport const SpaceForm = Schema.Struct({\n name: Schema.optional(Schema.String.annotations({ title: 'Name' })),\n icon: Schema.optional(Schema.String.annotations({ title: 'Icon', [IconAnnotationId]: true })),\n hue: Schema.optional(Schema.String.annotations({ title: 'Color', [HueAnnotationId]: true })),\n // TODO(wittjosiah): Make optional with default value.\n edgeReplication: Schema.Boolean.annotations({ title: 'Enable EDGE Replication' }),\n});\n\nexport type ObjectForm<T extends BaseObject = BaseObject> = {\n // TODO(dmaretskyi): Change to Schema.Schema.AnyNoContext\n objectSchema: TypedObject;\n formSchema?: Schema.Schema<T, any>;\n hidden?: boolean;\n getIntent: (props: T, options: { space: Space }) => AnyIntentChain;\n};\n\nexport const defineObjectForm = <T extends BaseObject>(form: ObjectForm<T>) => form;\n\nexport const SPACE_ACTION = `${SPACE_PLUGIN}/action`;\n\nexport namespace SpaceAction {\n export class OpenCreateSpace extends Schema.TaggedClass<OpenCreateSpace>()(`${SPACE_ACTION}/open-create-space`, {\n input: Schema.Void,\n output: Schema.Void,\n }) {}\n\n export class Create extends Schema.TaggedClass<Create>()(`${SPACE_ACTION}/create`, {\n input: SpaceForm,\n output: Schema.Struct({\n id: Schema.String,\n subject: Schema.Array(Schema.String),\n space: SpaceSchema,\n }),\n }) {}\n\n export class Join extends Schema.TaggedClass<Join>()(`${SPACE_ACTION}/join`, {\n input: Schema.Struct({\n invitationCode: Schema.optional(Schema.String),\n onDone: Schema.optional(Schema.Any),\n }),\n output: Schema.Void,\n }) {}\n\n export class OpenMembers extends Schema.TaggedClass<OpenMembers>()(`${SPACE_ACTION}/open-members`, {\n input: Schema.Struct({\n space: SpaceSchema,\n }),\n output: Schema.Void,\n }) {}\n\n export class Share extends Schema.TaggedClass<Share>()(`${SPACE_ACTION}/share`, {\n input: Schema.Struct({\n space: SpaceSchema,\n type: Schema.Enums(Invitation.Type),\n authMethod: Schema.Enums(Invitation.AuthMethod),\n multiUse: Schema.Boolean,\n target: Schema.optional(Schema.String),\n }),\n output: Schema.instanceOf(CancellableInvitationObservable),\n }) {}\n\n export class GetShareLink extends Schema.TaggedClass<GetShareLink>()(`${SPACE_ACTION}/get-share-link`, {\n input: Schema.Struct({\n space: SpaceSchema,\n target: Schema.optional(Schema.String),\n copyToClipboard: Schema.optional(Schema.Boolean),\n }),\n output: Schema.String,\n }) {}\n\n export class Lock extends Schema.TaggedClass<Lock>()(`${SPACE_ACTION}/lock`, {\n input: Schema.Struct({\n space: SpaceSchema,\n }),\n output: Schema.Void,\n }) {}\n\n export class Unlock extends Schema.TaggedClass<Unlock>()(`${SPACE_ACTION}/unlock`, {\n input: Schema.Struct({\n space: SpaceSchema,\n }),\n output: Schema.Void,\n }) {}\n\n export class Rename extends Schema.TaggedClass<Rename>()(`${SPACE_ACTION}/rename`, {\n input: Schema.Struct({\n space: SpaceSchema,\n caller: Schema.optional(Schema.String),\n }),\n output: Schema.Void,\n }) {}\n\n // TODO(wittjosiah): Handle scrolling to section.\n // This maybe motivates making the space settings its own deck?\n export class OpenSettings extends Schema.TaggedClass<OpenSettings>()(`${SPACE_ACTION}/open-settings`, {\n input: Schema.Struct({ space: SpaceSchema }),\n output: Schema.Void,\n }) {}\n\n export class Open extends Schema.TaggedClass<Open>()(`${SPACE_ACTION}/open`, {\n input: Schema.Struct({\n space: SpaceSchema,\n }),\n output: Schema.Void,\n }) {}\n\n export class Close extends Schema.TaggedClass<Close>()(`${SPACE_ACTION}/close`, {\n input: Schema.Struct({\n space: SpaceSchema,\n }),\n output: Schema.Void,\n }) {}\n\n export class Migrate extends Schema.TaggedClass<Migrate>()(`${SPACE_ACTION}/migrate`, {\n input: Schema.Struct({\n space: SpaceSchema,\n version: Schema.optional(Schema.String),\n }),\n output: Schema.Boolean,\n }) {}\n\n export class OpenCreateObject extends Schema.TaggedClass<OpenCreateObject>()(`${SPACE_ACTION}/open-create-object`, {\n input: Schema.Struct({\n target: Schema.Union(SpaceSchema, CollectionType),\n navigable: Schema.optional(Schema.Boolean),\n }),\n output: Schema.Void,\n }) {}\n\n export class AddObject extends Schema.TaggedClass<AddObject>()(`${SPACE_ACTION}/add-object`, {\n input: Schema.Struct({\n object: ReactiveObjectSchema,\n target: Schema.Union(SpaceSchema, CollectionType),\n hidden: Schema.optional(Schema.Boolean),\n }),\n output: Schema.Struct({\n id: Schema.String,\n subject: Schema.Array(Schema.String),\n object: EchoObjectSchema,\n }),\n }) {}\n\n export const DeletionData = Schema.Struct({\n objects: Schema.Array(EchoObjectSchema),\n parentCollection: CollectionType,\n indices: Schema.Array(Schema.Number),\n nestedObjectsList: Schema.Array(Schema.Array(EchoObjectSchema)),\n wasActive: Schema.Array(Schema.String),\n });\n\n export type DeletionData = Schema.Schema.Type<typeof DeletionData>;\n\n export class RemoveObjects extends Schema.TaggedClass<RemoveObjects>()(`${SPACE_ACTION}/remove-objects`, {\n input: Schema.Struct({\n objects: Schema.Array(EchoObjectSchema),\n target: Schema.optional(CollectionType),\n deletionData: Schema.optional(DeletionData),\n }),\n output: Schema.Void,\n }) {}\n\n export class RenameObject extends Schema.TaggedClass<RenameObject>()(`${SPACE_ACTION}/rename-object`, {\n input: Schema.Struct({\n object: EchoObjectSchema,\n caller: Schema.optional(Schema.String),\n }),\n output: Schema.Void,\n }) {}\n\n export class DuplicateObject extends Schema.TaggedClass<DuplicateObject>()(`${SPACE_ACTION}/duplicate-object`, {\n input: Schema.Struct({\n object: EchoObjectSchema,\n target: Schema.Union(SpaceSchema, CollectionType),\n }),\n output: Schema.Void,\n }) {}\n\n export class WaitForObject extends Schema.TaggedClass<WaitForObject>()(`${SPACE_ACTION}/wait-for-object`, {\n input: Schema.Struct({\n id: Schema.optional(Schema.String),\n }),\n output: Schema.Void,\n }) {}\n}\n\nexport namespace CollectionAction {\n export class Create extends Schema.TaggedClass<Create>()('dxos.org/plugin/collection/action/create', {\n input: Schema.Struct({\n name: Schema.optional(Schema.String),\n }),\n output: Schema.Struct({\n object: CollectionType,\n }),\n }) {}\n}\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAIA,oBAAuB;AAEvB,yBAA0C;ACF1C,IAAAA,iBAAuB;AAEvB,IAAAC,sBAA0C;AAC1C,oBAAyB;ACHzB,IAAAD,iBAAuB;AAMvB,kBAAgF;AAChF,yBAA4D;AFHrD,IAAME,iBAAN,kBAA6BC,gCAAY;EAAEC,UAAU;EAA4BC,SAAS;AAAQ,CAAA,EAAG;EAC1GC,MAAMC,qBAAOC,SAASD,qBAAOE,MAAM;EACnCC,SAASH,qBAAOI,QAAQJ,qBAAOK,UAAMC,wBAAIC,0BAAAA,CAAAA,CAAAA;;;;;;EAMzCC,OAAOR,qBAAOI,QAAQJ,qBAAOS,OAAO;IAAEC,KAAKV,qBAAOE;IAAQS,WAAOL,wBAAIC,0BAAAA;EAAS,CAAA,CAAA;AAChF,CAAA,EAAA;AAAI;ACLG,IAAMK,eAAeZ,eAAAA,OAAOa,MACjCb,eAAAA,OAAOc,QAAQ,QAAA,GACfd,eAAAA,OAAOc,QAAQ,QAAA,GACfd,eAAAA,OAAOc,QAAQ,UAAA,CAAA;AAGV,IAAMC,aAAN,kBAAyBnB,oBAAAA,aAAY;EAAEC,UAAU;EAAwBC,SAAS;AAAQ,CAAA,EAAG;EAClGC,MAAMC,eAAAA,OAAOC,SAASD,eAAAA,OAAOE,MAAM;;EAEnCc,QAAQhB,eAAAA,OAAOC,SAASD,eAAAA,OAAOE,MAAM;EACrCe,QAAQjB,eAAAA,OAAOC,SAASW,YAAAA;EACxBM,UAAUlB,eAAAA,OAAOI,QAAQJ,eAAAA,OAAOK,UAAMC,oBAAAA,KAAIa,uBAASC,OAAO,CAAA,CAAA;AAC5D,CAAA,EAAA;AAAI;AAEG,IAAMC,cAAN,kBAA0BzB,oBAAAA,aAAY;EAAEC,UAAU;EAAyBC,SAAS;AAAQ,CAAA,EAAG;EACpGC,MAAMC,eAAAA,OAAOC,SAASD,eAAAA,OAAOE,MAAM;EACnCoB,WAAOhB,oBAAAA,KAAIC,oBAAAA,OAAAA;AACb,CAAA,EAAA;AAAI;ACZG,IAAMgB,yBAAyB;AAC/B,IAAMC,aAAa;AAiDnB,IAAMC,sBAAsBzB,eAAAA,OAAOI,QACxCJ,eAAAA,OAAO0B,OAAO;;;;EAIZC,YAAY3B,eAAAA,OAAO4B;AACrB,CAAA,CAAA;AAqBK,IAAMC,mBAAmBC,OAAOC,IAAI,oCAAA;AACpC,IAAMC,kBAAkBF,OAAOC,IAAI,mCAAA;AAEnC,IAAME,YAAYjC,eAAAA,OAAO0B,OAAO;EACrC3B,MAAMC,eAAAA,OAAOC,SAASD,eAAAA,OAAOE,OAAOgC,YAAY;IAAEC,OAAO;EAAO,CAAA,CAAA;EAChEC,MAAMpC,eAAAA,OAAOC,SAASD,eAAAA,OAAOE,OAAOgC,YAAY;IAAEC,OAAO;IAAQ,CAACN,gBAAAA,GAAmB;EAAK,CAAA,CAAA;EAC1FQ,KAAKrC,eAAAA,OAAOC,SAASD,eAAAA,OAAOE,OAAOgC,YAAY;IAAEC,OAAO;IAAS,CAACH,eAAAA,GAAkB;EAAK,CAAA,CAAA;;EAEzFM,iBAAiBtC,eAAAA,OAAO4B,QAAQM,YAAY;IAAEC,OAAO;EAA0B,CAAA;AACjF,CAAA;AAUO,IAAMI,mBAAmB,CAAuBC,SAAwBA;AAExE,IAAMC,eAAe,GAAGC,kCAAAA;;UAEdC,cAAAA;EACR,MAAMC,wBAAwB5C,eAAAA,OAAO6C,YAAW,EAAoB,GAAGJ,YAAAA,sBAAkC;IAC9GK,OAAO9C,eAAAA,OAAO+C;IACdC,QAAQhD,eAAAA,OAAO+C;EACjB,CAAA,EAAA;EAAI;eAHSH,kBAAAA;EAKN,MAAMK,eAAejD,eAAAA,OAAO6C,YAAW,EAAW,GAAGJ,YAAAA,WAAuB;IACjFK,OAAOb;IACPe,QAAQhD,eAAAA,OAAO0B,OAAO;MACpBwB,IAAIlD,eAAAA,OAAOE;MACXiD,SAASnD,eAAAA,OAAOK,MAAML,eAAAA,OAAOE,MAAM;MACnCkD,OAAOC;IACT,CAAA;EACF,CAAA,EAAA;EAAI;eAPSJ,SAAAA;EASN,MAAMK,aAAatD,eAAAA,OAAO6C,YAAW,EAAS,GAAGJ,YAAAA,SAAqB;IAC3EK,OAAO9C,eAAAA,OAAO0B,OAAO;MACnB6B,gBAAgBvD,eAAAA,OAAOC,SAASD,eAAAA,OAAOE,MAAM;MAC7CsD,QAAQxD,eAAAA,OAAOC,SAASD,eAAAA,OAAOyD,GAAG;IACpC,CAAA;IACAT,QAAQhD,eAAAA,OAAO+C;EACjB,CAAA,EAAA;EAAI;eANSO,OAAAA;EAQN,MAAMI,oBAAoB1D,eAAAA,OAAO6C,YAAW,EAAgB,GAAGJ,YAAAA,iBAA6B;IACjGK,OAAO9C,eAAAA,OAAO0B,OAAO;MACnB0B,OAAOC;IACT,CAAA;IACAL,QAAQhD,eAAAA,OAAO+C;EACjB,CAAA,EAAA;EAAI;eALSW,cAAAA;EAON,MAAMC,cAAc3D,eAAAA,OAAO6C,YAAW,EAAU,GAAGJ,YAAAA,UAAsB;IAC9EK,OAAO9C,eAAAA,OAAO0B,OAAO;MACnB0B,OAAOC;MACPO,MAAM5D,eAAAA,OAAO6D,MAAMC,8BAAWC,IAAI;MAClCC,YAAYhE,eAAAA,OAAO6D,MAAMC,8BAAWG,UAAU;MAC9CC,UAAUlE,eAAAA,OAAO4B;MACjBuC,QAAQnE,eAAAA,OAAOC,SAASD,eAAAA,OAAOE,MAAM;IACvC,CAAA;IACA8C,QAAQhD,eAAAA,OAAOoE,WAAWC,kDAAAA;EAC5B,CAAA,EAAA;EAAI;eATSV,QAAAA;EAWN,MAAMW,qBAAqBtE,eAAAA,OAAO6C,YAAW,EAAiB,GAAGJ,YAAAA,mBAA+B;IACrGK,OAAO9C,eAAAA,OAAO0B,OAAO;MACnB0B,OAAOC;MACPc,QAAQnE,eAAAA,OAAOC,SAASD,eAAAA,OAAOE,MAAM;MACrCqE,iBAAiBvE,eAAAA,OAAOC,SAASD,eAAAA,OAAO4B,OAAO;IACjD,CAAA;IACAoB,QAAQhD,eAAAA,OAAOE;EACjB,CAAA,EAAA;EAAI;eAPSoE,eAAAA;EASN,MAAME,aAAaxE,eAAAA,OAAO6C,YAAW,EAAS,GAAGJ,YAAAA,SAAqB;IAC3EK,OAAO9C,eAAAA,OAAO0B,OAAO;MACnB0B,OAAOC;IACT,CAAA;IACAL,QAAQhD,eAAAA,OAAO+C;EACjB,CAAA,EAAA;EAAI;eALSyB,OAAAA;EAON,MAAMC,eAAezE,eAAAA,OAAO6C,YAAW,EAAW,GAAGJ,YAAAA,WAAuB;IACjFK,OAAO9C,eAAAA,OAAO0B,OAAO;MACnB0B,OAAOC;IACT,CAAA;IACAL,QAAQhD,eAAAA,OAAO+C;EACjB,CAAA,EAAA;EAAI;eALS0B,SAAAA;EAON,MAAMC,eAAe1E,eAAAA,OAAO6C,YAAW,EAAW,GAAGJ,YAAAA,WAAuB;IACjFK,OAAO9C,eAAAA,OAAO0B,OAAO;MACnB0B,OAAOC;MACPsB,QAAQ3E,eAAAA,OAAOC,SAASD,eAAAA,OAAOE,MAAM;IACvC,CAAA;IACA8C,QAAQhD,eAAAA,OAAO+C;EACjB,CAAA,EAAA;EAAI;eANS2B,SAAAA;EAUN,MAAME,qBAAqB5E,eAAAA,OAAO6C,YAAW,EAAiB,GAAGJ,YAAAA,kBAA8B;IACpGK,OAAO9C,eAAAA,OAAO0B,OAAO;MAAE0B,OAAOC;IAAY,CAAA;IAC1CL,QAAQhD,eAAAA,OAAO+C;EACjB,CAAA,EAAA;EAAI;eAHS6B,eAAAA;EAKN,MAAMC,aAAa7E,eAAAA,OAAO6C,YAAW,EAAS,GAAGJ,YAAAA,SAAqB;IAC3EK,OAAO9C,eAAAA,OAAO0B,OAAO;MACnB0B,OAAOC;IACT,CAAA;IACAL,QAAQhD,eAAAA,OAAO+C;EACjB,CAAA,EAAA;EAAI;eALS8B,OAAAA;EAON,MAAMC,cAAc9E,eAAAA,OAAO6C,YAAW,EAAU,GAAGJ,YAAAA,UAAsB;IAC9EK,OAAO9C,eAAAA,OAAO0B,OAAO;MACnB0B,OAAOC;IACT,CAAA;IACAL,QAAQhD,eAAAA,OAAO+C;EACjB,CAAA,EAAA;EAAI;eALS+B,QAAAA;EAON,MAAMC,gBAAgB/E,eAAAA,OAAO6C,YAAW,EAAY,GAAGJ,YAAAA,YAAwB;IACpFK,OAAO9C,eAAAA,OAAO0B,OAAO;MACnB0B,OAAOC;MACPvD,SAASE,eAAAA,OAAOC,SAASD,eAAAA,OAAOE,MAAM;IACxC,CAAA;IACA8C,QAAQhD,eAAAA,OAAO4B;EACjB,CAAA,EAAA;EAAI;eANSmD,UAAAA;EAQN,MAAMC,yBAAyBhF,eAAAA,OAAO6C,YAAW,EAAqB,GAAGJ,YAAAA,uBAAmC;IACjHK,OAAO9C,eAAAA,OAAO0B,OAAO;MACnByC,QAAQnE,eAAAA,OAAOa,MAAMwC,yBAAa1D,cAAAA;MAClCsF,WAAWjF,eAAAA,OAAOC,SAASD,eAAAA,OAAO4B,OAAO;IAC3C,CAAA;IACAoB,QAAQhD,eAAAA,OAAO+C;EACjB,CAAA,EAAA;EAAI;eANSiC,mBAAAA;EAQN,MAAME,kBAAkBlF,eAAAA,OAAO6C,YAAW,EAAc,GAAGJ,YAAAA,eAA2B;IAC3FK,OAAO9C,eAAAA,OAAO0B,OAAO;MACnByD,QAAQC;MACRjB,QAAQnE,eAAAA,OAAOa,MAAMwC,yBAAa1D,cAAAA;MAClC0F,QAAQrF,eAAAA,OAAOC,SAASD,eAAAA,OAAO4B,OAAO;IACxC,CAAA;IACAoB,QAAQhD,eAAAA,OAAO0B,OAAO;MACpBwB,IAAIlD,eAAAA,OAAOE;MACXiD,SAASnD,eAAAA,OAAOK,MAAML,eAAAA,OAAOE,MAAM;MACnCiF,QAAQG;IACV,CAAA;EACF,CAAA,EAAA;EAAI;eAXSJ,YAAAA;eAaAK,eAAevF,eAAAA,OAAO0B,OAAO;IACxCvB,SAASH,eAAAA,OAAOK,MAAMiF,4BAAAA;IACtBE,kBAAkB7F;IAClB8F,SAASzF,eAAAA,OAAOK,MAAML,eAAAA,OAAO0F,MAAM;IACnCC,mBAAmB3F,eAAAA,OAAOK,MAAML,eAAAA,OAAOK,MAAMiF,4BAAAA,CAAAA;IAC7CM,WAAW5F,eAAAA,OAAOK,MAAML,eAAAA,OAAOE,MAAM;EACvC,CAAA;EAIO,MAAM2F,sBAAsB7F,eAAAA,OAAO6C,YAAW,EAAkB,GAAGJ,YAAAA,mBAA+B;IACvGK,OAAO9C,eAAAA,OAAO0B,OAAO;MACnBvB,SAASH,eAAAA,OAAOK,MAAMiF,4BAAAA;MACtBnB,QAAQnE,eAAAA,OAAOC,SAASN,cAAAA;MACxBmG,cAAc9F,eAAAA,OAAOC,SAAQ0C,aAAC4C,YAAAA;IAChC,CAAA;IACAvC,QAAQhD,eAAAA,OAAO+C;EACjB,CAAA,EAAA;EAAI;eAPS8C,gBAAAA;EASN,MAAME,qBAAqB/F,eAAAA,OAAO6C,YAAW,EAAiB,GAAGJ,YAAAA,kBAA8B;IACpGK,OAAO9C,eAAAA,OAAO0B,OAAO;MACnByD,QAAQG;MACRX,QAAQ3E,eAAAA,OAAOC,SAASD,eAAAA,OAAOE,MAAM;IACvC,CAAA;IACA8C,QAAQhD,eAAAA,OAAO+C;EACjB,CAAA,EAAA;EAAI;eANSgD,eAAAA;EAQN,MAAMC,wBAAwBhG,eAAAA,OAAO6C,YAAW,EAAoB,GAAGJ,YAAAA,qBAAiC;IAC7GK,OAAO9C,eAAAA,OAAO0B,OAAO;MACnByD,QAAQG;MACRnB,QAAQnE,eAAAA,OAAOa,MAAMwC,yBAAa1D,cAAAA;IACpC,CAAA;IACAqD,QAAQhD,eAAAA,OAAO+C;EACjB,CAAA,EAAA;EAAI;eANSiD,kBAAAA;EAQN,MAAMC,sBAAsBjG,eAAAA,OAAO6C,YAAW,EAAkB,GAAGJ,YAAAA,oBAAgC;IACxGK,OAAO9C,eAAAA,OAAO0B,OAAO;MACnBwB,IAAIlD,eAAAA,OAAOC,SAASD,eAAAA,OAAOE,MAAM;IACnC,CAAA;IACA8C,QAAQhD,eAAAA,OAAO+C;EACjB,CAAA,EAAA;EAAI;eALSkD,gBAAAA;AAMf,GAnKiBtD,gBAAAA,cAAAA,CAAAA,EAAAA;;UAqKAuD,mBAAAA;EACR,MAAMjD,eAAejD,eAAAA,OAAO6C,YAAW,EAAW,4CAA4C;IACnGC,OAAO9C,eAAAA,OAAO0B,OAAO;MACnB3B,MAAMC,eAAAA,OAAOC,SAASD,eAAAA,OAAOE,MAAM;IACrC,CAAA;IACA8C,QAAQhD,eAAAA,OAAO0B,OAAO;MACpByD,QAAQxF;IACV,CAAA;EACF,CAAA,EAAA;EAAI;oBAPSsD,SAAAA;AAQf,GATiBiD,qBAAAA,mBAAAA,CAAAA,EAAAA;",
6
+ "names": ["import_effect", "import_echo_schema", "CollectionType", "TypedObject", "typename", "version", "name", "Schema", "optional", "String", "objects", "mutable", "Array", "Ref", "Expando", "views", "Record", "key", "value", "ThreadStatus", "Union", "Literal", "ThreadType", "anchor", "status", "messages", "DataType", "Message", "ChannelType", "queue", "SPACE_DIRECTORY_HANDLE", "SPACE_TYPE", "SpaceSettingsSchema", "Struct", "showHidden", "Boolean", "IconAnnotationId", "Symbol", "for", "HueAnnotationId", "SpaceForm", "annotations", "title", "icon", "hue", "edgeReplication", "defineObjectForm", "form", "SPACE_ACTION", "SPACE_PLUGIN", "SpaceAction", "OpenCreateSpace", "TaggedClass", "input", "Void", "output", "Create", "id", "subject", "space", "SpaceSchema", "Join", "invitationCode", "onDone", "Any", "OpenMembers", "Share", "type", "Enums", "Invitation", "Type", "authMethod", "AuthMethod", "multiUse", "target", "instanceOf", "CancellableInvitationObservable", "GetShareLink", "copyToClipboard", "Lock", "Unlock", "Rename", "caller", "OpenSettings", "Open", "Close", "Migrate", "OpenCreateObject", "navigable", "AddObject", "object", "ReactiveObjectSchema", "hidden", "EchoObjectSchema", "DeletionData", "parentCollection", "indices", "Number", "nestedObjectsList", "wasActive", "RemoveObjects", "deletionData", "RenameObject", "DuplicateObject", "WaitForObject", "CollectionAction"]
7
7
  }