@dxos/plugin-space 0.8.4-main.c1de068 → 0.8.4-main.fd6878d

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 (182) hide show
  1. package/dist/lib/browser/{ObjectDetailsPanel-YPTDQKMG.mjs → ObjectDetailsPanel-SY6FYTYC.mjs} +2 -2
  2. package/dist/lib/browser/{ObjectDetailsPanel-YPTDQKMG.mjs.map → ObjectDetailsPanel-SY6FYTYC.mjs.map} +3 -3
  3. package/dist/lib/browser/RecordMain-TEBGAVSL.mjs +68 -0
  4. package/dist/lib/browser/RecordMain-TEBGAVSL.mjs.map +7 -0
  5. package/dist/lib/browser/{app-graph-builder-7CZZJS3S.mjs → app-graph-builder-VZW75QPJ.mjs} +43 -11
  6. package/dist/lib/browser/app-graph-builder-VZW75QPJ.mjs.map +7 -0
  7. package/dist/lib/browser/{app-graph-serializer-H6AW7KGS.mjs → app-graph-serializer-YPHYVZAP.mjs} +4 -4
  8. package/dist/lib/browser/{chunk-SGTQ52SU.mjs → chunk-3UFG6LQQ.mjs} +1 -1
  9. package/dist/lib/{node-esm/chunk-JH6F4C3I.mjs.map → browser/chunk-3UFG6LQQ.mjs.map} +2 -2
  10. package/dist/lib/browser/{chunk-JS3MMC42.mjs → chunk-CBYL62HG.mjs} +2 -2
  11. package/dist/lib/{node-esm/chunk-5HHYE264.mjs.map → browser/chunk-CBYL62HG.mjs.map} +3 -3
  12. package/dist/lib/browser/{chunk-VLBRSGJ2.mjs → chunk-DYKFFVN6.mjs} +2 -2
  13. package/dist/lib/browser/{chunk-VLBRSGJ2.mjs.map → chunk-DYKFFVN6.mjs.map} +3 -3
  14. package/dist/lib/browser/{chunk-V7MJSSBQ.mjs → chunk-PSIBVBTA.mjs} +50 -52
  15. package/dist/lib/browser/chunk-PSIBVBTA.mjs.map +7 -0
  16. package/dist/lib/browser/{chunk-CEFHNVU7.mjs → chunk-Q5EEPP3S.mjs} +1 -1
  17. package/dist/lib/browser/{chunk-CEFHNVU7.mjs.map → chunk-Q5EEPP3S.mjs.map} +2 -2
  18. package/dist/lib/browser/{chunk-XUYKJUU7.mjs → chunk-SMB4DGYO.mjs} +11 -10
  19. package/dist/lib/browser/{chunk-XUYKJUU7.mjs.map → chunk-SMB4DGYO.mjs.map} +3 -3
  20. package/dist/lib/browser/{chunk-QACNNDOT.mjs → chunk-WAXS2ZVX.mjs} +5 -5
  21. package/dist/lib/browser/{chunk-QACNNDOT.mjs.map → chunk-WAXS2ZVX.mjs.map} +1 -1
  22. package/dist/lib/browser/{identity-created-23XJJV2N.mjs → identity-created-T6ZNVE7S.mjs} +2 -2
  23. package/dist/lib/browser/{identity-created-23XJJV2N.mjs.map → identity-created-T6ZNVE7S.mjs.map} +3 -3
  24. package/dist/lib/browser/index.mjs +12 -10
  25. package/dist/lib/browser/index.mjs.map +3 -3
  26. package/dist/lib/browser/{intent-resolver-TIXVDYN7.mjs → intent-resolver-TS6CCKST.mjs} +15 -15
  27. package/dist/lib/browser/intent-resolver-TS6CCKST.mjs.map +7 -0
  28. package/dist/lib/browser/meta.json +1 -1
  29. package/dist/lib/browser/{react-root-N2J7TDRX.mjs → react-root-RQGTZ2ZO.mjs} +6 -6
  30. package/dist/lib/browser/{react-root-N2J7TDRX.mjs.map → react-root-RQGTZ2ZO.mjs.map} +2 -2
  31. package/dist/lib/browser/{react-surface-TPNLWJJH.mjs → react-surface-V3ARS2BP.mjs} +21 -10
  32. package/dist/lib/browser/react-surface-V3ARS2BP.mjs.map +7 -0
  33. package/dist/lib/browser/{schema-defs-Z6FC4AHC.mjs → schema-defs-5LBA43X5.mjs} +2 -2
  34. package/dist/lib/browser/schema-defs-5LBA43X5.mjs.map +7 -0
  35. package/dist/lib/browser/{schema-tools-BNP4JTD7.mjs → schema-tools-LPL35WOJ.mjs} +11 -11
  36. package/dist/lib/browser/schema-tools-LPL35WOJ.mjs.map +7 -0
  37. package/dist/lib/browser/{settings-4IMP5RYT.mjs → settings-FLLBP5KI.mjs} +2 -2
  38. package/dist/lib/browser/{spaces-ready-TOPG6IV4.mjs → spaces-ready-FXEP6XEW.mjs} +14 -12
  39. package/dist/lib/browser/spaces-ready-FXEP6XEW.mjs.map +7 -0
  40. package/dist/lib/browser/{state-QYZAB45H.mjs → state-K3UBPKYP.mjs} +2 -2
  41. package/dist/lib/{node-esm/state-ZVEHQ4BJ.mjs.map → browser/state-K3UBPKYP.mjs.map} +2 -2
  42. package/dist/lib/browser/types/index.mjs +1 -1
  43. package/dist/lib/node-esm/{ObjectDetailsPanel-QKZEDSZK.mjs → ObjectDetailsPanel-3MYLTMXN.mjs} +2 -2
  44. package/dist/lib/node-esm/{ObjectDetailsPanel-QKZEDSZK.mjs.map → ObjectDetailsPanel-3MYLTMXN.mjs.map} +3 -3
  45. package/dist/lib/node-esm/RecordMain-WLYJMYER.mjs +70 -0
  46. package/dist/lib/node-esm/RecordMain-WLYJMYER.mjs.map +7 -0
  47. package/dist/lib/node-esm/{app-graph-builder-KGIGWC72.mjs → app-graph-builder-XNVQOJLE.mjs} +43 -11
  48. package/dist/lib/node-esm/app-graph-builder-XNVQOJLE.mjs.map +7 -0
  49. package/dist/lib/node-esm/{app-graph-serializer-2ICUGQQT.mjs → app-graph-serializer-PKVLWV6V.mjs} +4 -4
  50. package/dist/lib/node-esm/{chunk-5T3ZH23B.mjs → chunk-7MZ3J3LI.mjs} +1 -1
  51. package/dist/lib/node-esm/{chunk-5T3ZH23B.mjs.map → chunk-7MZ3J3LI.mjs.map} +2 -2
  52. package/dist/lib/node-esm/{chunk-4AOMYKDE.mjs → chunk-CTQMR7E3.mjs} +11 -10
  53. package/dist/lib/node-esm/{chunk-4AOMYKDE.mjs.map → chunk-CTQMR7E3.mjs.map} +3 -3
  54. package/dist/lib/node-esm/{chunk-5HHYE264.mjs → chunk-FJZNSJC4.mjs} +2 -2
  55. package/dist/lib/{browser/chunk-JS3MMC42.mjs.map → node-esm/chunk-FJZNSJC4.mjs.map} +3 -3
  56. package/dist/lib/node-esm/{chunk-P442DOQ3.mjs → chunk-HYIZVPOA.mjs} +5 -5
  57. package/dist/lib/node-esm/{chunk-P442DOQ3.mjs.map → chunk-HYIZVPOA.mjs.map} +1 -1
  58. package/dist/lib/node-esm/{chunk-SSLBYZEY.mjs → chunk-KLG4Y4GY.mjs} +2 -2
  59. package/dist/lib/node-esm/{chunk-SSLBYZEY.mjs.map → chunk-KLG4Y4GY.mjs.map} +3 -3
  60. package/dist/lib/node-esm/{chunk-6X5DLJM5.mjs → chunk-KYUHPPRN.mjs} +50 -52
  61. package/dist/lib/node-esm/chunk-KYUHPPRN.mjs.map +7 -0
  62. package/dist/lib/node-esm/{chunk-JH6F4C3I.mjs → chunk-S7MKRQHY.mjs} +1 -1
  63. package/dist/lib/{browser/chunk-SGTQ52SU.mjs.map → node-esm/chunk-S7MKRQHY.mjs.map} +2 -2
  64. package/dist/lib/node-esm/{identity-created-IJQO6GCR.mjs → identity-created-AL7NNCKH.mjs} +2 -2
  65. package/dist/lib/node-esm/{identity-created-IJQO6GCR.mjs.map → identity-created-AL7NNCKH.mjs.map} +3 -3
  66. package/dist/lib/node-esm/index.mjs +12 -10
  67. package/dist/lib/node-esm/index.mjs.map +3 -3
  68. package/dist/lib/node-esm/{intent-resolver-MHGHRGDT.mjs → intent-resolver-W6P27SCF.mjs} +15 -15
  69. package/dist/lib/node-esm/intent-resolver-W6P27SCF.mjs.map +7 -0
  70. package/dist/lib/node-esm/meta.json +1 -1
  71. package/dist/lib/node-esm/{react-root-KW3TGJGY.mjs → react-root-N27KETKT.mjs} +6 -6
  72. package/dist/lib/node-esm/{react-root-KW3TGJGY.mjs.map → react-root-N27KETKT.mjs.map} +2 -2
  73. package/dist/lib/node-esm/{react-surface-UUIUUD6P.mjs → react-surface-TNPAUQCM.mjs} +21 -10
  74. package/dist/lib/node-esm/react-surface-TNPAUQCM.mjs.map +7 -0
  75. package/dist/lib/node-esm/{schema-defs-WHJM7UZE.mjs → schema-defs-TPWZPDCR.mjs} +2 -2
  76. package/dist/lib/node-esm/schema-defs-TPWZPDCR.mjs.map +7 -0
  77. package/dist/lib/node-esm/{schema-tools-KWW5PTML.mjs → schema-tools-PJE2FKWH.mjs} +11 -11
  78. package/dist/lib/node-esm/schema-tools-PJE2FKWH.mjs.map +7 -0
  79. package/dist/lib/node-esm/{settings-SAOBPND3.mjs → settings-WKUWY3P6.mjs} +2 -2
  80. package/dist/lib/node-esm/{spaces-ready-HIUKNDZK.mjs → spaces-ready-PQLLIO5W.mjs} +14 -12
  81. package/dist/lib/node-esm/spaces-ready-PQLLIO5W.mjs.map +7 -0
  82. package/dist/lib/node-esm/{state-ZVEHQ4BJ.mjs → state-4M5A6OSB.mjs} +2 -2
  83. package/dist/lib/node-esm/state-4M5A6OSB.mjs.map +7 -0
  84. package/dist/lib/node-esm/types/index.mjs +1 -1
  85. package/dist/types/src/capabilities/app-graph-builder.d.ts.map +1 -1
  86. package/dist/types/src/capabilities/capabilities.d.ts +1 -1
  87. package/dist/types/src/capabilities/capabilities.d.ts.map +1 -1
  88. package/dist/types/src/capabilities/identity-created.d.ts.map +1 -1
  89. package/dist/types/src/capabilities/intent-resolver.d.ts.map +1 -1
  90. package/dist/types/src/capabilities/react-root.d.ts.map +1 -1
  91. package/dist/types/src/capabilities/react-surface.d.ts.map +1 -1
  92. package/dist/types/src/capabilities/schema-defs.d.ts.map +1 -1
  93. package/dist/types/src/capabilities/schema-tools.d.ts.map +1 -1
  94. package/dist/types/src/capabilities/spaces-ready.d.ts.map +1 -1
  95. package/dist/types/src/capabilities/state.d.ts.map +1 -1
  96. package/dist/types/src/components/CreateDialog/CreateObjectDialog.d.ts.map +1 -1
  97. package/dist/types/src/components/CreateDialog/CreateObjectDialog.stories.d.ts.map +1 -1
  98. package/dist/types/src/components/CreateDialog/CreateObjectPanel.d.ts +1 -1
  99. package/dist/types/src/components/CreateDialog/CreateObjectPanel.d.ts.map +1 -1
  100. package/dist/types/src/components/MembersContainer.d.ts.map +1 -1
  101. package/dist/types/src/components/MembersContainer.stories.d.ts +1 -1
  102. package/dist/types/src/components/MembersContainer.stories.d.ts.map +1 -1
  103. package/dist/types/src/components/ObjectSettings/AdvancedObjectSettings.d.ts.map +1 -1
  104. package/dist/types/src/components/PopoverRenameObject.d.ts +1 -1
  105. package/dist/types/src/components/PopoverRenameObject.d.ts.map +1 -1
  106. package/dist/types/src/components/RecordMain.d.ts +7 -0
  107. package/dist/types/src/components/RecordMain.d.ts.map +1 -0
  108. package/dist/types/src/components/SpacePresence.d.ts.map +1 -1
  109. package/dist/types/src/components/SpacePresence.stories.d.ts.map +1 -1
  110. package/dist/types/src/components/SpaceSettings/SpaceSettingsContainer.d.ts.map +1 -1
  111. package/dist/types/src/components/SpaceSettings/SpaceSettingsContainer.stories.d.ts.map +1 -1
  112. package/dist/types/src/components/SyncStatus/SyncStatus.d.ts.map +1 -1
  113. package/dist/types/src/components/SyncStatus/SyncStatus.stories.d.ts.map +1 -1
  114. package/dist/types/src/components/index.d.ts +3 -0
  115. package/dist/types/src/components/index.d.ts.map +1 -1
  116. package/dist/types/src/hooks/useActiveSpace.d.ts.map +1 -1
  117. package/dist/types/src/translations.d.ts +4 -4
  118. package/dist/types/src/types/types.d.ts +1 -1
  119. package/dist/types/src/types/types.d.ts.map +1 -1
  120. package/dist/types/src/util.d.ts +4 -3
  121. package/dist/types/src/util.d.ts.map +1 -1
  122. package/dist/types/tsconfig.tsbuildinfo +1 -1
  123. package/package.json +50 -48
  124. package/src/SpacePlugin.ts +3 -3
  125. package/src/capabilities/app-graph-builder.ts +47 -9
  126. package/src/capabilities/capabilities.ts +2 -2
  127. package/src/capabilities/identity-created.ts +1 -1
  128. package/src/capabilities/intent-resolver.ts +6 -5
  129. package/src/capabilities/react-root.tsx +2 -1
  130. package/src/capabilities/react-surface.tsx +22 -8
  131. package/src/capabilities/schema-defs.ts +3 -2
  132. package/src/capabilities/schema-tool.test.ts +1 -1
  133. package/src/capabilities/schema-tools.ts +11 -11
  134. package/src/capabilities/spaces-ready.ts +10 -7
  135. package/src/capabilities/state.ts +3 -2
  136. package/src/components/AwaitingObject.tsx +1 -1
  137. package/src/components/CreateDialog/CreateObjectDialog.stories.tsx +2 -1
  138. package/src/components/CreateDialog/CreateObjectDialog.tsx +3 -2
  139. package/src/components/CreateDialog/CreateObjectPanel.tsx +3 -3
  140. package/src/components/CreateDialog/CreateSpaceDialog.tsx +1 -1
  141. package/src/components/JoinDialog.tsx +1 -1
  142. package/src/components/MembersContainer.stories.tsx +4 -3
  143. package/src/components/MembersContainer.tsx +2 -2
  144. package/src/components/ObjectDetailsPanel.tsx +1 -1
  145. package/src/components/ObjectSettings/AdvancedObjectSettings.tsx +2 -1
  146. package/src/components/PopoverRenameObject.tsx +6 -12
  147. package/src/components/PopoverRenameSpace.tsx +1 -1
  148. package/src/components/RecordMain.tsx +43 -0
  149. package/src/components/SchemaContainer.tsx +2 -2
  150. package/src/components/SpacePluginSettings.tsx +2 -2
  151. package/src/components/SpacePresence.stories.tsx +2 -1
  152. package/src/components/SpacePresence.tsx +7 -7
  153. package/src/components/SpaceSettings/SpaceSettingsContainer.stories.tsx +2 -1
  154. package/src/components/SpaceSettings/SpaceSettingsContainer.tsx +6 -6
  155. package/src/components/SyncStatus/SyncStatus.stories.tsx +2 -1
  156. package/src/components/SyncStatus/SyncStatus.tsx +3 -2
  157. package/src/components/index.ts +1 -0
  158. package/src/events.ts +1 -1
  159. package/src/hooks/useActiveSpace.ts +1 -1
  160. package/src/hooks/useInputSurfaceLookup.tsx +1 -1
  161. package/src/translations.ts +4 -4
  162. package/src/types/types.ts +1 -1
  163. package/src/util.tsx +12 -6
  164. package/dist/lib/browser/app-graph-builder-7CZZJS3S.mjs.map +0 -7
  165. package/dist/lib/browser/chunk-V7MJSSBQ.mjs.map +0 -7
  166. package/dist/lib/browser/intent-resolver-TIXVDYN7.mjs.map +0 -7
  167. package/dist/lib/browser/react-surface-TPNLWJJH.mjs.map +0 -7
  168. package/dist/lib/browser/schema-defs-Z6FC4AHC.mjs.map +0 -7
  169. package/dist/lib/browser/schema-tools-BNP4JTD7.mjs.map +0 -7
  170. package/dist/lib/browser/spaces-ready-TOPG6IV4.mjs.map +0 -7
  171. package/dist/lib/browser/state-QYZAB45H.mjs.map +0 -7
  172. package/dist/lib/node-esm/app-graph-builder-KGIGWC72.mjs.map +0 -7
  173. package/dist/lib/node-esm/chunk-6X5DLJM5.mjs.map +0 -7
  174. package/dist/lib/node-esm/intent-resolver-MHGHRGDT.mjs.map +0 -7
  175. package/dist/lib/node-esm/react-surface-UUIUUD6P.mjs.map +0 -7
  176. package/dist/lib/node-esm/schema-defs-WHJM7UZE.mjs.map +0 -7
  177. package/dist/lib/node-esm/schema-tools-KWW5PTML.mjs.map +0 -7
  178. package/dist/lib/node-esm/spaces-ready-HIUKNDZK.mjs.map +0 -7
  179. /package/dist/lib/browser/{app-graph-serializer-H6AW7KGS.mjs.map → app-graph-serializer-YPHYVZAP.mjs.map} +0 -0
  180. /package/dist/lib/browser/{settings-4IMP5RYT.mjs.map → settings-FLLBP5KI.mjs.map} +0 -0
  181. /package/dist/lib/node-esm/{app-graph-serializer-2ICUGQQT.mjs.map → app-graph-serializer-PKVLWV6V.mjs.map} +0 -0
  182. /package/dist/lib/node-esm/{settings-SAOBPND3.mjs.map → settings-WKUWY3P6.mjs.map} +0 -0
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dxos/plugin-space",
3
- "version": "0.8.4-main.c1de068",
3
+ "version": "0.8.4-main.fd6878d",
4
4
  "description": "DXOS Surface plugin for DXOS ECHO Spaces",
5
5
  "homepage": "https://dxos.org",
6
6
  "bugs": "https://github.com/dxos/dxos/issues",
@@ -10,11 +10,13 @@
10
10
  "type": "module",
11
11
  "exports": {
12
12
  ".": {
13
+ "source": "./src/index.ts",
13
14
  "types": "./dist/types/src/index.d.ts",
14
15
  "browser": "./dist/lib/browser/index.mjs",
15
16
  "node": "./dist/lib/node-esm/index.mjs"
16
17
  },
17
18
  "./types": {
19
+ "source": "./src/types/index.ts",
18
20
  "types": "./dist/types/src/types/index.d.ts",
19
21
  "browser": "./dist/lib/browser/types/index.mjs",
20
22
  "node": "./dist/lib/node-esm/types/index.mjs"
@@ -33,67 +35,67 @@
33
35
  "src"
34
36
  ],
35
37
  "dependencies": {
36
- "@automerge/automerge": "3.0.0",
38
+ "@automerge/automerge": "3.1.1",
37
39
  "@preact-signals/safe-react": "^0.9.0",
38
40
  "@preact/signals-core": "^1.9.0",
39
- "effect": "3.17.0",
41
+ "effect": "3.17.7",
40
42
  "jszip": "^3.10.1",
41
43
  "localforage": "^1.10.0",
42
44
  "react-drag-drop-files": "^2.3.8",
43
45
  "react-is": "~18.2.0",
44
46
  "react-qr-rounded": "^1.0.0",
45
- "@dxos/ai": "0.8.4-main.c1de068",
46
- "@dxos/app-framework": "0.8.4-main.c1de068",
47
- "@dxos/blueprints": "0.8.4-main.c1de068",
48
- "@dxos/context": "0.8.4-main.c1de068",
49
- "@dxos/async": "0.8.4-main.c1de068",
50
- "@dxos/client": "0.8.4-main.c1de068",
51
- "@dxos/echo": "0.8.4-main.c1de068",
52
- "@dxos/display-name": "0.8.4-main.c1de068",
53
- "@dxos/echo-schema": "0.8.4-main.c1de068",
54
- "@dxos/echo-signals": "0.8.4-main.c1de068",
55
- "@dxos/effect": "0.8.4-main.c1de068",
56
- "@dxos/invariant": "0.8.4-main.c1de068",
57
- "@dxos/keys": "0.8.4-main.c1de068",
58
- "@dxos/live-object": "0.8.4-main.c1de068",
59
- "@dxos/local-storage": "0.8.4-main.c1de068",
60
- "@dxos/log": "0.8.4-main.c1de068",
61
- "@dxos/migrations": "0.8.4-main.c1de068",
62
- "@dxos/plugin-client": "0.8.4-main.c1de068",
63
- "@dxos/plugin-graph": "0.8.4-main.c1de068",
64
- "@dxos/plugin-observability": "0.8.4-main.c1de068",
65
- "@dxos/plugin-deck": "0.8.4-main.c1de068",
66
- "@dxos/plugin-status-bar": "0.8.4-main.c1de068",
67
- "@dxos/react-client": "0.8.4-main.c1de068",
68
- "@dxos/react-ui-attention": "0.8.4-main.c1de068",
69
- "@dxos/react-ui-editor": "0.8.4-main.c1de068",
70
- "@dxos/protocols": "0.8.4-main.c1de068",
71
- "@dxos/react-ui-form": "0.8.4-main.c1de068",
72
- "@dxos/react-ui-pickers": "0.8.4-main.c1de068",
73
- "@dxos/react-ui-list": "0.8.4-main.c1de068",
74
- "@dxos/react-ui-searchlist": "0.8.4-main.c1de068",
75
- "@dxos/react-ui-stack": "0.8.4-main.c1de068",
76
- "@dxos/plugin-attention": "0.8.4-main.c1de068",
77
- "@dxos/react-ui-syntax-highlighter": "0.8.4-main.c1de068",
78
- "@dxos/react-ui-tabs": "0.8.4-main.c1de068",
79
- "@dxos/react-ui-theme": "0.8.4-main.c1de068",
80
- "@dxos/schema": "0.8.4-main.c1de068",
81
- "@dxos/util": "0.8.4-main.c1de068",
82
- "@dxos/shell": "0.8.4-main.c1de068"
47
+ "@dxos/ai": "0.8.4-main.fd6878d",
48
+ "@dxos/app-framework": "0.8.4-main.fd6878d",
49
+ "@dxos/async": "0.8.4-main.fd6878d",
50
+ "@dxos/client": "0.8.4-main.fd6878d",
51
+ "@dxos/blueprints": "0.8.4-main.fd6878d",
52
+ "@dxos/context": "0.8.4-main.fd6878d",
53
+ "@dxos/display-name": "0.8.4-main.fd6878d",
54
+ "@dxos/echo": "0.8.4-main.fd6878d",
55
+ "@dxos/echo-signals": "0.8.4-main.fd6878d",
56
+ "@dxos/echo-schema": "0.8.4-main.fd6878d",
57
+ "@dxos/effect": "0.8.4-main.fd6878d",
58
+ "@dxos/invariant": "0.8.4-main.fd6878d",
59
+ "@dxos/keys": "0.8.4-main.fd6878d",
60
+ "@dxos/live-object": "0.8.4-main.fd6878d",
61
+ "@dxos/local-storage": "0.8.4-main.fd6878d",
62
+ "@dxos/log": "0.8.4-main.fd6878d",
63
+ "@dxos/migrations": "0.8.4-main.fd6878d",
64
+ "@dxos/plugin-attention": "0.8.4-main.fd6878d",
65
+ "@dxos/plugin-client": "0.8.4-main.fd6878d",
66
+ "@dxos/plugin-deck": "0.8.4-main.fd6878d",
67
+ "@dxos/plugin-observability": "0.8.4-main.fd6878d",
68
+ "@dxos/plugin-graph": "0.8.4-main.fd6878d",
69
+ "@dxos/plugin-status-bar": "0.8.4-main.fd6878d",
70
+ "@dxos/react-client": "0.8.4-main.fd6878d",
71
+ "@dxos/protocols": "0.8.4-main.fd6878d",
72
+ "@dxos/react-ui-editor": "0.8.4-main.fd6878d",
73
+ "@dxos/react-ui-form": "0.8.4-main.fd6878d",
74
+ "@dxos/react-ui-list": "0.8.4-main.fd6878d",
75
+ "@dxos/react-ui-attention": "0.8.4-main.fd6878d",
76
+ "@dxos/react-ui-pickers": "0.8.4-main.fd6878d",
77
+ "@dxos/react-ui-searchlist": "0.8.4-main.fd6878d",
78
+ "@dxos/react-ui-syntax-highlighter": "0.8.4-main.fd6878d",
79
+ "@dxos/react-ui-tabs": "0.8.4-main.fd6878d",
80
+ "@dxos/react-ui-theme": "0.8.4-main.fd6878d",
81
+ "@dxos/react-ui-stack": "0.8.4-main.fd6878d",
82
+ "@dxos/schema": "0.8.4-main.fd6878d",
83
+ "@dxos/util": "0.8.4-main.fd6878d",
84
+ "@dxos/shell": "0.8.4-main.fd6878d"
83
85
  },
84
86
  "devDependencies": {
85
87
  "@babel/core": "^7.18.13",
86
88
  "@effect-rx/rx-react": "0.38.0",
87
- "@effect/platform": "0.89.0",
89
+ "@effect/platform": "0.90.2",
88
90
  "@types/react": "~18.2.0",
89
91
  "@types/react-dom": "~18.2.0",
90
92
  "react": "~18.2.0",
91
93
  "react-dom": "~18.2.0",
92
94
  "vite": "5.4.7",
93
- "@dxos/react-ui": "0.8.4-main.c1de068",
94
- "@dxos/storybook-utils": "0.8.4-main.c1de068",
95
- "@dxos/react-ui-theme": "0.8.4-main.c1de068",
96
- "@dxos/random": "0.8.4-main.c1de068"
95
+ "@dxos/random": "0.8.4-main.fd6878d",
96
+ "@dxos/react-ui": "0.8.4-main.fd6878d",
97
+ "@dxos/react-ui-theme": "0.8.4-main.fd6878d",
98
+ "@dxos/storybook-utils": "0.8.4-main.fd6878d"
97
99
  },
98
100
  "peerDependencies": {
99
101
  "@effect-rx/rx-react": "^0.34.1",
@@ -101,8 +103,8 @@
101
103
  "effect": "^3.13.3",
102
104
  "react": "~18.2.0",
103
105
  "react-dom": "~18.2.0",
104
- "@dxos/react-ui": "0.8.4-main.c1de068",
105
- "@dxos/react-ui-theme": "0.8.4-main.c1de068"
106
+ "@dxos/react-ui": "0.8.4-main.fd6878d",
107
+ "@dxos/react-ui-theme": "0.8.4-main.fd6878d"
106
108
  },
107
109
  "publishConfig": {
108
110
  "access": "public"
@@ -17,7 +17,7 @@ import {
17
17
  import { Ref, Type } from '@dxos/echo';
18
18
  import { AttentionEvents } from '@dxos/plugin-attention';
19
19
  import { ClientCapabilities, ClientEvents } from '@dxos/plugin-client';
20
- import { createDefaultSchema, DataType, ViewTypeV1, ViewTypeV1ToV2, ViewTypeV2 } from '@dxos/schema';
20
+ import { DataType, ViewTypeV1, ViewTypeV1ToV2, ViewTypeV2, createDefaultSchema } from '@dxos/schema';
21
21
  import { translations as shellTranslations } from '@dxos/shell/react';
22
22
 
23
23
  import {
@@ -31,13 +31,13 @@ import {
31
31
  SchemaTools,
32
32
  SpaceCapabilities,
33
33
  SpaceSettings,
34
- SpacesReady,
35
34
  SpaceState,
35
+ SpacesReady,
36
36
  } from './capabilities';
37
37
  import { SpaceEvents } from './events';
38
38
  import { meta } from './meta';
39
39
  import { translations } from './translations';
40
- import { CollectionAction, defineObjectForm, SpaceAction } from './types';
40
+ import { CollectionAction, SpaceAction, defineObjectForm } from './types';
41
41
 
42
42
  export type SpacePluginOptions = {
43
43
  /**
@@ -3,23 +3,24 @@
3
3
  //
4
4
 
5
5
  import { Rx } from '@effect-rx/rx-react';
6
- import { Array, Option, pipe, Schema } from 'effect';
6
+ import { Array, Option, Schema, pipe } from 'effect';
7
7
 
8
- import { Capabilities, contributes, createIntent, type PluginContext } from '@dxos/app-framework';
9
- import { getSpace, SpaceState, type Space, isSpace, type QueryResult } from '@dxos/client/echo';
8
+ import { Capabilities, type PluginContext, contributes, createIntent } from '@dxos/app-framework';
9
+ import { type QueryResult, type Space, SpaceState, getSpace, isSpace, parseId } from '@dxos/client/echo';
10
10
  import { Filter, Obj, Query, Type } from '@dxos/echo';
11
11
  import { log } from '@dxos/log';
12
12
  import { ClientCapabilities } from '@dxos/plugin-client';
13
- import { PLANK_COMPANION_TYPE, ATTENDABLE_PATH_SEPARATOR } from '@dxos/plugin-deck/types';
14
- import { createExtension, rxFromObservable, ROOT_ID, rxFromSignal } from '@dxos/plugin-graph';
13
+ import { ATTENDABLE_PATH_SEPARATOR, PLANK_COMPANION_TYPE } from '@dxos/plugin-deck/types';
14
+ import { ROOT_ID, createExtension, rxFromObservable, rxFromSignal } from '@dxos/plugin-graph';
15
15
  import { DataType } from '@dxos/schema';
16
16
  import { isNonNullable } from '@dxos/util';
17
17
 
18
- import { SpaceCapabilities } from './capabilities';
19
18
  import { getActiveSpace } from '../hooks';
20
19
  import { SPACE_PLUGIN } from '../meta';
21
20
  import { SPACE_TYPE, SpaceAction, type SpaceSettingsProps } from '../types';
22
21
  import {
22
+ SHARED,
23
+ SPACES,
23
24
  constructObjectActions,
24
25
  constructSpaceActions,
25
26
  constructSpaceNode,
@@ -27,10 +28,10 @@ import {
27
28
  createStaticSchemaActions,
28
29
  createStaticSchemaNode,
29
30
  rxFromQuery,
30
- SHARED,
31
- SPACES,
32
31
  } from '../util';
33
32
 
33
+ import { SpaceCapabilities } from './capabilities';
34
+
34
35
  export default (context: PluginContext) => {
35
36
  // TODO(wittjosiah): Make reactive.
36
37
  const resolve = (typename: string) =>
@@ -592,6 +593,37 @@ export default (context: PluginContext) => {
592
593
  },
593
594
  }),
594
595
 
596
+ // Create record nodes.
597
+ createExtension({
598
+ id: `${SPACE_PLUGIN}/records`,
599
+ resolver: (id) => {
600
+ let query: QueryResult<Type.Expando> | undefined;
601
+ return Rx.make((get) => {
602
+ const client = context.getCapability(ClientCapabilities.Client);
603
+ const { spaceId, objectId } = parseId(id);
604
+ if (!spaceId || !objectId) {
605
+ return null;
606
+ }
607
+
608
+ const space = client.spaces.get(spaceId);
609
+ if (!space) {
610
+ return null;
611
+ }
612
+
613
+ if (!query) {
614
+ query = space.db.query(Filter.ids(objectId));
615
+ }
616
+
617
+ const object = get(rxFromQuery(query)).at(0);
618
+ if (!object) {
619
+ return null;
620
+ }
621
+
622
+ return createObjectNode({ object, space, resolve, disposition: 'hidden' });
623
+ });
624
+ },
625
+ }),
626
+
595
627
  // Create collection actions and action groups.
596
628
  createExtension({
597
629
  id: `${SPACE_PLUGIN}/object-actions`,
@@ -611,7 +643,13 @@ export default (context: PluginContext) => {
611
643
  query = space.db.query(Filter.type(DataType.View));
612
644
  }
613
645
 
614
- let deletable = !isSchema;
646
+ let deletable =
647
+ !isSchema &&
648
+ // Don't allow the Records smart collection to be deleted.
649
+ !(
650
+ Obj.instanceOf(DataType.QueryCollection, object) &&
651
+ object.query.typename === DataType.StoredSchema.typename
652
+ );
615
653
  if (isSchema && query) {
616
654
  const views = get(rxFromQuery(query));
617
655
  const filteredViews = get(
@@ -4,10 +4,10 @@
4
4
 
5
5
  import { type Schema } from 'effect';
6
6
 
7
- import { type AnyIntentChain, defineCapability, type Label } from '@dxos/app-framework';
7
+ import { type AnyIntentChain, type Label, defineCapability } from '@dxos/app-framework';
8
8
  import { type Space } from '@dxos/react-client/echo';
9
9
  import { type DataType } from '@dxos/schema';
10
- import { type Position, type DeepReadonly } from '@dxos/util';
10
+ import { type DeepReadonly, type Position } from '@dxos/util';
11
11
 
12
12
  import { SPACE_PLUGIN } from '../meta';
13
13
  import { type ObjectForm, type PluginState } from '../types';
@@ -2,7 +2,7 @@
2
2
  // Copyright 2025 DXOS.org
3
3
  //
4
4
 
5
- import { contributes, type PluginContext, Capabilities } from '@dxos/app-framework';
5
+ import { Capabilities, type PluginContext, contributes } from '@dxos/app-framework';
6
6
  import { Obj, Ref } from '@dxos/echo';
7
7
  import { Migrations } from '@dxos/migrations';
8
8
  import { ClientCapabilities } from '@dxos/plugin-client';
@@ -18,25 +18,26 @@ import { Migrations } from '@dxos/migrations';
18
18
  import { ClientCapabilities } from '@dxos/plugin-client';
19
19
  import { ObservabilityAction } from '@dxos/plugin-observability/types';
20
20
  import { EdgeReplicationSetting } from '@dxos/protocols/proto/dxos/echo/metadata';
21
- import { isSpace, getSpace, SpaceState, fullyQualifiedId } from '@dxos/react-client/echo';
21
+ import { SpaceState, fullyQualifiedId, getSpace, isSpace } from '@dxos/react-client/echo';
22
22
  import { Invitation, InvitationEncoder } from '@dxos/react-client/invitations';
23
23
  import { ATTENDABLE_PATH_SEPARATOR } from '@dxos/react-ui-attention';
24
24
  import { DataType, ProjectionModel } from '@dxos/schema';
25
25
 
26
- import { SpaceCapabilities } from './capabilities';
27
26
  import {
28
27
  CREATE_OBJECT_DIALOG,
29
28
  CREATE_SPACE_DIALOG,
29
+ type CreateObjectDialogProps,
30
30
  JOIN_DIALOG,
31
+ type JoinDialogProps,
31
32
  POPOVER_RENAME_OBJECT,
32
33
  POPOVER_RENAME_SPACE,
33
- type CreateObjectDialogProps,
34
- type JoinDialogProps,
35
34
  } from '../components';
36
35
  import { SpaceEvents } from '../events';
37
36
  import { SPACE_PLUGIN } from '../meta';
38
37
  import { CollectionAction, SpaceAction } from '../types';
39
- import { cloneObject, COMPOSER_SPACE_LOCK, getNestedObjects } from '../util';
38
+ import { COMPOSER_SPACE_LOCK, cloneObject, getNestedObjects } from '../util';
39
+
40
+ import { SpaceCapabilities } from './capabilities';
40
41
 
41
42
  // TODO(wittjosiah): Remove.
42
43
  const SPACE_MAX_OBJECTS = 500;
@@ -6,10 +6,11 @@ import React from 'react';
6
6
 
7
7
  import { Capabilities, contributes, useCapability } from '@dxos/app-framework';
8
8
 
9
- import { SpaceCapabilities } from './capabilities';
10
9
  import { AwaitingObject } from '../components';
11
10
  import { SPACE_PLUGIN } from '../meta';
12
11
 
12
+ import { SpaceCapabilities } from './capabilities';
13
+
13
14
  export default () =>
14
15
  contributes(Capabilities.ReactRoot, {
15
16
  id: SPACE_PLUGIN,
@@ -7,9 +7,9 @@ import React, { useCallback, useMemo } from 'react';
7
7
 
8
8
  import {
9
9
  Capabilities,
10
+ Surface,
10
11
  contributes,
11
12
  createSurface,
12
- Surface,
13
13
  useCapabilities,
14
14
  useCapability,
15
15
  useLayout,
@@ -20,14 +20,14 @@ import { SettingsStore } from '@dxos/local-storage';
20
20
  import { ClientCapabilities } from '@dxos/plugin-client';
21
21
  import { useClient } from '@dxos/react-client';
22
22
  import {
23
+ type Space,
24
+ SpaceState,
23
25
  fullyQualifiedId,
24
26
  getSpace,
25
27
  isLiveObject,
26
28
  isSpace,
27
29
  parseId,
28
- SpaceState,
29
30
  useSpace,
30
- type Space,
31
31
  } from '@dxos/react-client/echo';
32
32
  import { Input, useTranslation } from '@dxos/react-ui';
33
33
  import { type InputProps, SelectInput } from '@dxos/react-ui-form';
@@ -35,13 +35,13 @@ import { HuePicker, IconPicker } from '@dxos/react-ui-pickers';
35
35
  import { DataType, type TypenameAnnotation, TypenameAnnotationId } from '@dxos/schema';
36
36
  import { type JoinPanelProps } from '@dxos/shell/react';
37
37
 
38
- import { SpaceCapabilities } from './capabilities';
39
38
  import {
40
- CollectionMain,
41
- CollectionSection,
42
39
  CREATE_OBJECT_DIALOG,
43
40
  CREATE_SPACE_DIALOG,
41
+ CollectionMain,
42
+ CollectionSection,
44
43
  CreateObjectDialog,
44
+ type CreateObjectDialogProps,
45
45
  CreateSpaceDialog,
46
46
  InlineSyncStatus,
47
47
  JOIN_DIALOG,
@@ -54,6 +54,7 @@ import {
54
54
  POPOVER_RENAME_SPACE,
55
55
  PopoverRenameObject,
56
56
  PopoverRenameSpace,
57
+ RecordMain,
57
58
  SchemaContainer,
58
59
  SmallPresenceLive,
59
60
  SpacePluginSettings,
@@ -61,11 +62,12 @@ import {
61
62
  SpaceSettingsContainer,
62
63
  SyncStatus,
63
64
  ViewEditor,
64
- type CreateObjectDialogProps,
65
65
  } from '../components';
66
66
  import { SPACE_PLUGIN } from '../meta';
67
67
  import { HueAnnotationId, IconAnnotationId, type SpaceSettingsProps } from '../types';
68
68
 
69
+ import { SpaceCapabilities } from './capabilities';
70
+
69
71
  type ReactSurfaceOptions = {
70
72
  createInvitationUrl: (invitationCode: string) => string;
71
73
  };
@@ -91,6 +93,13 @@ export default ({ createInvitationUrl }: ReactSurfaceOptions) =>
91
93
  />
92
94
  ),
93
95
  }),
96
+ createSurface({
97
+ id: `${SPACE_PLUGIN}/record-article`,
98
+ role: 'article',
99
+ position: 'fallback',
100
+ filter: (data): data is { subject: Obj.Any } => Obj.isObject(data.subject),
101
+ component: ({ data }) => <RecordMain record={data.subject} />,
102
+ }),
94
103
  createSurface({
95
104
  id: `${SPACE_PLUGIN}/collection-fallback`,
96
105
  role: 'article',
@@ -275,14 +284,19 @@ export default ({ createInvitationUrl }: ReactSurfaceOptions) =>
275
284
  annotation.includes('unused-static') &&
276
285
  whitelistedTypenames.has(Type.getTypename(schema)) &&
277
286
  !space.properties.staticRecords?.includes(Type.getTypename(schema));
287
+ const usedStatic =
288
+ annotation.includes('used-static') &&
289
+ whitelistedTypenames.has(Type.getTypename(schema)) &&
290
+ space.properties.staticRecords?.includes(Type.getTypename(schema));
278
291
  const objectForm = annotation.includes('object-form') && objectFormTypenames.has(Type.getTypename(schema));
279
- return annotation.includes('static') || limitedStatic || unusedStatic || objectForm;
292
+ return annotation.includes('static') || limitedStatic || unusedStatic || usedStatic || objectForm;
280
293
  });
281
294
  const dynamic = space?.db.schemaRegistry.query().runSync();
282
295
  const typenames = Array.from(
283
296
  new Set<string>([
284
297
  ...(annotation.includes('limited-static') ||
285
298
  annotation.includes('unused-static') ||
299
+ annotation.includes('used-static') ||
286
300
  annotation.includes('static') ||
287
301
  annotation.includes('object-form')
288
302
  ? fixed.map((schema) => Type.getTypename(schema))
@@ -2,12 +2,13 @@
2
2
  // Copyright 2025 DXOS.org
3
3
  //
4
4
 
5
- import { Capabilities, contributes, type PluginContext } from '@dxos/app-framework';
5
+ import { Capabilities, type PluginContext, contributes } from '@dxos/app-framework';
6
6
  import { ClientCapabilities } from '@dxos/plugin-client';
7
7
 
8
- import { SpaceCapabilities } from './capabilities';
9
8
  import { type ObjectForm } from '../types';
10
9
 
10
+ import { SpaceCapabilities } from './capabilities';
11
+
11
12
  export default (context: PluginContext) => {
12
13
  const registry = context.getCapability(Capabilities.RxRegistry);
13
14
  const client = context.getCapability(ClientCapabilities.Client);
@@ -3,7 +3,7 @@
3
3
  //
4
4
 
5
5
  import { Schema } from 'effect';
6
- import { describe, it, expect } from 'vitest';
6
+ import { describe, expect, it } from 'vitest';
7
7
 
8
8
  import { TypeNameSchema } from './schema-tools';
9
9
 
@@ -4,8 +4,8 @@
4
4
 
5
5
  import { Schema, SchemaAST } from 'effect';
6
6
 
7
- import { createTool, ToolResult } from '@dxos/ai';
8
- import { Capabilities, contributes, type PromiseIntentDispatcher } from '@dxos/app-framework';
7
+ import { ToolResult, createTool } from '@dxos/ai';
8
+ import { Capabilities, type PromiseIntentDispatcher, contributes } from '@dxos/app-framework';
9
9
  import { type Space } from '@dxos/client/echo';
10
10
  import { Type } from '@dxos/echo';
11
11
  import { FormatEnum, FormatEnums, SelectOptionSchema } from '@dxos/echo-schema';
@@ -61,8 +61,8 @@ export default () =>
61
61
  contributes(Capabilities.Tools, [
62
62
  createTool(SYSTEM_NAMESPACE, {
63
63
  name: 'list',
64
- description: 'List registered schemas in the space.',
65
- caption: 'Listing registered schemas...',
64
+ description: 'List registered record types in the space.',
65
+ caption: 'Listing registered record types...',
66
66
  schema: Schema.Struct({}),
67
67
  execute: async (_input, { extensions }) => {
68
68
  invariant(extensions?.space, 'No space.');
@@ -79,11 +79,11 @@ export default () =>
79
79
  }),
80
80
  createTool(SYSTEM_NAMESPACE, {
81
81
  name: 'get',
82
- description: 'Get a specific schema by its typename.',
83
- caption: 'Getting schema...',
82
+ description: 'Get a specific record type by its name.',
83
+ caption: 'Getting record...',
84
84
  schema: Schema.Struct({
85
85
  typename: Schema.String.annotations({
86
- description: 'The fully qualified typename of the schema.',
86
+ description: 'The fully qualified name of the record type.',
87
87
  }),
88
88
  }),
89
89
  execute: async ({ typename }, { extensions }) => {
@@ -100,15 +100,15 @@ export default () =>
100
100
  }),
101
101
  createTool(SYSTEM_NAMESPACE, {
102
102
  name: 'create',
103
- description: 'Create a new schema with the provided definition.',
104
- caption: 'Creating schema...',
103
+ description: 'Create a new record type with the provided definition.',
104
+ caption: 'Creating record type...',
105
105
  schema: Schema.Struct({
106
106
  typename: TypeNameSchema.annotations({
107
107
  description:
108
- 'The fully qualified schema typename. Must start with a domain, and then one or more path components (e.g., "example.com/type/TypeName").',
108
+ 'The fully qualified name of the record type. Must start with a domain, and then one or more path components (e.g., "example.com/type/TypeName").',
109
109
  }),
110
110
  properties: Schema.Array(PropertyDefinitionSchema).pipe(
111
- Schema.annotations({ description: 'Array of property definitions for the schema.' }),
111
+ Schema.annotations({ description: 'Array of property definitions for the record.' }),
112
112
  Schema.mutable,
113
113
  ),
114
114
  }),
@@ -4,7 +4,7 @@
4
4
 
5
5
  import { Option } from 'effect';
6
6
 
7
- import { contributes, createIntent, Capabilities, LayoutAction, type PluginContext } from '@dxos/app-framework';
7
+ import { Capabilities, LayoutAction, type PluginContext, contributes, createIntent } from '@dxos/app-framework';
8
8
  import { SubscriptionList } from '@dxos/async';
9
9
  import { Filter, Obj, Type } from '@dxos/echo';
10
10
  import { scheduledEffect } from '@dxos/echo-signals/core';
@@ -14,13 +14,14 @@ import { ClientCapabilities } from '@dxos/plugin-client';
14
14
  import { DeckCapabilities } from '@dxos/plugin-deck';
15
15
  import { EdgeReplicationSetting } from '@dxos/protocols/proto/dxos/echo/metadata';
16
16
  import { PublicKey } from '@dxos/react-client';
17
- import { FQ_ID_LENGTH, parseFullyQualifiedId, SpaceState } from '@dxos/react-client/echo';
17
+ import { FQ_ID_LENGTH, SpaceState, parseFullyQualifiedId } from '@dxos/react-client/echo';
18
18
  import { ComplexMap, reduceGroupBy } from '@dxos/util';
19
19
 
20
- import { SpaceCapabilities } from './capabilities';
21
20
  import { SpaceAction } from '../types';
22
21
  import { COMPOSER_SPACE_LOCK, SHARED } from '../util';
23
22
 
23
+ import { SpaceCapabilities } from './capabilities';
24
+
24
25
  const ACTIVE_NODE_BROADCAST_INTERVAL = 30_000;
25
26
  const WAIT_FOR_OBJECT_TIMEOUT = 5_000;
26
27
 
@@ -66,12 +67,14 @@ export default async (context: PluginContext) => {
66
67
  return;
67
68
  }
68
69
 
69
- const node = graph.getNode(active[0]).pipe(Option.getOrNull);
70
- if (!node && active[0].length === FQ_ID_LENGTH) {
70
+ const id = active[0];
71
+ const node = graph.getNode(id).pipe(Option.getOrNull);
72
+ if (!node && id.length === FQ_ID_LENGTH) {
73
+ void graph.initialize(id);
71
74
  const timeout = setTimeout(async () => {
72
- const node = graph.getNode(active[0]).pipe(Option.getOrNull);
75
+ const node = graph.getNode(id).pipe(Option.getOrNull);
73
76
  if (!node) {
74
- await dispatch(createIntent(SpaceAction.WaitForObject, { id: active[0] }));
77
+ await dispatch(createIntent(SpaceAction.WaitForObject, { id }));
75
78
  }
76
79
  }, WAIT_FOR_OBJECT_TIMEOUT);
77
80
 
@@ -4,15 +4,16 @@
4
4
 
5
5
  import { effect } from '@preact/signals-core';
6
6
 
7
- import { Capabilities, contributes, type PluginContext } from '@dxos/app-framework';
7
+ import { Capabilities, type PluginContext, contributes } from '@dxos/app-framework';
8
8
  import { PublicKey } from '@dxos/keys';
9
9
  import { LocalStorageStore } from '@dxos/local-storage';
10
10
  import { ComplexMap } from '@dxos/util';
11
11
 
12
- import { SpaceCapabilities } from './capabilities';
13
12
  import { SPACE_PLUGIN } from '../meta';
14
13
  import { type PluginState } from '../types';
15
14
 
15
+ import { SpaceCapabilities } from './capabilities';
16
+
16
17
  export default (context: PluginContext) => {
17
18
  const state = new LocalStorageStore<PluginState>(SPACE_PLUGIN, {
18
19
  awaiting: undefined,
@@ -4,7 +4,7 @@
4
4
 
5
5
  import React, { useCallback, useEffect, useState } from 'react';
6
6
 
7
- import { createIntent, LayoutAction, useIntentDispatcher, useLayout } from '@dxos/app-framework';
7
+ import { LayoutAction, createIntent, useIntentDispatcher, useLayout } from '@dxos/app-framework';
8
8
  import { useClient } from '@dxos/react-client';
9
9
  import { Filter, fullyQualifiedId, useQuery } from '@dxos/react-client/echo';
10
10
  import { Button, Icon, Toast, useTranslation } from '@dxos/react-ui';
@@ -15,9 +15,10 @@ import { DataType } from '@dxos/schema';
15
15
  import { translations as shellTranslations } from '@dxos/shell/react';
16
16
  import { withLayout, withTheme } from '@dxos/storybook-utils';
17
17
 
18
- import { CreateObjectDialog, type CreateObjectDialogProps } from './CreateObjectDialog';
19
18
  import { translations } from '../../translations';
20
19
 
20
+ import { CreateObjectDialog, type CreateObjectDialogProps } from './CreateObjectDialog';
21
+
21
22
  const Story = (args: CreateObjectDialogProps) => {
22
23
  return (
23
24
  <Dialog.Root open>
@@ -17,17 +17,18 @@ import {
17
17
  import { Obj, Query, Type } from '@dxos/echo';
18
18
  import { invariant } from '@dxos/invariant';
19
19
  import { useClient } from '@dxos/react-client';
20
- import { getSpace, isLiveObject, isSpace, type Space, useQuery, useSpaces } from '@dxos/react-client/echo';
20
+ import { type Space, getSpace, isLiveObject, isSpace, useQuery, useSpaces } from '@dxos/react-client/echo';
21
21
  import { Button, Dialog, Icon, useTranslation } from '@dxos/react-ui';
22
22
  import { cardDialogContent, cardDialogHeader } from '@dxos/react-ui-stack';
23
23
  import { DataType } from '@dxos/schema';
24
24
  import { isNonNullable } from '@dxos/util';
25
25
 
26
- import { CreateObjectPanel, type CreateObjectPanelProps } from './CreateObjectPanel';
27
26
  import { SpaceCapabilities } from '../../capabilities';
28
27
  import { SPACE_PLUGIN } from '../../meta';
29
28
  import { SpaceAction } from '../../types';
30
29
 
30
+ import { CreateObjectPanel, type CreateObjectPanelProps } from './CreateObjectPanel';
31
+
31
32
  export const CREATE_OBJECT_DIALOG = `${SPACE_PLUGIN}/CreateObjectDialog`;
32
33
 
33
34
  export type CreateObjectDialogProps = Pick<CreateObjectPanelProps, 'target' | 'typename' | 'name'> & {