@dxos/plugin-space 0.8.3 → 0.8.4-main.f9ba587

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 (174) hide show
  1. package/dist/lib/browser/{app-graph-builder-M2RH72VL.mjs → app-graph-builder-PMDF6PJV.mjs} +9 -9
  2. package/dist/lib/browser/{app-graph-builder-M2RH72VL.mjs.map → app-graph-builder-PMDF6PJV.mjs.map} +3 -3
  3. package/dist/lib/browser/{app-graph-serializer-F7ISRRBV.mjs → app-graph-serializer-UKYMBX4O.mjs} +13 -13
  4. package/dist/lib/browser/app-graph-serializer-UKYMBX4O.mjs.map +7 -0
  5. package/dist/lib/browser/{chunk-4ZKSFDXM.mjs → chunk-6VLSHG4A.mjs} +10 -10
  6. package/dist/lib/browser/chunk-6VLSHG4A.mjs.map +7 -0
  7. package/dist/lib/browser/{chunk-YMCZR6EZ.mjs → chunk-C7KGJTAL.mjs} +3 -3
  8. package/dist/lib/browser/{chunk-PTKYMZWO.mjs → chunk-FBCGT5YY.mjs} +2 -2
  9. package/dist/lib/browser/{chunk-NFUKCRGE.mjs → chunk-GVTXQCIW.mjs} +53 -54
  10. package/dist/lib/browser/chunk-GVTXQCIW.mjs.map +7 -0
  11. package/dist/lib/browser/{chunk-TW7O2EPP.mjs → chunk-S6NY637J.mjs} +3 -3
  12. package/dist/lib/browser/{chunk-7Y4M7GXO.mjs → chunk-VLBRSGJ2.mjs} +4 -4
  13. package/dist/lib/browser/{chunk-V24VASAJ.mjs → chunk-WBSEOLEM.mjs} +6 -6
  14. package/dist/lib/browser/chunk-WBSEOLEM.mjs.map +7 -0
  15. package/dist/lib/browser/{chunk-BXNL6SDI.mjs → chunk-XXIPJLJF.mjs} +3 -3
  16. package/dist/lib/browser/{identity-created-PI7TKANR.mjs → identity-created-23XJJV2N.mjs} +4 -4
  17. package/dist/lib/browser/identity-created-23XJJV2N.mjs.map +7 -0
  18. package/dist/lib/browser/index.mjs +13 -13
  19. package/dist/lib/browser/index.mjs.map +3 -3
  20. package/dist/lib/browser/{intent-resolver-RWU6ZE4H.mjs → intent-resolver-WK5WYFH3.mjs} +15 -15
  21. package/dist/lib/browser/intent-resolver-WK5WYFH3.mjs.map +7 -0
  22. package/dist/lib/browser/meta.json +1 -1
  23. package/dist/lib/browser/{react-root-QIKHSNT2.mjs → react-root-7S6FIC5G.mjs} +8 -8
  24. package/dist/lib/browser/{react-surface-W56UD53I.mjs → react-surface-6C3YJNDK.mjs} +12 -12
  25. package/dist/lib/browser/react-surface-6C3YJNDK.mjs.map +7 -0
  26. package/dist/lib/browser/{schema-defs-WREJNMIC.mjs → schema-defs-K3B3OAH4.mjs} +4 -4
  27. package/dist/lib/browser/{schema-tools-ILTVSSS3.mjs → schema-tools-BNP4JTD7.mjs} +3 -3
  28. package/dist/lib/browser/{settings-K54STC5A.mjs → settings-XNWYRWNM.mjs} +4 -4
  29. package/dist/lib/browser/{spaces-ready-3PDRDHPC.mjs → spaces-ready-K7NSNBHM.mjs} +7 -7
  30. package/dist/lib/browser/{state-HRZ4VRXU.mjs → state-522XTUR4.mjs} +4 -4
  31. package/dist/lib/browser/types/index.mjs +2 -2
  32. package/dist/lib/node-esm/{app-graph-builder-BCHVZ4OM.mjs → app-graph-builder-TO72W6MI.mjs} +9 -9
  33. package/dist/lib/node-esm/{app-graph-builder-BCHVZ4OM.mjs.map → app-graph-builder-TO72W6MI.mjs.map} +3 -3
  34. package/dist/lib/node-esm/{app-graph-serializer-TXRGGNP2.mjs → app-graph-serializer-LA3IZDXJ.mjs} +13 -13
  35. package/dist/lib/node-esm/app-graph-serializer-LA3IZDXJ.mjs.map +7 -0
  36. package/dist/lib/node-esm/{chunk-D4QMPPS7.mjs → chunk-2THX6G4C.mjs} +3 -3
  37. package/dist/lib/node-esm/{chunk-3CP67AYY.mjs → chunk-72QMMRKC.mjs} +3 -3
  38. package/dist/lib/node-esm/{chunk-BSLREHIX.mjs → chunk-AT7LGFER.mjs} +3 -3
  39. package/dist/lib/node-esm/{chunk-HO7AIKQS.mjs → chunk-HJJHLWKY.mjs} +6 -6
  40. package/dist/lib/node-esm/chunk-HJJHLWKY.mjs.map +7 -0
  41. package/dist/lib/node-esm/{chunk-MSWEFAPD.mjs → chunk-HWNG4MEU.mjs} +2 -2
  42. package/dist/lib/node-esm/{chunk-LA6AVVH6.mjs → chunk-OUBADVJE.mjs} +53 -54
  43. package/dist/lib/node-esm/chunk-OUBADVJE.mjs.map +7 -0
  44. package/dist/lib/node-esm/{chunk-GH2FGJXH.mjs → chunk-SSLBYZEY.mjs} +4 -4
  45. package/dist/lib/node-esm/{chunk-JBQKU4K5.mjs → chunk-SXD6T2N4.mjs} +10 -10
  46. package/dist/lib/node-esm/chunk-SXD6T2N4.mjs.map +7 -0
  47. package/dist/lib/node-esm/{identity-created-35CTAQWI.mjs → identity-created-IJQO6GCR.mjs} +4 -4
  48. package/dist/lib/node-esm/identity-created-IJQO6GCR.mjs.map +7 -0
  49. package/dist/lib/node-esm/index.mjs +13 -13
  50. package/dist/lib/node-esm/index.mjs.map +3 -3
  51. package/dist/lib/node-esm/{intent-resolver-JO6L2VXC.mjs → intent-resolver-HSR27ME4.mjs} +15 -15
  52. package/dist/lib/node-esm/intent-resolver-HSR27ME4.mjs.map +7 -0
  53. package/dist/lib/node-esm/meta.json +1 -1
  54. package/dist/lib/node-esm/{react-root-YFGL3B4J.mjs → react-root-HUK3ANLV.mjs} +8 -8
  55. package/dist/lib/node-esm/{react-surface-CVAPDLEZ.mjs → react-surface-AGAWX7DD.mjs} +12 -12
  56. package/dist/lib/node-esm/react-surface-AGAWX7DD.mjs.map +7 -0
  57. package/dist/lib/node-esm/{schema-defs-4MEJETVX.mjs → schema-defs-4MCDG4DV.mjs} +4 -4
  58. package/dist/lib/node-esm/{schema-tools-SRLCRZ3B.mjs → schema-tools-KWW5PTML.mjs} +3 -3
  59. package/dist/lib/node-esm/{settings-TD76LTQS.mjs → settings-YGKHGFPH.mjs} +4 -4
  60. package/dist/lib/node-esm/{spaces-ready-FJMGPAVV.mjs → spaces-ready-UM2P3DCR.mjs} +7 -7
  61. package/dist/lib/node-esm/{state-XQNDCN37.mjs → state-C4IOXPZP.mjs} +4 -4
  62. package/dist/lib/node-esm/types/index.mjs +2 -2
  63. package/dist/types/src/capabilities/app-graph-builder.d.ts.map +1 -1
  64. package/dist/types/src/capabilities/app-graph-serializer.d.ts.map +1 -1
  65. package/dist/types/src/capabilities/identity-created.d.ts.map +1 -1
  66. package/dist/types/src/components/CreateDialog/CreateObjectDialog.stories.d.ts +1 -1
  67. package/dist/types/src/components/CreateDialog/CreateObjectDialog.stories.d.ts.map +1 -1
  68. package/dist/types/src/components/MembersContainer.d.ts.map +1 -1
  69. package/dist/types/src/components/MembersContainer.stories.d.ts +1 -1
  70. package/dist/types/src/components/MembersContainer.stories.d.ts.map +1 -1
  71. package/dist/types/src/components/SpacePresence.stories.d.ts +1 -1
  72. package/dist/types/src/components/SpacePresence.stories.d.ts.map +1 -1
  73. package/dist/types/src/components/SpaceSettings/SpaceSettingsContainer.stories.d.ts +1 -1
  74. package/dist/types/src/components/SpaceSettings/SpaceSettingsContainer.stories.d.ts.map +1 -1
  75. package/dist/types/src/components/SyncStatus/SyncStatus.stories.d.ts +1 -1
  76. package/dist/types/src/components/SyncStatus/SyncStatus.stories.d.ts.map +1 -1
  77. package/dist/types/src/translations.d.ts +151 -410
  78. package/dist/types/src/translations.d.ts.map +1 -1
  79. package/dist/types/tsconfig.tsbuildinfo +1 -1
  80. package/package.json +50 -50
  81. package/src/SpacePlugin.ts +3 -3
  82. package/src/capabilities/app-graph-builder.ts +1 -2
  83. package/src/capabilities/app-graph-serializer.ts +6 -6
  84. package/src/capabilities/identity-created.ts +2 -4
  85. package/src/capabilities/intent-resolver.ts +5 -5
  86. package/src/capabilities/react-surface.tsx +3 -3
  87. package/src/components/CreateDialog/CreateObjectDialog.stories.tsx +4 -4
  88. package/src/components/MembersContainer.stories.tsx +4 -4
  89. package/src/components/MembersContainer.tsx +1 -2
  90. package/src/components/SpacePresence.stories.tsx +2 -2
  91. package/src/components/SpaceSettings/SpaceSettingsContainer.stories.tsx +2 -2
  92. package/src/components/SyncStatus/SyncStatus.stories.tsx +8 -15
  93. package/src/components/SyncStatus/save-tracker.ts +3 -3
  94. package/src/translations.ts +9 -7
  95. package/src/util.tsx +1 -1
  96. package/dist/lib/browser/app-graph-serializer-F7ISRRBV.mjs.map +0 -7
  97. package/dist/lib/browser/chunk-4ZKSFDXM.mjs.map +0 -7
  98. package/dist/lib/browser/chunk-NFUKCRGE.mjs.map +0 -7
  99. package/dist/lib/browser/chunk-V24VASAJ.mjs.map +0 -7
  100. package/dist/lib/browser/identity-created-PI7TKANR.mjs.map +0 -7
  101. package/dist/lib/browser/intent-resolver-RWU6ZE4H.mjs.map +0 -7
  102. package/dist/lib/browser/react-surface-W56UD53I.mjs.map +0 -7
  103. package/dist/lib/node/app-graph-builder-6LK5HLLE.cjs +0 -364
  104. package/dist/lib/node/app-graph-builder-6LK5HLLE.cjs.map +0 -7
  105. package/dist/lib/node/app-graph-serializer-HKHBNHA3.cjs +0 -89
  106. package/dist/lib/node/app-graph-serializer-HKHBNHA3.cjs.map +0 -7
  107. package/dist/lib/node/chunk-3X4EA4XL.cjs +0 -37
  108. package/dist/lib/node/chunk-3X4EA4XL.cjs.map +0 -7
  109. package/dist/lib/node/chunk-5WLAXYE3.cjs +0 -125
  110. package/dist/lib/node/chunk-5WLAXYE3.cjs.map +0 -7
  111. package/dist/lib/node/chunk-6P2DB4QQ.cjs +0 -36
  112. package/dist/lib/node/chunk-6P2DB4QQ.cjs.map +0 -7
  113. package/dist/lib/node/chunk-DOC5XEZ4.cjs +0 -184
  114. package/dist/lib/node/chunk-DOC5XEZ4.cjs.map +0 -7
  115. package/dist/lib/node/chunk-NCHF433F.cjs +0 -1921
  116. package/dist/lib/node/chunk-NCHF433F.cjs.map +0 -7
  117. package/dist/lib/node/chunk-NL5Y4EDX.cjs +0 -38
  118. package/dist/lib/node/chunk-NL5Y4EDX.cjs.map +0 -7
  119. package/dist/lib/node/chunk-ULJZPATP.cjs +0 -312
  120. package/dist/lib/node/chunk-ULJZPATP.cjs.map +0 -7
  121. package/dist/lib/node/chunk-XHWVT7LW.cjs +0 -572
  122. package/dist/lib/node/chunk-XHWVT7LW.cjs.map +0 -7
  123. package/dist/lib/node/identity-created-FF4WZ2WY.cjs +0 -42
  124. package/dist/lib/node/identity-created-FF4WZ2WY.cjs.map +0 -7
  125. package/dist/lib/node/index.cjs +0 -278
  126. package/dist/lib/node/index.cjs.map +0 -7
  127. package/dist/lib/node/intent-resolver-AV4CMM3Z.cjs +0 -609
  128. package/dist/lib/node/intent-resolver-AV4CMM3Z.cjs.map +0 -7
  129. package/dist/lib/node/meta.json +0 -1
  130. package/dist/lib/node/react-root-RQUU3A45.cjs +0 -51
  131. package/dist/lib/node/react-root-RQUU3A45.cjs.map +0 -7
  132. package/dist/lib/node/react-surface-AZFJLE72.cjs +0 -351
  133. package/dist/lib/node/react-surface-AZFJLE72.cjs.map +0 -7
  134. package/dist/lib/node/schema-defs-OB2X2HBH.cjs +0 -42
  135. package/dist/lib/node/schema-defs-OB2X2HBH.cjs.map +0 -7
  136. package/dist/lib/node/schema-tools-IYREN4IH.cjs +0 -147
  137. package/dist/lib/node/schema-tools-IYREN4IH.cjs.map +0 -7
  138. package/dist/lib/node/settings-P2EQ7VKQ.cjs +0 -38
  139. package/dist/lib/node/settings-P2EQ7VKQ.cjs.map +0 -7
  140. package/dist/lib/node/spaces-ready-DXPOHYV7.cjs +0 -210
  141. package/dist/lib/node/spaces-ready-DXPOHYV7.cjs.map +0 -7
  142. package/dist/lib/node/state-M35DK75Z.cjs +0 -61
  143. package/dist/lib/node/state-M35DK75Z.cjs.map +0 -7
  144. package/dist/lib/node/types/index.cjs +0 -48
  145. package/dist/lib/node/types/index.cjs.map +0 -7
  146. package/dist/lib/node-esm/app-graph-serializer-TXRGGNP2.mjs.map +0 -7
  147. package/dist/lib/node-esm/chunk-HO7AIKQS.mjs.map +0 -7
  148. package/dist/lib/node-esm/chunk-JBQKU4K5.mjs.map +0 -7
  149. package/dist/lib/node-esm/chunk-LA6AVVH6.mjs.map +0 -7
  150. package/dist/lib/node-esm/identity-created-35CTAQWI.mjs.map +0 -7
  151. package/dist/lib/node-esm/intent-resolver-JO6L2VXC.mjs.map +0 -7
  152. package/dist/lib/node-esm/react-surface-CVAPDLEZ.mjs.map +0 -7
  153. /package/dist/lib/browser/{chunk-YMCZR6EZ.mjs.map → chunk-C7KGJTAL.mjs.map} +0 -0
  154. /package/dist/lib/browser/{chunk-PTKYMZWO.mjs.map → chunk-FBCGT5YY.mjs.map} +0 -0
  155. /package/dist/lib/browser/{chunk-TW7O2EPP.mjs.map → chunk-S6NY637J.mjs.map} +0 -0
  156. /package/dist/lib/browser/{chunk-7Y4M7GXO.mjs.map → chunk-VLBRSGJ2.mjs.map} +0 -0
  157. /package/dist/lib/browser/{chunk-BXNL6SDI.mjs.map → chunk-XXIPJLJF.mjs.map} +0 -0
  158. /package/dist/lib/browser/{react-root-QIKHSNT2.mjs.map → react-root-7S6FIC5G.mjs.map} +0 -0
  159. /package/dist/lib/browser/{schema-defs-WREJNMIC.mjs.map → schema-defs-K3B3OAH4.mjs.map} +0 -0
  160. /package/dist/lib/browser/{schema-tools-ILTVSSS3.mjs.map → schema-tools-BNP4JTD7.mjs.map} +0 -0
  161. /package/dist/lib/browser/{settings-K54STC5A.mjs.map → settings-XNWYRWNM.mjs.map} +0 -0
  162. /package/dist/lib/browser/{spaces-ready-3PDRDHPC.mjs.map → spaces-ready-K7NSNBHM.mjs.map} +0 -0
  163. /package/dist/lib/browser/{state-HRZ4VRXU.mjs.map → state-522XTUR4.mjs.map} +0 -0
  164. /package/dist/lib/node-esm/{chunk-D4QMPPS7.mjs.map → chunk-2THX6G4C.mjs.map} +0 -0
  165. /package/dist/lib/node-esm/{chunk-3CP67AYY.mjs.map → chunk-72QMMRKC.mjs.map} +0 -0
  166. /package/dist/lib/node-esm/{chunk-BSLREHIX.mjs.map → chunk-AT7LGFER.mjs.map} +0 -0
  167. /package/dist/lib/node-esm/{chunk-MSWEFAPD.mjs.map → chunk-HWNG4MEU.mjs.map} +0 -0
  168. /package/dist/lib/node-esm/{chunk-GH2FGJXH.mjs.map → chunk-SSLBYZEY.mjs.map} +0 -0
  169. /package/dist/lib/node-esm/{react-root-YFGL3B4J.mjs.map → react-root-HUK3ANLV.mjs.map} +0 -0
  170. /package/dist/lib/node-esm/{schema-defs-4MEJETVX.mjs.map → schema-defs-4MCDG4DV.mjs.map} +0 -0
  171. /package/dist/lib/node-esm/{schema-tools-SRLCRZ3B.mjs.map → schema-tools-KWW5PTML.mjs.map} +0 -0
  172. /package/dist/lib/node-esm/{settings-TD76LTQS.mjs.map → settings-YGKHGFPH.mjs.map} +0 -0
  173. /package/dist/lib/node-esm/{spaces-ready-FJMGPAVV.mjs.map → spaces-ready-UM2P3DCR.mjs.map} +0 -0
  174. /package/dist/lib/node-esm/{state-XQNDCN37.mjs.map → state-C4IOXPZP.mjs.map} +0 -0
@@ -1,351 +0,0 @@
1
- "use strict";
2
- var __create = Object.create;
3
- var __defProp = Object.defineProperty;
4
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
- var __getOwnPropNames = Object.getOwnPropertyNames;
6
- var __getProtoOf = Object.getPrototypeOf;
7
- var __hasOwnProp = Object.prototype.hasOwnProperty;
8
- var __export = (target, all) => {
9
- for (var name in all)
10
- __defProp(target, name, { get: all[name], enumerable: true });
11
- };
12
- var __copyProps = (to, from, except, desc) => {
13
- if (from && typeof from === "object" || typeof from === "function") {
14
- for (let key of __getOwnPropNames(from))
15
- if (!__hasOwnProp.call(to, key) && key !== except)
16
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
17
- }
18
- return to;
19
- };
20
- var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21
- // If the importer is in node compatibility mode or this is not an ESM
22
- // file that has been converted to a CommonJS file using a Babel-
23
- // compatible transform (i.e. "__esModule" has not been set), then set
24
- // "default" to the CommonJS "module.exports" for node compatibility.
25
- isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
26
- mod
27
- ));
28
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
- var react_surface_AZFJLE72_exports = {};
30
- __export(react_surface_AZFJLE72_exports, {
31
- default: () => react_surface_default
32
- });
33
- module.exports = __toCommonJS(react_surface_AZFJLE72_exports);
34
- var import_chunk_NCHF433F = require("./chunk-NCHF433F.cjs");
35
- var import_chunk_5WLAXYE3 = require("./chunk-5WLAXYE3.cjs");
36
- var import_chunk_NL5Y4EDX = require("./chunk-NL5Y4EDX.cjs");
37
- var import_chunk_XHWVT7LW = require("./chunk-XHWVT7LW.cjs");
38
- var import_chunk_ULJZPATP = require("./chunk-ULJZPATP.cjs");
39
- var import_chunk_6P2DB4QQ = require("./chunk-6P2DB4QQ.cjs");
40
- var import_react = __toESM(require("react"));
41
- var import_app_framework = require("@dxos/app-framework");
42
- var import_echo = require("@dxos/echo");
43
- var import_effect = require("@dxos/effect");
44
- var import_local_storage = require("@dxos/local-storage");
45
- var import_plugin_client = require("@dxos/plugin-client");
46
- var import_react_client = require("@dxos/react-client");
47
- var import_echo2 = require("@dxos/react-client/echo");
48
- var import_react_ui = require("@dxos/react-ui");
49
- var import_react_ui_form = require("@dxos/react-ui-form");
50
- var import_react_ui_pickers = require("@dxos/react-ui-pickers");
51
- var import_schema = require("@dxos/schema");
52
- var OMIT = [
53
- import_echo.Type.getTypename(import_schema.DataType.Collection),
54
- import_echo.Type.getTypename(import_schema.DataType.QueryCollection)
55
- ];
56
- var react_surface_default = ({ createInvitationUrl }) => (0, import_app_framework.contributes)(import_app_framework.Capabilities.ReactSurface, [
57
- (0, import_app_framework.createSurface)({
58
- id: `${import_chunk_6P2DB4QQ.SPACE_PLUGIN}/article`,
59
- role: "article",
60
- filter: (data) => (
61
- // TODO(wittjosiah): Need to avoid shotgun parsing space state everywhere.
62
- (0, import_echo2.isSpace)(data.subject) && data.subject.state.get() === import_echo2.SpaceState.SPACE_READY
63
- ),
64
- component: ({ data, role, ...rest }) => /* @__PURE__ */ import_react.default.createElement(import_app_framework.Surface, {
65
- data: {
66
- id: data.subject.id,
67
- subject: data.subject.properties[import_echo.Type.getTypename(import_schema.DataType.Collection)]?.target
68
- },
69
- role,
70
- ...rest
71
- })
72
- }),
73
- (0, import_app_framework.createSurface)({
74
- id: `${import_chunk_6P2DB4QQ.SPACE_PLUGIN}/collection-fallback`,
75
- role: "article",
76
- position: "fallback",
77
- filter: (data) => import_echo.Obj.instanceOf(import_schema.DataType.Collection, data.subject),
78
- component: ({ data }) => /* @__PURE__ */ import_react.default.createElement(import_chunk_NCHF433F.CollectionMain, {
79
- collection: data.subject
80
- })
81
- }),
82
- (0, import_app_framework.createSurface)({
83
- id: `${import_chunk_6P2DB4QQ.SPACE_PLUGIN}/plugin-settings`,
84
- role: "article",
85
- filter: (data) => data.subject instanceof import_local_storage.SettingsStore && data.subject.prefix === import_chunk_6P2DB4QQ.SPACE_PLUGIN,
86
- component: ({ data: { subject } }) => /* @__PURE__ */ import_react.default.createElement(import_chunk_NCHF433F.SpacePluginSettings, {
87
- settings: subject.value
88
- })
89
- }),
90
- (0, import_app_framework.createSurface)({
91
- id: `${import_chunk_6P2DB4QQ.SPACE_PLUGIN}/companion/object-settings`,
92
- role: "article",
93
- filter: (data) => import_echo.Obj.isObject(data.companionTo) && data.subject === "settings",
94
- component: ({ data, role }) => /* @__PURE__ */ import_react.default.createElement(import_chunk_NCHF433F.ObjectSettingsContainer, {
95
- object: data.companionTo,
96
- role
97
- })
98
- }),
99
- (0, import_app_framework.createSurface)({
100
- id: `${import_chunk_6P2DB4QQ.SPACE_PLUGIN}/space-settings-properties`,
101
- role: "article",
102
- filter: (data) => data.subject === `${import_chunk_6P2DB4QQ.SPACE_PLUGIN}/properties`,
103
- component: () => {
104
- const layout = (0, import_app_framework.useLayout)();
105
- const { spaceId } = (0, import_echo2.parseId)(layout.workspace);
106
- const space = (0, import_echo2.useSpace)(spaceId);
107
- if (!space || !spaceId) {
108
- return null;
109
- }
110
- return /* @__PURE__ */ import_react.default.createElement(import_chunk_NCHF433F.SpaceSettingsContainer, {
111
- space
112
- });
113
- }
114
- }),
115
- (0, import_app_framework.createSurface)({
116
- id: `${import_chunk_6P2DB4QQ.SPACE_PLUGIN}/space-settings-members`,
117
- role: "article",
118
- position: "hoist",
119
- filter: (data) => data.subject === `${import_chunk_6P2DB4QQ.SPACE_PLUGIN}/members`,
120
- component: () => {
121
- const layout = (0, import_app_framework.useLayout)();
122
- const { spaceId } = (0, import_echo2.parseId)(layout.workspace);
123
- const space = (0, import_echo2.useSpace)(spaceId);
124
- if (!space || !spaceId) {
125
- return null;
126
- }
127
- return /* @__PURE__ */ import_react.default.createElement(import_chunk_NCHF433F.MembersContainer, {
128
- space,
129
- createInvitationUrl
130
- });
131
- }
132
- }),
133
- (0, import_app_framework.createSurface)({
134
- id: `${import_chunk_6P2DB4QQ.SPACE_PLUGIN}/space-settings-schema`,
135
- role: "article",
136
- filter: (data) => data.subject === `${import_chunk_6P2DB4QQ.SPACE_PLUGIN}/schema`,
137
- component: () => {
138
- const layout = (0, import_app_framework.useLayout)();
139
- const { spaceId } = (0, import_echo2.parseId)(layout.workspace);
140
- const space = (0, import_echo2.useSpace)(spaceId);
141
- if (!space || !spaceId) {
142
- return null;
143
- }
144
- return /* @__PURE__ */ import_react.default.createElement(import_chunk_NCHF433F.SchemaContainer, {
145
- space
146
- });
147
- }
148
- }),
149
- (0, import_app_framework.createSurface)({
150
- id: import_chunk_NCHF433F.JOIN_DIALOG,
151
- role: "dialog",
152
- filter: (data) => data.component === import_chunk_NCHF433F.JOIN_DIALOG,
153
- component: ({ data }) => /* @__PURE__ */ import_react.default.createElement(import_chunk_NCHF433F.JoinDialog, data.props)
154
- }),
155
- (0, import_app_framework.createSurface)({
156
- id: import_chunk_NCHF433F.CREATE_SPACE_DIALOG,
157
- role: "dialog",
158
- filter: (data) => data.component === import_chunk_NCHF433F.CREATE_SPACE_DIALOG,
159
- component: () => /* @__PURE__ */ import_react.default.createElement(import_chunk_NCHF433F.CreateSpaceDialog, null)
160
- }),
161
- (0, import_app_framework.createSurface)({
162
- id: import_chunk_NCHF433F.CREATE_OBJECT_DIALOG,
163
- role: "dialog",
164
- filter: (data) => data.component === import_chunk_NCHF433F.CREATE_OBJECT_DIALOG,
165
- component: ({ data }) => /* @__PURE__ */ import_react.default.createElement(import_chunk_NCHF433F.CreateObjectDialog, data.props)
166
- }),
167
- (0, import_app_framework.createSurface)({
168
- id: `${import_chunk_6P2DB4QQ.SPACE_PLUGIN}/create-initial-space-form-[hue]`,
169
- role: "form-input",
170
- filter: (data) => {
171
- const annotation = (0, import_effect.findAnnotation)(data.schema.ast, import_chunk_ULJZPATP.HueAnnotationId);
172
- return !!annotation;
173
- },
174
- component: ({ data: _, ...inputProps }) => {
175
- const { label, disabled, type, getValue, onValueChange } = inputProps;
176
- const handleChange = (0, import_react.useCallback)((nextHue) => onValueChange(type, nextHue), [
177
- onValueChange
178
- ]);
179
- const handleReset = (0, import_react.useCallback)(() => onValueChange(type, void 0), [
180
- onValueChange
181
- ]);
182
- return /* @__PURE__ */ import_react.default.createElement(import_react_ui.Input.Root, null, /* @__PURE__ */ import_react.default.createElement(import_react_ui.Input.Label, null, label), /* @__PURE__ */ import_react.default.createElement(import_react_ui_pickers.HuePicker, {
183
- disabled,
184
- value: getValue() ?? "",
185
- onChange: handleChange,
186
- onReset: handleReset
187
- }));
188
- }
189
- }),
190
- (0, import_app_framework.createSurface)({
191
- id: `${import_chunk_6P2DB4QQ.SPACE_PLUGIN}/create-initial-space-form-[icon]`,
192
- role: "form-input",
193
- filter: (data) => {
194
- const annotation = (0, import_effect.findAnnotation)(data.schema.ast, import_chunk_ULJZPATP.IconAnnotationId);
195
- return !!annotation;
196
- },
197
- component: ({ data: _, ...inputProps }) => {
198
- const { label, disabled, type, getValue, onValueChange } = inputProps;
199
- const handleChange = (0, import_react.useCallback)((nextIcon) => onValueChange(type, nextIcon), [
200
- onValueChange
201
- ]);
202
- const handleReset = (0, import_react.useCallback)(() => onValueChange(type, void 0), [
203
- onValueChange
204
- ]);
205
- return /* @__PURE__ */ import_react.default.createElement(import_react_ui.Input.Root, null, /* @__PURE__ */ import_react.default.createElement(import_react_ui.Input.Label, null, label), /* @__PURE__ */ import_react.default.createElement(import_react_ui_pickers.IconPicker, {
206
- disabled,
207
- value: getValue() ?? "",
208
- onChange: handleChange,
209
- onReset: handleReset
210
- }));
211
- }
212
- }),
213
- (0, import_app_framework.createSurface)({
214
- id: `${import_chunk_6P2DB4QQ.SPACE_PLUGIN}/typename-form-input`,
215
- role: "form-input",
216
- filter: (data) => {
217
- if (data.prop !== "typename") {
218
- return false;
219
- }
220
- const annotation = (0, import_effect.findAnnotation)(data.schema.ast, import_schema.TypenameAnnotationId);
221
- return !!annotation;
222
- },
223
- component: ({ data: { schema, target }, ...inputProps }) => {
224
- const { t } = (0, import_react_ui.useTranslation)();
225
- const client = (0, import_react_client.useClient)();
226
- const props = inputProps;
227
- const space = (0, import_echo2.isSpace)(target) ? target : (0, import_echo2.getSpace)(target);
228
- if (!space) {
229
- return null;
230
- }
231
- const annotation = (0, import_effect.findAnnotation)(schema.ast, import_schema.TypenameAnnotationId);
232
- const schemaWhitelists = (0, import_app_framework.useCapabilities)(import_plugin_client.ClientCapabilities.SchemaWhiteList);
233
- const whitelistedTypenames = (0, import_react.useMemo)(() => new Set(schemaWhitelists.flatMap((typeArray) => typeArray.map((type) => type.typename))), [
234
- schemaWhitelists
235
- ]);
236
- const objectForms = (0, import_app_framework.useCapabilities)(import_chunk_NL5Y4EDX.SpaceCapabilities.ObjectForm);
237
- const objectFormTypenames = (0, import_react.useMemo)(() => new Set(objectForms.map((form) => import_echo.Type.getTypename(form.objectSchema)).filter((typename) => !OMIT.includes(typename))), [
238
- objectForms
239
- ]);
240
- const fixed = client.graph.schemaRegistry.schemas.filter((schema2) => {
241
- const limitedStatic = annotation.includes("limited-static") && whitelistedTypenames.has(import_echo.Type.getTypename(schema2));
242
- const objectForm = annotation.includes("object-form") && objectFormTypenames.has(import_echo.Type.getTypename(schema2));
243
- return annotation.includes("static") || limitedStatic || objectForm;
244
- });
245
- const dynamic = space?.db.schemaRegistry.query().runSync();
246
- const typenames = Array.from(/* @__PURE__ */ new Set([
247
- ...annotation.includes("limited-static") || annotation.includes("static") || annotation.includes("object-form") ? fixed.map((schema2) => import_echo.Type.getTypename(schema2)) : [],
248
- ...annotation.includes("dynamic") ? dynamic.map((schema2) => schema2.typename) : []
249
- ])).sort();
250
- const options = (0, import_react.useMemo)(() => typenames.map((typename) => ({
251
- value: typename,
252
- label: t("typename label", {
253
- ns: typename,
254
- defaultValue: typename
255
- })
256
- })), [
257
- t,
258
- typenames
259
- ]);
260
- return /* @__PURE__ */ import_react.default.createElement(import_react_ui_form.SelectInput, {
261
- ...props,
262
- options
263
- });
264
- }
265
- }),
266
- (0, import_app_framework.createSurface)({
267
- id: import_chunk_NCHF433F.POPOVER_RENAME_SPACE,
268
- role: "popover",
269
- filter: (data) => data.component === import_chunk_NCHF433F.POPOVER_RENAME_SPACE && (0, import_echo2.isSpace)(data.props),
270
- component: ({ data }) => /* @__PURE__ */ import_react.default.createElement(import_chunk_NCHF433F.PopoverRenameSpace, {
271
- space: data.props
272
- })
273
- }),
274
- (0, import_app_framework.createSurface)({
275
- id: import_chunk_NCHF433F.POPOVER_RENAME_OBJECT,
276
- role: "popover",
277
- filter: (data) => data.component === import_chunk_NCHF433F.POPOVER_RENAME_OBJECT && (0, import_echo2.isLiveObject)(data.props),
278
- component: ({ data }) => /* @__PURE__ */ import_react.default.createElement(import_chunk_NCHF433F.PopoverRenameObject, {
279
- object: data.props
280
- })
281
- }),
282
- (0, import_app_framework.createSurface)({
283
- id: `${import_chunk_6P2DB4QQ.SPACE_PLUGIN}/menu-footer`,
284
- role: "menu-footer",
285
- filter: (data) => import_echo.Obj.isObject(data.subject),
286
- component: ({ data }) => /* @__PURE__ */ import_react.default.createElement(import_chunk_NCHF433F.MenuFooter, {
287
- object: data.subject
288
- })
289
- }),
290
- (0, import_app_framework.createSurface)({
291
- id: `${import_chunk_6P2DB4QQ.SPACE_PLUGIN}/navtree-presence`,
292
- role: "navtree-item-end",
293
- filter: (data) => typeof data.id === "string" && import_echo.Obj.isObject(data.subject),
294
- component: ({ data }) => {
295
- const state = (0, import_app_framework.useCapability)(import_chunk_NL5Y4EDX.SpaceCapabilities.MutableState);
296
- return /* @__PURE__ */ import_react.default.createElement(import_chunk_NCHF433F.SmallPresenceLive, {
297
- id: data.id,
298
- open: data.open,
299
- viewers: state.viewersByObject[data.id]
300
- });
301
- }
302
- }),
303
- // TODO(wittjosiah): Attention glyph for non-echo items should be handled elsewhere.
304
- (0, import_app_framework.createSurface)({
305
- id: `${import_chunk_6P2DB4QQ.SPACE_PLUGIN}/navtree-presence-fallback`,
306
- role: "navtree-item-end",
307
- position: "fallback",
308
- filter: (data) => typeof data.id === "string",
309
- component: ({ data }) => /* @__PURE__ */ import_react.default.createElement(import_chunk_NCHF433F.SmallPresenceLive, {
310
- id: data.id,
311
- open: data.open
312
- })
313
- }),
314
- // TODO(wittjosiah): Broken?
315
- (0, import_app_framework.createSurface)({
316
- id: `${import_chunk_6P2DB4QQ.SPACE_PLUGIN}/navtree-sync-status`,
317
- role: "navtree-item-end",
318
- filter: (data) => (0, import_echo2.isSpace)(data.subject),
319
- component: ({ data }) => /* @__PURE__ */ import_react.default.createElement(import_chunk_NCHF433F.InlineSyncStatus, {
320
- space: data.subject,
321
- open: data.open
322
- })
323
- }),
324
- (0, import_app_framework.createSurface)({
325
- id: `${import_chunk_6P2DB4QQ.SPACE_PLUGIN}/navbar-presence`,
326
- role: "navbar-end",
327
- position: "hoist",
328
- filter: (data) => (0, import_echo2.isSpace)(data.subject) || import_echo.Obj.isObject(data.subject),
329
- component: ({ data }) => {
330
- const space = (0, import_echo2.isSpace)(data.subject) ? data.subject : (0, import_echo2.getSpace)(data.subject);
331
- const object = (0, import_echo2.isSpace)(data.subject) ? data.subject.state.get() === import_echo2.SpaceState.SPACE_READY ? space?.properties[import_echo.Type.getTypename(import_schema.DataType.Collection)]?.target : void 0 : data.subject;
332
- return object ? /* @__PURE__ */ import_react.default.createElement(import_chunk_NCHF433F.SpacePresence, {
333
- object
334
- }) : null;
335
- }
336
- }),
337
- (0, import_app_framework.createSurface)({
338
- id: `${import_chunk_6P2DB4QQ.SPACE_PLUGIN}/collection-section`,
339
- role: "section",
340
- filter: (data) => import_echo.Obj.instanceOf(import_schema.DataType.Collection, data.subject),
341
- component: ({ data }) => /* @__PURE__ */ import_react.default.createElement(import_chunk_NCHF433F.CollectionSection, {
342
- collection: data.subject
343
- })
344
- }),
345
- (0, import_app_framework.createSurface)({
346
- id: `${import_chunk_6P2DB4QQ.SPACE_PLUGIN}/status`,
347
- role: "status",
348
- component: () => /* @__PURE__ */ import_react.default.createElement(import_chunk_NCHF433F.SyncStatus, null)
349
- })
350
- ]);
351
- //# sourceMappingURL=react-surface-AZFJLE72.cjs.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/capabilities/react-surface.tsx"],
4
- "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { type Schema } from 'effect';\nimport React, { useCallback, useMemo } from 'react';\n\nimport {\n Capabilities,\n contributes,\n createSurface,\n Surface,\n useCapabilities,\n useCapability,\n useLayout,\n} from '@dxos/app-framework';\nimport { Obj, Type } from '@dxos/echo';\nimport { findAnnotation } from '@dxos/effect';\nimport { SettingsStore } from '@dxos/local-storage';\nimport { ClientCapabilities } from '@dxos/plugin-client';\nimport { useClient } from '@dxos/react-client';\nimport { getSpace, isLiveObject, isSpace, parseId, SpaceState, useSpace, type Space } from '@dxos/react-client/echo';\nimport { Input, useTranslation } from '@dxos/react-ui';\nimport { type InputProps, SelectInput } from '@dxos/react-ui-form';\nimport { HuePicker, IconPicker } from '@dxos/react-ui-pickers';\nimport { DataType, type TypenameAnnotation, TypenameAnnotationId } from '@dxos/schema';\nimport { type JoinPanelProps } from '@dxos/shell/react';\n\nimport { SpaceCapabilities } from './capabilities';\nimport {\n CollectionMain,\n CollectionSection,\n CREATE_OBJECT_DIALOG,\n CREATE_SPACE_DIALOG,\n CreateObjectDialog,\n CreateSpaceDialog,\n InlineSyncStatus,\n JOIN_DIALOG,\n JoinDialog,\n MembersContainer,\n MenuFooter,\n ObjectSettingsContainer,\n POPOVER_RENAME_OBJECT,\n POPOVER_RENAME_SPACE,\n PopoverRenameObject,\n PopoverRenameSpace,\n SchemaContainer,\n SmallPresenceLive,\n SpacePluginSettings,\n SpacePresence,\n SpaceSettingsContainer,\n SyncStatus,\n type CreateObjectDialogProps,\n} from '../components';\nimport { SPACE_PLUGIN } from '../meta';\nimport { HueAnnotationId, IconAnnotationId, type SpaceSettingsProps } from '../types';\n\ntype ReactSurfaceOptions = {\n createInvitationUrl: (invitationCode: string) => string;\n};\n\nconst OMIT = [Type.getTypename(DataType.Collection), Type.getTypename(DataType.QueryCollection)];\n\nexport default ({ createInvitationUrl }: ReactSurfaceOptions) =>\n contributes(Capabilities.ReactSurface, [\n createSurface({\n id: `${SPACE_PLUGIN}/article`,\n role: 'article',\n filter: (data): data is { subject: Space } =>\n // TODO(wittjosiah): Need to avoid shotgun parsing space state everywhere.\n isSpace(data.subject) && data.subject.state.get() === SpaceState.SPACE_READY,\n component: ({ data, role, ...rest }) => (\n <Surface\n data={{\n id: data.subject.id,\n subject: data.subject.properties[Type.getTypename(DataType.Collection)]?.target,\n }}\n role={role}\n {...rest}\n />\n ),\n }),\n createSurface({\n id: `${SPACE_PLUGIN}/collection-fallback`,\n role: 'article',\n position: 'fallback',\n filter: (data): data is { subject: DataType.Collection } => Obj.instanceOf(DataType.Collection, data.subject),\n component: ({ data }) => <CollectionMain collection={data.subject} />,\n }),\n createSurface({\n id: `${SPACE_PLUGIN}/plugin-settings`,\n role: 'article',\n filter: (data): data is { subject: SettingsStore<SpaceSettingsProps> } =>\n data.subject instanceof SettingsStore && data.subject.prefix === SPACE_PLUGIN,\n component: ({ data: { subject } }) => <SpacePluginSettings settings={subject.value} />,\n }),\n createSurface({\n id: `${SPACE_PLUGIN}/companion/object-settings`,\n role: 'article',\n filter: (data): data is { companionTo: Obj.Any } => Obj.isObject(data.companionTo) && data.subject === 'settings',\n component: ({ data, role }) => <ObjectSettingsContainer object={data.companionTo} role={role} />,\n }),\n createSurface({\n id: `${SPACE_PLUGIN}/space-settings-properties`,\n role: 'article',\n filter: (data): data is { subject: string } => data.subject === `${SPACE_PLUGIN}/properties`,\n component: () => {\n const layout = useLayout();\n const { spaceId } = parseId(layout.workspace);\n const space = useSpace(spaceId);\n if (!space || !spaceId) {\n return null;\n }\n\n return <SpaceSettingsContainer space={space} />;\n },\n }),\n createSurface({\n id: `${SPACE_PLUGIN}/space-settings-members`,\n role: 'article',\n position: 'hoist',\n filter: (data): data is { subject: string } => data.subject === `${SPACE_PLUGIN}/members`,\n component: () => {\n const layout = useLayout();\n const { spaceId } = parseId(layout.workspace);\n const space = useSpace(spaceId);\n if (!space || !spaceId) {\n return null;\n }\n\n return <MembersContainer space={space} createInvitationUrl={createInvitationUrl} />;\n },\n }),\n createSurface({\n id: `${SPACE_PLUGIN}/space-settings-schema`,\n role: 'article',\n filter: (data): data is { subject: string } => data.subject === `${SPACE_PLUGIN}/schema`,\n component: () => {\n const layout = useLayout();\n const { spaceId } = parseId(layout.workspace);\n const space = useSpace(spaceId);\n if (!space || !spaceId) {\n return null;\n }\n\n return <SchemaContainer space={space} />;\n },\n }),\n createSurface({\n id: JOIN_DIALOG,\n role: 'dialog',\n filter: (data): data is { props: JoinPanelProps } => data.component === JOIN_DIALOG,\n component: ({ data }) => <JoinDialog {...data.props} />,\n }),\n createSurface({\n id: CREATE_SPACE_DIALOG,\n role: 'dialog',\n filter: (data): data is any => data.component === CREATE_SPACE_DIALOG,\n component: () => <CreateSpaceDialog />,\n }),\n createSurface({\n id: CREATE_OBJECT_DIALOG,\n role: 'dialog',\n filter: (data): data is { props: CreateObjectDialogProps } => data.component === CREATE_OBJECT_DIALOG,\n component: ({ data }) => <CreateObjectDialog {...data.props} />,\n }),\n createSurface({\n id: `${SPACE_PLUGIN}/create-initial-space-form-[hue]`,\n role: 'form-input',\n filter: (data): data is { prop: string; schema: Schema.Schema<any> } => {\n const annotation = findAnnotation<boolean>((data.schema as Schema.Schema.All).ast, HueAnnotationId);\n return !!annotation;\n },\n component: ({ data: _, ...inputProps }) => {\n const { label, disabled, type, getValue, onValueChange } = inputProps as any as InputProps;\n const handleChange = useCallback((nextHue: string) => onValueChange(type, nextHue), [onValueChange]);\n const handleReset = useCallback(() => onValueChange(type, undefined), [onValueChange]);\n return (\n <Input.Root>\n <Input.Label>{label}</Input.Label>\n <HuePicker disabled={disabled} value={getValue() ?? ''} onChange={handleChange} onReset={handleReset} />\n </Input.Root>\n );\n },\n }),\n createSurface({\n id: `${SPACE_PLUGIN}/create-initial-space-form-[icon]`,\n role: 'form-input',\n filter: (data): data is { prop: string; schema: Schema.Schema<any> } => {\n const annotation = findAnnotation<boolean>((data.schema as Schema.Schema.All).ast, IconAnnotationId);\n return !!annotation;\n },\n component: ({ data: _, ...inputProps }) => {\n const { label, disabled, type, getValue, onValueChange } = inputProps as any as InputProps;\n const handleChange = useCallback((nextIcon: string) => onValueChange(type, nextIcon), [onValueChange]);\n const handleReset = useCallback(() => onValueChange(type, undefined), [onValueChange]);\n return (\n <Input.Root>\n <Input.Label>{label}</Input.Label>\n <IconPicker disabled={disabled} value={getValue() ?? ''} onChange={handleChange} onReset={handleReset} />\n </Input.Root>\n );\n },\n }),\n createSurface({\n id: `${SPACE_PLUGIN}/typename-form-input`,\n role: 'form-input',\n filter: (\n data,\n ): data is { prop: string; schema: Schema.Schema<any>; target: Space | DataType.Collection | undefined } => {\n if (data.prop !== 'typename') {\n return false;\n }\n\n const annotation = findAnnotation((data.schema as Schema.Schema.All).ast, TypenameAnnotationId);\n return !!annotation;\n },\n component: ({ data: { schema, target }, ...inputProps }) => {\n const { t } = useTranslation();\n const client = useClient();\n const props = inputProps as any as InputProps;\n const space = isSpace(target) ? target : getSpace(target);\n if (!space) {\n return null;\n }\n\n const annotation = findAnnotation<TypenameAnnotation[]>(schema.ast, TypenameAnnotationId)!;\n\n const schemaWhitelists = useCapabilities(ClientCapabilities.SchemaWhiteList);\n const whitelistedTypenames = useMemo(\n () => new Set(schemaWhitelists.flatMap((typeArray) => typeArray.map((type) => type.typename))),\n [schemaWhitelists],\n );\n\n const objectForms = useCapabilities(SpaceCapabilities.ObjectForm);\n const objectFormTypenames = useMemo(\n () =>\n new Set(\n objectForms\n .map((form) => Type.getTypename(form.objectSchema))\n // TODO(wittjosiah): Remove.\n .filter((typename) => !OMIT.includes(typename)),\n ),\n [objectForms],\n );\n\n const fixed = client.graph.schemaRegistry.schemas.filter((schema) => {\n const limitedStatic =\n annotation.includes('limited-static') && whitelistedTypenames.has(Type.getTypename(schema));\n const objectForm = annotation.includes('object-form') && objectFormTypenames.has(Type.getTypename(schema));\n return annotation.includes('static') || limitedStatic || objectForm;\n });\n const dynamic = space?.db.schemaRegistry.query().runSync();\n const typenames = Array.from(\n new Set<string>([\n ...(annotation.includes('limited-static') ||\n annotation.includes('static') ||\n annotation.includes('object-form')\n ? fixed.map((schema) => Type.getTypename(schema))\n : []),\n ...(annotation.includes('dynamic') ? dynamic.map((schema) => schema.typename) : []),\n ]),\n ).sort();\n\n const options = useMemo(\n () =>\n typenames.map((typename) => ({\n value: typename,\n label: t('typename label', { ns: typename, defaultValue: typename }),\n })),\n [t, typenames],\n );\n\n return <SelectInput {...props} options={options} />;\n },\n }),\n createSurface({\n id: POPOVER_RENAME_SPACE,\n role: 'popover',\n filter: (data): data is { props: Space } => data.component === POPOVER_RENAME_SPACE && isSpace(data.props),\n component: ({ data }) => <PopoverRenameSpace space={data.props} />,\n }),\n createSurface({\n id: POPOVER_RENAME_OBJECT,\n role: 'popover',\n filter: (data): data is { props: Obj.Any } =>\n data.component === POPOVER_RENAME_OBJECT && isLiveObject(data.props),\n component: ({ data }) => <PopoverRenameObject object={data.props} />,\n }),\n createSurface({\n id: `${SPACE_PLUGIN}/menu-footer`,\n role: 'menu-footer',\n filter: (data): data is { subject: Obj.Any } => Obj.isObject(data.subject),\n component: ({ data }) => <MenuFooter object={data.subject} />,\n }),\n createSurface({\n id: `${SPACE_PLUGIN}/navtree-presence`,\n role: 'navtree-item-end',\n filter: (data): data is { id: string; subject: Obj.Any; open?: boolean } =>\n typeof data.id === 'string' && Obj.isObject(data.subject),\n component: ({ data }) => {\n // TODO(wittjosiah): Doesn't need to be mutable but readonly type messes with ComplexMap.\n const state = useCapability(SpaceCapabilities.MutableState);\n return <SmallPresenceLive id={data.id} open={data.open} viewers={state.viewersByObject[data.id]} />;\n },\n }),\n // TODO(wittjosiah): Attention glyph for non-echo items should be handled elsewhere.\n createSurface({\n id: `${SPACE_PLUGIN}/navtree-presence-fallback`,\n role: 'navtree-item-end',\n position: 'fallback',\n filter: (data): data is { id: string; open?: boolean } => typeof data.id === 'string',\n component: ({ data }) => <SmallPresenceLive id={data.id} open={data.open} />,\n }),\n // TODO(wittjosiah): Broken?\n createSurface({\n id: `${SPACE_PLUGIN}/navtree-sync-status`,\n role: 'navtree-item-end',\n filter: (data): data is { subject: Space; open?: boolean } => isSpace(data.subject),\n component: ({ data }) => <InlineSyncStatus space={data.subject} open={data.open} />,\n }),\n createSurface({\n id: `${SPACE_PLUGIN}/navbar-presence`,\n role: 'navbar-end',\n position: 'hoist',\n filter: (data): data is { subject: Space | Obj.Any } => isSpace(data.subject) || Obj.isObject(data.subject),\n component: ({ data }) => {\n const space = isSpace(data.subject) ? data.subject : getSpace(data.subject);\n const object = isSpace(data.subject)\n ? data.subject.state.get() === SpaceState.SPACE_READY\n ? (space?.properties[Type.getTypename(DataType.Collection)]?.target as DataType.Collection)\n : undefined\n : data.subject;\n\n return object ? <SpacePresence object={object} /> : null;\n },\n }),\n createSurface({\n id: `${SPACE_PLUGIN}/collection-section`,\n role: 'section',\n filter: (data): data is { subject: DataType.Collection } => Obj.instanceOf(DataType.Collection, data.subject),\n component: ({ data }) => <CollectionSection collection={data.subject} />,\n }),\n createSurface({\n id: `${SPACE_PLUGIN}/status`,\n role: 'status',\n component: () => <SyncStatus />,\n }),\n ]);\n"],
5
- "mappings": "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",
6
- "names": ["import_echo", "OMIT", "Type", "getTypename", "DataType", "Collection", "QueryCollection", "createInvitationUrl", "contributes", "Capabilities", "ReactSurface", "createSurface", "id", "SPACE_PLUGIN", "role", "filter", "data", "isSpace", "subject", "state", "get", "SpaceState", "SPACE_READY", "component", "rest", "React", "Surface", "properties", "target", "position", "Obj", "instanceOf", "CollectionMain", "collection", "SettingsStore", "prefix", "SpacePluginSettings", "settings", "value", "isObject", "companionTo", "ObjectSettingsContainer", "object", "layout", "useLayout", "spaceId", "parseId", "workspace", "space", "useSpace", "SpaceSettingsContainer", "MembersContainer", "SchemaContainer", "JOIN_DIALOG", "JoinDialog", "props", "CREATE_SPACE_DIALOG", "CreateSpaceDialog", "CREATE_OBJECT_DIALOG", "CreateObjectDialog", "annotation", "findAnnotation", "schema", "ast", "HueAnnotationId", "_", "inputProps", "label", "disabled", "type", "getValue", "onValueChange", "handleChange", "useCallback", "nextHue", "handleReset", "undefined", "Input", "Root", "Label", "HuePicker", "onChange", "onReset", "IconAnnotationId", "nextIcon", "IconPicker", "prop", "TypenameAnnotationId", "t", "useTranslation", "client", "useClient", "getSpace", "schemaWhitelists", "useCapabilities", "ClientCapabilities", "SchemaWhiteList", "whitelistedTypenames", "useMemo", "Set", "flatMap", "typeArray", "map", "typename", "objectForms", "SpaceCapabilities", "ObjectForm", "objectFormTypenames", "form", "objectSchema", "includes", "fixed", "graph", "schemaRegistry", "schemas", "limitedStatic", "has", "objectForm", "dynamic", "db", "query", "runSync", "typenames", "Array", "from", "sort", "options", "ns", "defaultValue", "SelectInput", "POPOVER_RENAME_SPACE", "PopoverRenameSpace", "POPOVER_RENAME_OBJECT", "isLiveObject", "PopoverRenameObject", "MenuFooter", "useCapability", "MutableState", "SmallPresenceLive", "open", "viewers", "viewersByObject", "InlineSyncStatus", "SpacePresence", "CollectionSection", "SyncStatus"]
7
- }
@@ -1,42 +0,0 @@
1
- "use strict";
2
- var __defProp = Object.defineProperty;
3
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
- var __getOwnPropNames = Object.getOwnPropertyNames;
5
- var __hasOwnProp = Object.prototype.hasOwnProperty;
6
- var __export = (target, all) => {
7
- for (var name in all)
8
- __defProp(target, name, { get: all[name], enumerable: true });
9
- };
10
- var __copyProps = (to, from, except, desc) => {
11
- if (from && typeof from === "object" || typeof from === "function") {
12
- for (let key of __getOwnPropNames(from))
13
- if (!__hasOwnProp.call(to, key) && key !== except)
14
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
- }
16
- return to;
17
- };
18
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
- var schema_defs_OB2X2HBH_exports = {};
20
- __export(schema_defs_OB2X2HBH_exports, {
21
- default: () => schema_defs_default
22
- });
23
- module.exports = __toCommonJS(schema_defs_OB2X2HBH_exports);
24
- var import_chunk_NL5Y4EDX = require("./chunk-NL5Y4EDX.cjs");
25
- var import_chunk_6P2DB4QQ = require("./chunk-6P2DB4QQ.cjs");
26
- var import_app_framework = require("@dxos/app-framework");
27
- var import_plugin_client = require("@dxos/plugin-client");
28
- var schema_defs_default = (context) => {
29
- const registry = context.getCapability(import_app_framework.Capabilities.RxRegistry);
30
- const client = context.getCapability(import_plugin_client.ClientCapabilities.Client);
31
- let previous = [];
32
- const cancel = registry.subscribe(context.capabilities(import_chunk_NL5Y4EDX.SpaceCapabilities.ObjectForm), (_forms) => {
33
- const forms = Array.from(new Set(_forms));
34
- const newSchemas = forms.filter((form) => !previous.includes(form)).map((form) => form.objectSchema);
35
- previous = forms;
36
- client.addTypes(newSchemas);
37
- }, {
38
- immediate: true
39
- });
40
- return (0, import_app_framework.contributes)(import_app_framework.Capabilities.Null, null, () => cancel());
41
- };
42
- //# sourceMappingURL=schema-defs-OB2X2HBH.cjs.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/capabilities/schema-defs.ts"],
4
- "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { Capabilities, contributes, type PluginContext } from '@dxos/app-framework';\nimport { ClientCapabilities } from '@dxos/plugin-client';\n\nimport { SpaceCapabilities } from './capabilities';\nimport { type ObjectForm } from '../types';\n\nexport default (context: PluginContext) => {\n const registry = context.getCapability(Capabilities.RxRegistry);\n const client = context.getCapability(ClientCapabilities.Client);\n\n // TODO(wittjosiah): Unregister schemas when they are disabled.\n let previous: ObjectForm[] = [];\n const cancel = registry.subscribe(\n context.capabilities(SpaceCapabilities.ObjectForm),\n (_forms) => {\n const forms = Array.from(new Set(_forms));\n // TODO(wittjosiah): Filter out schemas which the client has already registered.\n const newSchemas = forms.filter((form) => !previous.includes(form)).map((form) => form.objectSchema);\n previous = forms;\n client.addTypes(newSchemas);\n },\n { immediate: true },\n );\n\n return contributes(Capabilities.Null, null, () => cancel());\n};\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;AAIA,2BAA8D;AAC9D,2BAAmC;AAKnC,IAAA,sBAAe,CAACA,YAAAA;AACd,QAAMC,WAAWD,QAAQE,cAAcC,kCAAaC,UAAU;AAC9D,QAAMC,SAASL,QAAQE,cAAcI,wCAAmBC,MAAM;AAG9D,MAAIC,WAAyB,CAAA;AAC7B,QAAMC,SAASR,SAASS,UACtBV,QAAQW,aAAaC,wCAAkBC,UAAU,GACjD,CAACC,WAAAA;AACC,UAAMC,QAAQC,MAAMC,KAAK,IAAIC,IAAIJ,MAAAA,CAAAA;AAEjC,UAAMK,aAAaJ,MAAMK,OAAO,CAACC,SAAS,CAACb,SAASc,SAASD,IAAAA,CAAAA,EAAOE,IAAI,CAACF,SAASA,KAAKG,YAAY;AACnGhB,eAAWO;AACXV,WAAOoB,SAASN,UAAAA;EAClB,GACA;IAAEO,WAAW;EAAK,CAAA;AAGpB,aAAOC,kCAAYxB,kCAAayB,MAAM,MAAM,MAAMnB,OAAAA,CAAAA;AACpD;",
6
- "names": ["context", "registry", "getCapability", "Capabilities", "RxRegistry", "client", "ClientCapabilities", "Client", "previous", "cancel", "subscribe", "capabilities", "SpaceCapabilities", "ObjectForm", "_forms", "forms", "Array", "from", "Set", "newSchemas", "filter", "form", "includes", "map", "objectSchema", "addTypes", "immediate", "contributes", "Null"]
7
- }
@@ -1,147 +0,0 @@
1
- "use strict";
2
- var __defProp = Object.defineProperty;
3
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
- var __getOwnPropNames = Object.getOwnPropertyNames;
5
- var __hasOwnProp = Object.prototype.hasOwnProperty;
6
- var __export = (target, all) => {
7
- for (var name in all)
8
- __defProp(target, name, { get: all[name], enumerable: true });
9
- };
10
- var __copyProps = (to, from, except, desc) => {
11
- if (from && typeof from === "object" || typeof from === "function") {
12
- for (let key of __getOwnPropNames(from))
13
- if (!__hasOwnProp.call(to, key) && key !== except)
14
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
- }
16
- return to;
17
- };
18
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
- var schema_tools_IYREN4IH_exports = {};
20
- __export(schema_tools_IYREN4IH_exports, {
21
- TypeNameSchema: () => TypeNameSchema,
22
- default: () => schema_tools_default
23
- });
24
- module.exports = __toCommonJS(schema_tools_IYREN4IH_exports);
25
- var import_effect = require("effect");
26
- var import_ai = require("@dxos/ai");
27
- var import_app_framework = require("@dxos/app-framework");
28
- var import_echo = require("@dxos/echo");
29
- var import_echo_schema = require("@dxos/echo-schema");
30
- var import_invariant = require("@dxos/invariant");
31
- var import_react_ui_theme = require("@dxos/react-ui-theme");
32
- var import_schema = require("@dxos/schema");
33
- var __dxlog_file = "/home/runner/work/dxos/dxos/packages/plugins/plugin-space/src/capabilities/schema-tools.ts";
34
- var TypeNameSchema = import_effect.Schema.String.pipe(import_effect.Schema.pattern(/^\w+\.\w{2,}\/[\w/]+$/i), import_effect.Schema.annotations({
35
- title: "TypeName",
36
- description: "Domain-style type name path. Dashes are not allowed. Use camel case for the final component of the type name.",
37
- [import_effect.SchemaAST.ExamplesAnnotationId]: [
38
- "example.com/type/Document",
39
- "example.com/type/FlightList"
40
- ]
41
- }));
42
- var formatDescription = `The format of the property. Additional information:
43
- ${import_echo_schema.FormatEnum.GeoPoint}: ${JSON.stringify(import_echo.Type.toJsonSchema(import_echo.Type.Format.GeoPoint))}
44
- This tuple is GeoJSON. You must specify \`${import_echo_schema.FormatEnum.GeoPoint}\` as [Longitude, Latitude]`;
45
- var PropertyDefinitionSchema = import_effect.Schema.Struct({
46
- name: import_effect.Schema.String.annotations({
47
- description: "The name of the property."
48
- }),
49
- format: import_effect.Schema.Union(...import_echo_schema.FormatEnums.map((format) => import_effect.Schema.Literal(format))).annotations({
50
- description: formatDescription
51
- }),
52
- config: import_effect.Schema.optional(import_effect.Schema.Struct({
53
- options: import_effect.Schema.optional(import_effect.Schema.Array(import_echo_schema.SelectOptionSchema).annotations({
54
- description: `Options for SingleSelect/MultiSelect formats. Available colors: ${import_react_ui_theme.hues.join(", ")}`
55
- }).pipe(import_effect.Schema.mutable))
56
- }))
57
- }).pipe(import_effect.Schema.mutable);
58
- var SYSTEM_NAMESPACE = "dxos.org/echo/schema";
59
- var schema_tools_default = () => (0, import_app_framework.contributes)(import_app_framework.Capabilities.Tools, [
60
- (0, import_ai.createTool)(SYSTEM_NAMESPACE, {
61
- name: "list",
62
- description: "List registered schemas in the space.",
63
- caption: "Listing registered schemas...",
64
- schema: import_effect.Schema.Struct({}),
65
- execute: async (_input, { extensions }) => {
66
- (0, import_invariant.invariant)(extensions?.space, "No space.", {
67
- F: __dxlog_file,
68
- L: 68,
69
- S: void 0,
70
- A: [
71
- "extensions?.space",
72
- "'No space.'"
73
- ]
74
- });
75
- const space = extensions.space;
76
- const schemas = await space.db.schemaRegistry.query({}).run();
77
- return import_ai.ToolResult.Success(schemas.map((schema) => ({
78
- typename: schema.typename,
79
- version: schema.version
80
- })));
81
- }
82
- }),
83
- (0, import_ai.createTool)(SYSTEM_NAMESPACE, {
84
- name: "get",
85
- description: "Get a specific schema by its typename.",
86
- caption: "Getting schema...",
87
- schema: import_effect.Schema.Struct({
88
- typename: import_effect.Schema.String.annotations({
89
- description: "The fully qualified typename of the schema."
90
- })
91
- }),
92
- execute: async ({ typename }, { extensions }) => {
93
- (0, import_invariant.invariant)(extensions?.space, "No space.", {
94
- F: __dxlog_file,
95
- L: 90,
96
- S: void 0,
97
- A: [
98
- "extensions?.space",
99
- "'No space.'"
100
- ]
101
- });
102
- const space = extensions.space;
103
- const schema = await space.db.schemaRegistry.query({
104
- typename
105
- }).firstOrUndefined();
106
- if (!schema) {
107
- return import_ai.ToolResult.Error(`Schema not found: ${typename}`);
108
- }
109
- return import_ai.ToolResult.Success(schema);
110
- }
111
- }),
112
- (0, import_ai.createTool)(SYSTEM_NAMESPACE, {
113
- name: "create",
114
- description: "Create a new schema with the provided definition.",
115
- caption: "Creating schema...",
116
- schema: import_effect.Schema.Struct({
117
- typename: TypeNameSchema.annotations({
118
- description: 'The fully qualified schema typename. Must start with a domain, and then one or more path components (e.g., "example.com/type/TypeName").'
119
- }),
120
- properties: import_effect.Schema.Array(PropertyDefinitionSchema).pipe(import_effect.Schema.annotations({
121
- description: "Array of property definitions for the schema."
122
- }), import_effect.Schema.mutable)
123
- }),
124
- execute: async ({ typename, properties }, { extensions }) => {
125
- (0, import_invariant.invariant)(extensions?.space, "No space.", {
126
- F: __dxlog_file,
127
- L: 116,
128
- S: void 0,
129
- A: [
130
- "extensions?.space",
131
- "'No space.'"
132
- ]
133
- });
134
- const space = extensions.space;
135
- const schema = (0, import_schema.getSchemaFromPropertyDefinitions)(typename, properties);
136
- const [registeredSchema] = await space.db.schemaRegistry.register([
137
- schema
138
- ]);
139
- return import_ai.ToolResult.Success(registeredSchema);
140
- }
141
- })
142
- ]);
143
- // Annotate the CommonJS export names for ESM import in node:
144
- 0 && (module.exports = {
145
- TypeNameSchema
146
- });
147
- //# sourceMappingURL=schema-tools-IYREN4IH.cjs.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/capabilities/schema-tools.ts"],
4
- "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { Schema, SchemaAST } from 'effect';\n\nimport { createTool, ToolResult } from '@dxos/ai';\nimport { Capabilities, contributes, type PromiseIntentDispatcher } from '@dxos/app-framework';\nimport { type Space } from '@dxos/client/echo';\nimport { Type } from '@dxos/echo';\nimport { FormatEnum, FormatEnums, SelectOptionSchema } from '@dxos/echo-schema';\nimport { invariant } from '@dxos/invariant';\nimport { hues } from '@dxos/react-ui-theme';\nimport { getSchemaFromPropertyDefinitions } from '@dxos/schema';\n\n// TODO(burdon): Factor out.\ndeclare global {\n interface ToolContextExtensions {\n space?: Space;\n dispatch?: PromiseIntentDispatcher;\n }\n}\n\n// TODO(ZaymonFC): Move this somewhere common.\nexport const TypeNameSchema = Schema.String.pipe(\n Schema.pattern(/^\\w+\\.\\w{2,}\\/[\\w/]+$/i),\n Schema.annotations({\n title: 'TypeName',\n description:\n 'Domain-style type name path. Dashes are not allowed. Use camel case for the final component of the type name.',\n [SchemaAST.ExamplesAnnotationId]: ['example.com/type/Document', 'example.com/type/FlightList'],\n }),\n);\n\nconst formatDescription = `The format of the property. Additional information:\n ${FormatEnum.GeoPoint}: ${JSON.stringify(Type.toJsonSchema(Type.Format.GeoPoint))}\n This tuple is GeoJSON. You must specify \\`${FormatEnum.GeoPoint}\\` as [Longitude, Latitude]`;\n\n// TODO(ZaymonFC): All properties are default optional, but maybe we should allow for required properties.\nconst PropertyDefinitionSchema = Schema.Struct({\n name: Schema.String.annotations({ description: 'The name of the property.' }),\n format: Schema.Union(...FormatEnums.map((format) => Schema.Literal(format))).annotations({\n description: formatDescription,\n }),\n config: Schema.optional(\n Schema.Struct({\n options: Schema.optional(\n Schema.Array(SelectOptionSchema)\n .annotations({\n description: `Options for SingleSelect/MultiSelect formats. Available colors: ${hues.join(', ')}`,\n })\n .pipe(Schema.mutable),\n ),\n }),\n ),\n}).pipe(Schema.mutable);\n\nconst SYSTEM_NAMESPACE = 'dxos.org/echo/schema';\n\nexport default () =>\n contributes(Capabilities.Tools, [\n createTool(SYSTEM_NAMESPACE, {\n name: 'list',\n description: 'List registered schemas in the space.',\n caption: 'Listing registered schemas...',\n schema: Schema.Struct({}),\n execute: async (_input, { extensions }) => {\n invariant(extensions?.space, 'No space.');\n const space = extensions.space;\n\n const schemas = await space.db.schemaRegistry.query({}).run();\n return ToolResult.Success(\n schemas.map((schema) => ({\n typename: schema.typename,\n version: schema.version,\n })),\n );\n },\n }),\n createTool(SYSTEM_NAMESPACE, {\n name: 'get',\n description: 'Get a specific schema by its typename.',\n caption: 'Getting schema...',\n schema: Schema.Struct({\n typename: Schema.String.annotations({\n description: 'The fully qualified typename of the schema.',\n }),\n }),\n execute: async ({ typename }, { extensions }) => {\n invariant(extensions?.space, 'No space.');\n const space = extensions.space;\n\n const schema = await space.db.schemaRegistry.query({ typename }).firstOrUndefined();\n if (!schema) {\n return ToolResult.Error(`Schema not found: ${typename}`);\n }\n\n return ToolResult.Success(schema);\n },\n }),\n createTool(SYSTEM_NAMESPACE, {\n name: 'create',\n description: 'Create a new schema with the provided definition.',\n caption: 'Creating schema...',\n schema: Schema.Struct({\n typename: TypeNameSchema.annotations({\n description:\n 'The fully qualified schema typename. Must start with a domain, and then one or more path components (e.g., \"example.com/type/TypeName\").',\n }),\n properties: Schema.Array(PropertyDefinitionSchema).pipe(\n Schema.annotations({ description: 'Array of property definitions for the schema.' }),\n Schema.mutable,\n ),\n }),\n execute: async ({ typename, properties }, { extensions }) => {\n invariant(extensions?.space, 'No space.');\n const space = extensions.space;\n\n const schema = getSchemaFromPropertyDefinitions(typename, properties);\n const [registeredSchema] = await space.db.schemaRegistry.register([schema]);\n\n return ToolResult.Success(registeredSchema);\n },\n }),\n ]);\n"],
5
- "mappings": "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",
6
- "names": ["TypeNameSchema", "Schema", "String", "pipe", "pattern", "annotations", "title", "description", "SchemaAST", "ExamplesAnnotationId", "formatDescription", "FormatEnum", "GeoPoint", "JSON", "stringify", "Type", "toJsonSchema", "Format", "PropertyDefinitionSchema", "Struct", "name", "format", "Union", "FormatEnums", "map", "Literal", "config", "optional", "options", "Array", "SelectOptionSchema", "hues", "join", "mutable", "SYSTEM_NAMESPACE", "contributes", "Capabilities", "Tools", "createTool", "caption", "schema", "execute", "_input", "extensions", "invariant", "space", "schemas", "db", "schemaRegistry", "query", "run", "ToolResult", "Success", "typename", "version", "firstOrUndefined", "Error", "properties", "getSchemaFromPropertyDefinitions", "registeredSchema", "register"]
7
- }