@dxos/plugin-space 0.8.4-main.5ea62a8 → 0.8.4-main.72ec0f3

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 (338) hide show
  1. package/dist/lib/browser/{CollectionMain-D2B75XBS.mjs → CollectionArticle-WTHWY4YS.mjs} +10 -10
  2. package/dist/lib/browser/CollectionArticle-WTHWY4YS.mjs.map +7 -0
  3. package/dist/lib/browser/ObjectDetailsPanel-2BRUBHP6.mjs +141 -0
  4. package/dist/lib/browser/ObjectDetailsPanel-2BRUBHP6.mjs.map +7 -0
  5. package/dist/lib/browser/ObjectSettings-5LLWCVEK.mjs +144 -0
  6. package/dist/lib/browser/ObjectSettings-5LLWCVEK.mjs.map +7 -0
  7. package/dist/lib/browser/RecordArticle-SXDRWTTU.mjs +116 -0
  8. package/dist/lib/browser/RecordArticle-SXDRWTTU.mjs.map +7 -0
  9. package/dist/lib/browser/{app-graph-builder-FLF7XMQO.mjs → app-graph-builder-VQAB3GCQ.mjs} +109 -97
  10. package/dist/lib/browser/app-graph-builder-VQAB3GCQ.mjs.map +7 -0
  11. package/dist/lib/browser/{app-graph-serializer-3A6KBYWT.mjs → app-graph-serializer-KSLKMEPP.mjs} +19 -19
  12. package/dist/lib/browser/app-graph-serializer-KSLKMEPP.mjs.map +7 -0
  13. package/dist/lib/browser/{chunk-DCY3W36E.mjs → chunk-ERQMHU7L.mjs} +71 -61
  14. package/dist/lib/browser/chunk-ERQMHU7L.mjs.map +7 -0
  15. package/dist/lib/browser/{chunk-J6YZG77T.mjs → chunk-J2BUK5E6.mjs} +554 -481
  16. package/dist/lib/browser/chunk-J2BUK5E6.mjs.map +7 -0
  17. package/dist/lib/browser/chunk-K5J7ZB5P.mjs +20 -0
  18. package/dist/lib/browser/chunk-K5J7ZB5P.mjs.map +7 -0
  19. package/dist/lib/browser/{chunk-RQVV4XVF.mjs → chunk-M2Z6D4ZI.mjs} +27 -21
  20. package/dist/lib/browser/chunk-M2Z6D4ZI.mjs.map +7 -0
  21. package/dist/lib/browser/{chunk-WAXS2ZVX.mjs → chunk-OLBBSOVI.mjs} +26 -13
  22. package/dist/lib/browser/chunk-OLBBSOVI.mjs.map +7 -0
  23. package/dist/lib/browser/chunk-PU5IOFMG.mjs +167 -0
  24. package/dist/lib/browser/chunk-PU5IOFMG.mjs.map +7 -0
  25. package/dist/lib/browser/chunk-VZBIIYFM.mjs +16 -0
  26. package/dist/lib/browser/chunk-VZBIIYFM.mjs.map +7 -0
  27. package/dist/lib/browser/chunk-WJXU4GKV.mjs +19 -0
  28. package/dist/lib/browser/chunk-WJXU4GKV.mjs.map +7 -0
  29. package/dist/lib/browser/{identity-created-T6ZNVE7S.mjs → identity-created-NAXTPQXE.mjs} +5 -5
  30. package/dist/lib/browser/identity-created-NAXTPQXE.mjs.map +7 -0
  31. package/dist/lib/browser/index.mjs +89 -85
  32. package/dist/lib/browser/index.mjs.map +3 -3
  33. package/dist/lib/browser/{intent-resolver-7E3IZIJS.mjs → intent-resolver-Q2XWHAVA.mjs} +78 -84
  34. package/dist/lib/browser/intent-resolver-Q2XWHAVA.mjs.map +7 -0
  35. package/dist/lib/browser/meta.json +1 -1
  36. package/dist/lib/browser/react-root-MM4HADPE.mjs +30 -0
  37. package/dist/lib/browser/react-root-MM4HADPE.mjs.map +7 -0
  38. package/dist/lib/browser/{react-surface-GL4CE2F4.mjs → react-surface-SGZC3Y4U.mjs} +71 -105
  39. package/dist/lib/browser/react-surface-SGZC3Y4U.mjs.map +7 -0
  40. package/dist/lib/browser/{schema-defs-YDPFZELA.mjs → schema-defs-QPI2JU3X.mjs} +6 -6
  41. package/dist/lib/browser/schema-defs-QPI2JU3X.mjs.map +7 -0
  42. package/dist/lib/browser/{settings-B6MMHLPS.mjs → settings-WKLGKUHQ.mjs} +5 -5
  43. package/dist/lib/browser/{settings-B6MMHLPS.mjs.map → settings-WKLGKUHQ.mjs.map} +1 -1
  44. package/dist/lib/browser/{spaces-ready-QVABOCO3.mjs → spaces-ready-C5QC2UFL.mjs} +15 -14
  45. package/dist/lib/browser/spaces-ready-C5QC2UFL.mjs.map +7 -0
  46. package/dist/lib/browser/{state-2RGW7FQG.mjs → state-Q7YRE5KG.mjs} +7 -7
  47. package/dist/lib/browser/state-Q7YRE5KG.mjs.map +7 -0
  48. package/dist/lib/browser/types/index.mjs +2 -2
  49. package/dist/lib/node-esm/{CollectionMain-ZJIFCWKZ.mjs → CollectionArticle-KHXYT3SH.mjs} +10 -10
  50. package/dist/lib/node-esm/CollectionArticle-KHXYT3SH.mjs.map +7 -0
  51. package/dist/lib/node-esm/ObjectDetailsPanel-6PZQIQG3.mjs +142 -0
  52. package/dist/lib/node-esm/ObjectDetailsPanel-6PZQIQG3.mjs.map +7 -0
  53. package/dist/lib/node-esm/ObjectSettings-OQSBOH7K.mjs +145 -0
  54. package/dist/lib/node-esm/ObjectSettings-OQSBOH7K.mjs.map +7 -0
  55. package/dist/lib/node-esm/RecordArticle-NACBH42P.mjs +117 -0
  56. package/dist/lib/node-esm/RecordArticle-NACBH42P.mjs.map +7 -0
  57. package/dist/lib/node-esm/{app-graph-builder-D5YPOJS5.mjs → app-graph-builder-24JCLJPX.mjs} +109 -97
  58. package/dist/lib/node-esm/app-graph-builder-24JCLJPX.mjs.map +7 -0
  59. package/dist/lib/node-esm/{app-graph-serializer-M45TH5LR.mjs → app-graph-serializer-R723K764.mjs} +19 -19
  60. package/dist/lib/node-esm/app-graph-serializer-R723K764.mjs.map +7 -0
  61. package/dist/lib/node-esm/{chunk-WKQTO37U.mjs → chunk-2PN7QNGV.mjs} +27 -21
  62. package/dist/lib/node-esm/chunk-2PN7QNGV.mjs.map +7 -0
  63. package/dist/lib/node-esm/chunk-BDEFTL6K.mjs +18 -0
  64. package/dist/lib/node-esm/chunk-BDEFTL6K.mjs.map +7 -0
  65. package/dist/lib/node-esm/chunk-H4JILUJK.mjs +20 -0
  66. package/dist/lib/node-esm/chunk-H4JILUJK.mjs.map +7 -0
  67. package/dist/lib/node-esm/{chunk-ZCEH2VYE.mjs → chunk-ITQFSFQ3.mjs} +554 -481
  68. package/dist/lib/node-esm/chunk-ITQFSFQ3.mjs.map +7 -0
  69. package/dist/lib/node-esm/chunk-TJPQDQNI.mjs +168 -0
  70. package/dist/lib/node-esm/chunk-TJPQDQNI.mjs.map +7 -0
  71. package/dist/lib/node-esm/{chunk-AUQ3SKL2.mjs → chunk-VH2EBZEV.mjs} +71 -61
  72. package/dist/lib/node-esm/chunk-VH2EBZEV.mjs.map +7 -0
  73. package/dist/lib/node-esm/{chunk-HYIZVPOA.mjs → chunk-WC4VBFMA.mjs} +26 -13
  74. package/dist/lib/node-esm/chunk-WC4VBFMA.mjs.map +7 -0
  75. package/dist/lib/node-esm/chunk-Z7BB6HC2.mjs +21 -0
  76. package/dist/lib/node-esm/chunk-Z7BB6HC2.mjs.map +7 -0
  77. package/dist/lib/node-esm/{identity-created-AL7NNCKH.mjs → identity-created-OXLKCJE3.mjs} +5 -5
  78. package/dist/lib/node-esm/identity-created-OXLKCJE3.mjs.map +7 -0
  79. package/dist/lib/node-esm/index.mjs +89 -85
  80. package/dist/lib/node-esm/index.mjs.map +3 -3
  81. package/dist/lib/node-esm/{intent-resolver-UVO4MKWX.mjs → intent-resolver-YK4ESSET.mjs} +78 -84
  82. package/dist/lib/node-esm/intent-resolver-YK4ESSET.mjs.map +7 -0
  83. package/dist/lib/node-esm/meta.json +1 -1
  84. package/dist/lib/node-esm/{react-root-5EKYI66P.mjs → react-root-5ANDLQMX.mjs} +13 -12
  85. package/dist/lib/node-esm/react-root-5ANDLQMX.mjs.map +7 -0
  86. package/dist/lib/node-esm/{react-surface-IOC6YSVQ.mjs → react-surface-V7J2QB44.mjs} +71 -105
  87. package/dist/lib/node-esm/react-surface-V7J2QB44.mjs.map +7 -0
  88. package/dist/lib/node-esm/{schema-defs-OYBCWKAS.mjs → schema-defs-ZS2D47XW.mjs} +6 -6
  89. package/dist/lib/node-esm/schema-defs-ZS2D47XW.mjs.map +7 -0
  90. package/dist/lib/node-esm/{settings-IOFU6EAS.mjs → settings-RBB5633M.mjs} +5 -5
  91. package/dist/lib/node-esm/{settings-IOFU6EAS.mjs.map → settings-RBB5633M.mjs.map} +1 -1
  92. package/dist/lib/node-esm/{spaces-ready-MS6GHPFR.mjs → spaces-ready-SJCXV6YH.mjs} +15 -14
  93. package/dist/lib/node-esm/spaces-ready-SJCXV6YH.mjs.map +7 -0
  94. package/dist/lib/node-esm/{state-7VBVBGNS.mjs → state-362I5BMK.mjs} +7 -7
  95. package/dist/lib/node-esm/state-362I5BMK.mjs.map +7 -0
  96. package/dist/lib/node-esm/types/index.mjs +2 -2
  97. package/dist/types/src/SpacePlugin.d.ts +1 -1
  98. package/dist/types/src/SpacePlugin.d.ts.map +1 -1
  99. package/dist/types/src/capabilities/app-graph-builder.d.ts.map +1 -1
  100. package/dist/types/src/capabilities/capabilities.d.ts +6 -5
  101. package/dist/types/src/capabilities/capabilities.d.ts.map +1 -1
  102. package/dist/types/src/capabilities/intent-resolver.d.ts.map +1 -1
  103. package/dist/types/src/capabilities/react-root.d.ts.map +1 -1
  104. package/dist/types/src/capabilities/react-surface.d.ts.map +1 -1
  105. package/dist/types/src/capabilities/spaces-ready.d.ts.map +1 -1
  106. package/dist/types/src/components/AwaitingObject.d.ts.map +1 -1
  107. package/dist/types/src/components/CollectionArticle.d.ts +6 -0
  108. package/dist/types/src/components/CollectionArticle.d.ts.map +1 -0
  109. package/dist/types/src/components/CollectionSection.d.ts +3 -4
  110. package/dist/types/src/components/CollectionSection.d.ts.map +1 -1
  111. package/dist/types/src/components/CreateDialog/CreateObjectDialog.d.ts +1 -1
  112. package/dist/types/src/components/CreateDialog/CreateObjectDialog.d.ts.map +1 -1
  113. package/dist/types/src/components/CreateDialog/CreateObjectDialog.stories.d.ts +110 -1
  114. package/dist/types/src/components/CreateDialog/CreateObjectDialog.stories.d.ts.map +1 -1
  115. package/dist/types/src/components/CreateDialog/CreateObjectPanel.d.ts +3 -3
  116. package/dist/types/src/components/CreateDialog/CreateObjectPanel.d.ts.map +1 -1
  117. package/dist/types/src/components/CreateDialog/CreateSpaceDialog.d.ts +1 -1
  118. package/dist/types/src/components/CreateDialog/CreateSpaceDialog.d.ts.map +1 -1
  119. package/dist/types/src/components/{JoinDialog.d.ts → JoinDialog/JoinDialog.d.ts} +1 -1
  120. package/dist/types/src/components/JoinDialog/JoinDialog.d.ts.map +1 -0
  121. package/dist/types/src/components/JoinDialog/index.d.ts +2 -0
  122. package/dist/types/src/components/JoinDialog/index.d.ts.map +1 -0
  123. package/dist/types/src/components/MembersContainer/MembersContainer.d.ts.map +1 -0
  124. package/dist/types/src/components/MembersContainer/MembersContainer.stories.d.ts +1697 -0
  125. package/dist/types/src/components/{MembersContainer.stories.d.ts.map → MembersContainer/MembersContainer.stories.d.ts.map} +1 -1
  126. package/dist/types/src/components/MembersContainer/index.d.ts +2 -0
  127. package/dist/types/src/components/MembersContainer/index.d.ts.map +1 -0
  128. package/dist/types/src/components/ObjectDetailsPanel/ObjectDetailsPanel.d.ts +9 -0
  129. package/dist/types/src/components/ObjectDetailsPanel/ObjectDetailsPanel.d.ts.map +1 -0
  130. package/dist/types/src/components/ObjectDetailsPanel/ObjectForm.d.ts +10 -0
  131. package/dist/types/src/components/ObjectDetailsPanel/ObjectForm.d.ts.map +1 -0
  132. package/dist/types/src/components/ObjectDetailsPanel/index.d.ts +3 -0
  133. package/dist/types/src/components/ObjectDetailsPanel/index.d.ts.map +1 -0
  134. package/dist/types/src/components/ObjectRenamePopover/ObjectRenamePopover.d.ts +7 -0
  135. package/dist/types/src/components/ObjectRenamePopover/ObjectRenamePopover.d.ts.map +1 -0
  136. package/dist/types/src/components/ObjectRenamePopover/index.d.ts +2 -0
  137. package/dist/types/src/components/ObjectRenamePopover/index.d.ts.map +1 -0
  138. package/dist/types/src/components/ObjectSettings/BaseObjectSettings.d.ts +2 -2
  139. package/dist/types/src/components/ObjectSettings/BaseObjectSettings.d.ts.map +1 -1
  140. package/dist/types/src/components/ObjectSettings/BaseObjectSettings.stories.d.ts +1530 -0
  141. package/dist/types/src/components/ObjectSettings/BaseObjectSettings.stories.d.ts.map +1 -0
  142. package/dist/types/src/components/ObjectSettings/ForeignKeys.d.ts +1 -1
  143. package/dist/types/src/components/ObjectSettings/ForeignKeys.d.ts.map +1 -1
  144. package/dist/types/src/components/ObjectSettings/ObjectSettingsContainer.d.ts.map +1 -1
  145. package/dist/types/src/components/ObjectSettings/index.d.ts +2 -1
  146. package/dist/types/src/components/ObjectSettings/index.d.ts.map +1 -1
  147. package/dist/types/src/components/RecordArticle.d.ts +5 -0
  148. package/dist/types/src/components/RecordArticle.d.ts.map +1 -0
  149. package/dist/types/src/components/{MembersContainer.stories.d.ts → RecordArticle.stories.d.ts} +111 -2
  150. package/dist/types/src/components/RecordArticle.stories.d.ts.map +1 -0
  151. package/dist/types/src/components/SchemaContainer.d.ts +1 -1
  152. package/dist/types/src/components/SchemaContainer.d.ts.map +1 -1
  153. package/dist/types/src/components/SpacePluginSettings.d.ts.map +1 -1
  154. package/dist/types/src/components/{SpacePresence.d.ts → SpacePresence/SpacePresence.d.ts} +4 -3
  155. package/dist/types/src/components/SpacePresence/SpacePresence.d.ts.map +1 -0
  156. package/dist/types/src/components/{SpacePresence.stories.d.ts → SpacePresence/SpacePresence.stories.d.ts} +112 -3
  157. package/dist/types/src/components/{SpacePresence.stories.d.ts.map → SpacePresence/SpacePresence.stories.d.ts.map} +1 -1
  158. package/dist/types/src/components/SpacePresence/index.d.ts +2 -0
  159. package/dist/types/src/components/SpacePresence/index.d.ts.map +1 -0
  160. package/dist/types/src/components/SpaceRenamePopover/SpaceRenamePopover.d.ts +7 -0
  161. package/dist/types/src/components/SpaceRenamePopover/SpaceRenamePopover.d.ts.map +1 -0
  162. package/dist/types/src/components/SpaceRenamePopover/index.d.ts +2 -0
  163. package/dist/types/src/components/SpaceRenamePopover/index.d.ts.map +1 -0
  164. package/dist/types/src/components/SpaceSettings/SpaceSettingsContainer.d.ts.map +1 -1
  165. package/dist/types/src/components/SpaceSettings/SpaceSettingsContainer.stories.d.ts +110 -1
  166. package/dist/types/src/components/SpaceSettings/SpaceSettingsContainer.stories.d.ts.map +1 -1
  167. package/dist/types/src/components/SyncStatus/SyncStatus.d.ts.map +1 -1
  168. package/dist/types/src/components/SyncStatus/SyncStatus.stories.d.ts +111 -2
  169. package/dist/types/src/components/SyncStatus/SyncStatus.stories.d.ts.map +1 -1
  170. package/dist/types/src/components/ViewEditor.d.ts +3 -4
  171. package/dist/types/src/components/ViewEditor.d.ts.map +1 -1
  172. package/dist/types/src/components/index.d.ts +10 -17
  173. package/dist/types/src/components/index.d.ts.map +1 -1
  174. package/dist/types/src/events.d.ts.map +1 -1
  175. package/dist/types/src/helpers/index.d.ts +2 -0
  176. package/dist/types/src/helpers/index.d.ts.map +1 -0
  177. package/dist/types/src/helpers/query.d.ts +8 -0
  178. package/dist/types/src/helpers/query.d.ts.map +1 -0
  179. package/dist/types/src/helpers/query.test.d.ts +2 -0
  180. package/dist/types/src/helpers/query.test.d.ts.map +1 -0
  181. package/dist/types/src/hooks/index.d.ts +1 -0
  182. package/dist/types/src/hooks/index.d.ts.map +1 -1
  183. package/dist/types/src/hooks/useActiveSpace.d.ts.map +1 -1
  184. package/dist/types/src/hooks/useInputSurfaceLookup.d.ts +1 -1
  185. package/dist/types/src/hooks/useInputSurfaceLookup.d.ts.map +1 -1
  186. package/dist/types/src/hooks/usePath.d.ts +1 -1
  187. package/dist/types/src/hooks/usePath.d.ts.map +1 -1
  188. package/dist/types/src/hooks/useTypeOptions.d.ts +10 -0
  189. package/dist/types/src/hooks/useTypeOptions.d.ts.map +1 -0
  190. package/dist/types/src/index.d.ts +1 -0
  191. package/dist/types/src/index.d.ts.map +1 -1
  192. package/dist/types/src/meta.d.ts +0 -1
  193. package/dist/types/src/meta.d.ts.map +1 -1
  194. package/dist/types/src/translations.d.ts +1322 -22
  195. package/dist/types/src/translations.d.ts.map +1 -1
  196. package/dist/types/src/types/types.d.ts +59 -76
  197. package/dist/types/src/types/types.d.ts.map +1 -1
  198. package/dist/types/src/util.d.ts +10 -7
  199. package/dist/types/src/util.d.ts.map +1 -1
  200. package/dist/types/tsconfig.tsbuildinfo +1 -1
  201. package/package.json +64 -59
  202. package/src/SpacePlugin.ts +228 -212
  203. package/src/capabilities/app-graph-builder.ts +158 -123
  204. package/src/capabilities/app-graph-serializer.ts +12 -12
  205. package/src/capabilities/capabilities.ts +16 -11
  206. package/src/capabilities/identity-created.ts +2 -2
  207. package/src/capabilities/intent-resolver.ts +68 -61
  208. package/src/capabilities/react-root.tsx +4 -3
  209. package/src/capabilities/react-surface.tsx +65 -141
  210. package/src/capabilities/schema-defs.ts +1 -1
  211. package/src/capabilities/spaces-ready.ts +8 -5
  212. package/src/capabilities/state.ts +2 -2
  213. package/src/components/AwaitingObject.tsx +12 -14
  214. package/src/components/{CollectionMain.tsx → CollectionArticle.tsx} +7 -6
  215. package/src/components/CollectionSection.tsx +8 -6
  216. package/src/components/CreateDialog/CreateObjectDialog.stories.tsx +11 -11
  217. package/src/components/CreateDialog/CreateObjectDialog.tsx +38 -28
  218. package/src/components/CreateDialog/CreateObjectPanel.tsx +8 -8
  219. package/src/components/CreateDialog/CreateSpaceDialog.tsx +30 -11
  220. package/src/components/{JoinDialog.tsx → JoinDialog/JoinDialog.tsx} +26 -10
  221. package/src/components/JoinDialog/index.ts +5 -0
  222. package/src/components/{MembersContainer.stories.tsx → MembersContainer/MembersContainer.stories.tsx} +7 -6
  223. package/src/components/{MembersContainer.tsx → MembersContainer/MembersContainer.tsx} +16 -14
  224. package/src/components/MembersContainer/index.ts +5 -0
  225. package/src/components/MenuFooter.tsx +2 -2
  226. package/src/components/ObjectDetailsPanel/ObjectDetailsPanel.tsx +51 -0
  227. package/src/components/ObjectDetailsPanel/ObjectForm.tsx +72 -0
  228. package/src/components/ObjectDetailsPanel/index.ts +7 -0
  229. package/src/components/{PopoverRenameObject.tsx → ObjectRenamePopover/ObjectRenamePopover.tsx} +6 -6
  230. package/src/components/ObjectRenamePopover/index.ts +5 -0
  231. package/src/components/ObjectSettings/AdvancedObjectSettings.tsx +3 -3
  232. package/src/components/ObjectSettings/BaseObjectSettings.stories.tsx +63 -0
  233. package/src/components/ObjectSettings/BaseObjectSettings.tsx +90 -26
  234. package/src/components/ObjectSettings/ForeignKeys.tsx +4 -4
  235. package/src/components/ObjectSettings/ObjectSettingsContainer.tsx +4 -3
  236. package/src/components/ObjectSettings/index.ts +3 -1
  237. package/src/components/RecordArticle.stories.tsx +115 -0
  238. package/src/components/RecordArticle.tsx +114 -0
  239. package/src/components/SchemaContainer.tsx +23 -26
  240. package/src/components/SpacePluginSettings.tsx +10 -4
  241. package/src/components/{SpacePresence.stories.tsx → SpacePresence/SpacePresence.stories.tsx} +23 -25
  242. package/src/components/{SpacePresence.tsx → SpacePresence/SpacePresence.tsx} +16 -11
  243. package/src/components/SpacePresence/index.ts +5 -0
  244. package/src/components/{PopoverRenameSpace.tsx → SpaceRenamePopover/SpaceRenamePopover.tsx} +7 -6
  245. package/src/components/SpaceRenamePopover/index.ts +5 -0
  246. package/src/components/SpaceSettings/SpaceSettingsContainer.stories.tsx +9 -4
  247. package/src/components/SpaceSettings/SpaceSettingsContainer.tsx +44 -23
  248. package/src/components/SyncStatus/InlineSyncStatus.tsx +8 -8
  249. package/src/components/SyncStatus/SyncStatus.stories.tsx +4 -5
  250. package/src/components/SyncStatus/SyncStatus.tsx +107 -11
  251. package/src/components/ViewEditor.tsx +51 -23
  252. package/src/components/index.ts +7 -8
  253. package/src/events.ts +6 -6
  254. package/src/helpers/index.ts +5 -0
  255. package/src/helpers/query.test.ts +24 -0
  256. package/src/helpers/query.ts +158 -0
  257. package/src/hooks/index.ts +1 -0
  258. package/src/hooks/useActiveSpace.ts +2 -1
  259. package/src/hooks/useInputSurfaceLookup.tsx +8 -3
  260. package/src/hooks/usePath.ts +1 -1
  261. package/src/hooks/useTypeOptions.ts +59 -0
  262. package/src/index.ts +1 -0
  263. package/src/meta.ts +6 -3
  264. package/src/translations.ts +25 -10
  265. package/src/types/types.ts +26 -22
  266. package/src/util.tsx +79 -64
  267. package/dist/lib/browser/CollectionMain-D2B75XBS.mjs.map +0 -7
  268. package/dist/lib/browser/ObjectDetailsPanel-SY6FYTYC.mjs +0 -88
  269. package/dist/lib/browser/ObjectDetailsPanel-SY6FYTYC.mjs.map +0 -7
  270. package/dist/lib/browser/RecordMain-TEBGAVSL.mjs +0 -68
  271. package/dist/lib/browser/RecordMain-TEBGAVSL.mjs.map +0 -7
  272. package/dist/lib/browser/app-graph-builder-FLF7XMQO.mjs.map +0 -7
  273. package/dist/lib/browser/app-graph-serializer-3A6KBYWT.mjs.map +0 -7
  274. package/dist/lib/browser/chunk-CBYL62HG.mjs +0 -19
  275. package/dist/lib/browser/chunk-CBYL62HG.mjs.map +0 -7
  276. package/dist/lib/browser/chunk-DCY3W36E.mjs.map +0 -7
  277. package/dist/lib/browser/chunk-ELJDGQTO.mjs +0 -94
  278. package/dist/lib/browser/chunk-ELJDGQTO.mjs.map +0 -7
  279. package/dist/lib/browser/chunk-FBCGT5YY.mjs +0 -13
  280. package/dist/lib/browser/chunk-FBCGT5YY.mjs.map +0 -7
  281. package/dist/lib/browser/chunk-J6YZG77T.mjs.map +0 -7
  282. package/dist/lib/browser/chunk-RQVV4XVF.mjs.map +0 -7
  283. package/dist/lib/browser/chunk-TUQZO5P4.mjs +0 -20
  284. package/dist/lib/browser/chunk-TUQZO5P4.mjs.map +0 -7
  285. package/dist/lib/browser/chunk-WAXS2ZVX.mjs.map +0 -7
  286. package/dist/lib/browser/identity-created-T6ZNVE7S.mjs.map +0 -7
  287. package/dist/lib/browser/intent-resolver-7E3IZIJS.mjs.map +0 -7
  288. package/dist/lib/browser/react-root-RWMT2RCK.mjs +0 -29
  289. package/dist/lib/browser/react-root-RWMT2RCK.mjs.map +0 -7
  290. package/dist/lib/browser/react-surface-GL4CE2F4.mjs.map +0 -7
  291. package/dist/lib/browser/schema-defs-YDPFZELA.mjs.map +0 -7
  292. package/dist/lib/browser/spaces-ready-QVABOCO3.mjs.map +0 -7
  293. package/dist/lib/browser/state-2RGW7FQG.mjs.map +0 -7
  294. package/dist/lib/node-esm/CollectionMain-ZJIFCWKZ.mjs.map +0 -7
  295. package/dist/lib/node-esm/ObjectDetailsPanel-3MYLTMXN.mjs +0 -89
  296. package/dist/lib/node-esm/ObjectDetailsPanel-3MYLTMXN.mjs.map +0 -7
  297. package/dist/lib/node-esm/RecordMain-WLYJMYER.mjs +0 -70
  298. package/dist/lib/node-esm/RecordMain-WLYJMYER.mjs.map +0 -7
  299. package/dist/lib/node-esm/app-graph-builder-D5YPOJS5.mjs.map +0 -7
  300. package/dist/lib/node-esm/app-graph-serializer-M45TH5LR.mjs.map +0 -7
  301. package/dist/lib/node-esm/chunk-AUQ3SKL2.mjs.map +0 -7
  302. package/dist/lib/node-esm/chunk-FJZNSJC4.mjs +0 -20
  303. package/dist/lib/node-esm/chunk-FJZNSJC4.mjs.map +0 -7
  304. package/dist/lib/node-esm/chunk-HC677WUJ.mjs +0 -21
  305. package/dist/lib/node-esm/chunk-HC677WUJ.mjs.map +0 -7
  306. package/dist/lib/node-esm/chunk-HWNG4MEU.mjs +0 -15
  307. package/dist/lib/node-esm/chunk-HWNG4MEU.mjs.map +0 -7
  308. package/dist/lib/node-esm/chunk-HYIZVPOA.mjs.map +0 -7
  309. package/dist/lib/node-esm/chunk-Q6AAQLQG.mjs +0 -96
  310. package/dist/lib/node-esm/chunk-Q6AAQLQG.mjs.map +0 -7
  311. package/dist/lib/node-esm/chunk-WKQTO37U.mjs.map +0 -7
  312. package/dist/lib/node-esm/chunk-ZCEH2VYE.mjs.map +0 -7
  313. package/dist/lib/node-esm/identity-created-AL7NNCKH.mjs.map +0 -7
  314. package/dist/lib/node-esm/intent-resolver-UVO4MKWX.mjs.map +0 -7
  315. package/dist/lib/node-esm/react-root-5EKYI66P.mjs.map +0 -7
  316. package/dist/lib/node-esm/react-surface-IOC6YSVQ.mjs.map +0 -7
  317. package/dist/lib/node-esm/schema-defs-OYBCWKAS.mjs.map +0 -7
  318. package/dist/lib/node-esm/spaces-ready-MS6GHPFR.mjs.map +0 -7
  319. package/dist/lib/node-esm/state-7VBVBGNS.mjs.map +0 -7
  320. package/dist/types/src/components/CollectionMain.d.ts +0 -7
  321. package/dist/types/src/components/CollectionMain.d.ts.map +0 -1
  322. package/dist/types/src/components/JoinDialog.d.ts.map +0 -1
  323. package/dist/types/src/components/MembersContainer.d.ts.map +0 -1
  324. package/dist/types/src/components/ObjectDetailsPanel.d.ts +0 -9
  325. package/dist/types/src/components/ObjectDetailsPanel.d.ts.map +0 -1
  326. package/dist/types/src/components/PersistenceStatus.d.ts +0 -6
  327. package/dist/types/src/components/PersistenceStatus.d.ts.map +0 -1
  328. package/dist/types/src/components/PopoverRenameObject.d.ts +0 -7
  329. package/dist/types/src/components/PopoverRenameObject.d.ts.map +0 -1
  330. package/dist/types/src/components/PopoverRenameSpace.d.ts +0 -7
  331. package/dist/types/src/components/PopoverRenameSpace.d.ts.map +0 -1
  332. package/dist/types/src/components/RecordMain.d.ts +0 -7
  333. package/dist/types/src/components/RecordMain.d.ts.map +0 -1
  334. package/dist/types/src/components/SpacePresence.d.ts.map +0 -1
  335. package/src/components/ObjectDetailsPanel.tsx +0 -77
  336. package/src/components/PersistenceStatus.tsx +0 -83
  337. package/src/components/RecordMain.tsx +0 -43
  338. /package/dist/types/src/components/{MembersContainer.d.ts → MembersContainer/MembersContainer.d.ts} +0 -0
@@ -1,43 +1,46 @@
1
1
  import {
2
2
  getActiveSpace
3
- } from "./chunk-ELJDGQTO.mjs";
3
+ } from "./chunk-PU5IOFMG.mjs";
4
4
  import {
5
5
  SpaceCapabilities
6
- } from "./chunk-TUQZO5P4.mjs";
6
+ } from "./chunk-K5J7ZB5P.mjs";
7
7
  import {
8
8
  SHARED,
9
9
  SPACES,
10
+ atomFromQuery,
10
11
  constructObjectActions,
11
12
  constructSpaceActions,
12
13
  constructSpaceNode,
13
14
  createObjectNode,
14
15
  createStaticSchemaActions,
15
- createStaticSchemaNode,
16
- rxFromQuery
17
- } from "./chunk-DCY3W36E.mjs";
16
+ createStaticSchemaNode
17
+ } from "./chunk-ERQMHU7L.mjs";
18
18
  import {
19
19
  SPACE_TYPE,
20
20
  SpaceAction
21
- } from "./chunk-RQVV4XVF.mjs";
21
+ } from "./chunk-M2Z6D4ZI.mjs";
22
22
  import {
23
- SPACE_PLUGIN
24
- } from "./chunk-FBCGT5YY.mjs";
23
+ meta
24
+ } from "./chunk-VZBIIYFM.mjs";
25
25
 
26
26
  // src/capabilities/app-graph-builder.ts
27
- import { Rx } from "@effect-rx/rx-react";
28
- import { Array, Option, Schema, pipe } from "effect";
27
+ import { Atom } from "@effect-atom/atom-react";
28
+ import * as Array from "effect/Array";
29
+ import * as Function from "effect/Function";
30
+ import * as Option from "effect/Option";
31
+ import * as Schema from "effect/Schema";
29
32
  import { Capabilities, contributes, createIntent } from "@dxos/app-framework";
30
- import { SpaceState, getSpace, isSpace, parseId } from "@dxos/client/echo";
31
- import { Filter, Obj, Query, Type } from "@dxos/echo";
33
+ import { SpaceState, getSpace, isSpace } from "@dxos/client/echo";
34
+ import { DXN, Filter, Obj, Query, Type } from "@dxos/echo";
32
35
  import { log } from "@dxos/log";
33
36
  import { ClientCapabilities } from "@dxos/plugin-client";
34
37
  import { ATTENDABLE_PATH_SEPARATOR, PLANK_COMPANION_TYPE } from "@dxos/plugin-deck/types";
35
- import { ROOT_ID, createExtension, rxFromObservable, rxFromSignal } from "@dxos/plugin-graph";
36
- import { DataType } from "@dxos/schema";
38
+ import { ROOT_ID, atomFromObservable, atomFromSignal, createExtension } from "@dxos/plugin-graph";
39
+ import { Collection, StoredSchema, View, getTypenameFromQuery } from "@dxos/schema";
37
40
  import { isNonNullable } from "@dxos/util";
38
41
  var __dxlog_file = "/__w/dxos/dxos/packages/plugins/plugin-space/src/capabilities/app-graph-builder.ts";
39
- var app_graph_builder_default = (context) => {
40
- const resolve = (typename) => context.getCapabilities(Capabilities.Metadata).find(({ id }) => id === typename)?.metadata ?? {};
42
+ var app_graph_builder_default = ((context) => {
43
+ const resolve = (get) => (typename) => context.getCapabilities(Capabilities.Metadata).find(({ id }) => id === typename)?.metadata ?? {};
41
44
  const spacesNode = {
42
45
  id: SPACES,
43
46
  type: SPACES,
@@ -49,7 +52,7 @@ var app_graph_builder_default = (context) => {
49
52
  label: [
50
53
  "spaces label",
51
54
  {
52
- ns: SPACE_PLUGIN
55
+ ns: meta.id
53
56
  }
54
57
  ],
55
58
  icon: "ph--planet--regular",
@@ -70,7 +73,7 @@ var app_graph_builder_default = (context) => {
70
73
  } else {
71
74
  log.warn("spaces order object not found", void 0, {
72
75
  F: __dxlog_file,
73
- L: 71,
76
+ L: 74,
74
77
  S: void 0,
75
78
  C: (f, a) => f(...a)
76
79
  });
@@ -81,9 +84,9 @@ var app_graph_builder_default = (context) => {
81
84
  return contributes(Capabilities.AppGraphBuilder, [
82
85
  // Primary actions.
83
86
  createExtension({
84
- id: `${SPACE_PLUGIN}/primary-actions`,
87
+ id: `${meta.id}/primary-actions`,
85
88
  position: "hoist",
86
- actions: (node) => Rx.make((get) => pipe(get(node), Option.flatMap((node2) => node2.id === ROOT_ID ? Option.some(node2) : Option.none()), Option.map(() => [
89
+ actions: (node) => Atom.make((get) => Function.pipe(get(node), Option.flatMap((node2) => node2.id === ROOT_ID ? Option.some(node2) : Option.none()), Option.map(() => [
87
90
  {
88
91
  id: SpaceAction.OpenCreateSpace._tag,
89
92
  data: async () => {
@@ -94,7 +97,7 @@ var app_graph_builder_default = (context) => {
94
97
  label: [
95
98
  "create space label",
96
99
  {
97
- ns: SPACE_PLUGIN
100
+ ns: meta.id
98
101
  }
99
102
  ],
100
103
  icon: "ph--plus--regular",
@@ -112,7 +115,7 @@ var app_graph_builder_default = (context) => {
112
115
  label: [
113
116
  "join space label",
114
117
  {
115
- ns: SPACE_PLUGIN
118
+ ns: meta.id
116
119
  }
117
120
  ],
118
121
  icon: "ph--sign-in--regular",
@@ -134,7 +137,7 @@ var app_graph_builder_default = (context) => {
134
137
  label: [
135
138
  "share space label",
136
139
  {
137
- ns: SPACE_PLUGIN
140
+ ns: meta.id
138
141
  }
139
142
  ],
140
143
  icon: "ph--users--regular",
@@ -159,7 +162,7 @@ var app_graph_builder_default = (context) => {
159
162
  label: [
160
163
  "open current space settings label",
161
164
  {
162
- ns: SPACE_PLUGIN
165
+ ns: meta.id
163
166
  }
164
167
  ],
165
168
  icon: "ph--faders--regular",
@@ -173,9 +176,9 @@ var app_graph_builder_default = (context) => {
173
176
  }),
174
177
  // Create spaces group node.
175
178
  createExtension({
176
- id: `${SPACE_PLUGIN}/root`,
179
+ id: `${meta.id}/root`,
177
180
  position: "hoist",
178
- connector: (node) => Rx.make((get) => pipe(get(node), Option.flatMap((node2) => node2.id === ROOT_ID ? Option.some(node2) : Option.none()), Option.map(() => [
181
+ connector: (node) => Atom.make((get) => Function.pipe(get(node), Option.flatMap((node2) => node2.id === ROOT_ID ? Option.some(node2) : Option.none()), Option.map(() => [
179
182
  spacesNode
180
183
  ]), Option.getOrElse(() => [])))
181
184
  }),
@@ -184,25 +187,25 @@ var app_graph_builder_default = (context) => {
184
187
  id: SPACES,
185
188
  connector: (node) => {
186
189
  let query;
187
- return Rx.make((get) => pipe(get(node), Option.flatMap((node2) => node2.id === SPACES ? Option.some(node2) : Option.none()), Option.map(() => {
190
+ return Atom.make((get) => Function.pipe(get(node), Option.flatMap((node2) => node2.id === SPACES ? Option.some(node2) : Option.none()), Option.map(() => {
188
191
  const state = context.getCapability(SpaceCapabilities.State);
189
192
  const client = context.getCapability(ClientCapabilities.Client);
190
- const spacesRx = rxFromObservable(client.spaces);
191
- const isReadyRx = rxFromObservable(client.spaces.isReady);
192
- const spaces = get(spacesRx);
193
- const isReady = get(isReadyRx);
193
+ const spacesAtom = atomFromObservable(client.spaces);
194
+ const isReadyAtom = atomFromObservable(client.spaces.isReady);
195
+ const spaces = get(spacesAtom);
196
+ const isReady = get(isReadyAtom);
194
197
  if (!spaces || !isReady) {
195
198
  return [];
196
199
  }
197
- const settings = get(context.capabilities(Capabilities.SettingsStore))[0]?.getStore(SPACE_PLUGIN)?.value;
200
+ const settings = get(context.capabilities(Capabilities.SettingsStore))[0]?.getStore(meta.id)?.value;
198
201
  try {
199
202
  if (!query) {
200
203
  query = client.spaces.default.db.query(Filter.type(Type.Expando, {
201
204
  key: SHARED
202
205
  }));
203
206
  }
204
- const [spacesOrder] = get(rxFromQuery(query));
205
- return get(rxFromSignal(() => {
207
+ const [spacesOrder] = get(atomFromQuery(query));
208
+ return get(atomFromSignal(() => {
206
209
  const order = spacesOrder?.order ?? [];
207
210
  const orderMap = new Map(order.map((id, index) => [
208
211
  id,
@@ -216,7 +219,7 @@ var app_graph_builder_default = (context) => {
216
219
  navigable: state.navigableCollections,
217
220
  personal: space === client.spaces.default,
218
221
  namesCache: state.spaceNames,
219
- resolve
222
+ resolve: resolve(get)
220
223
  }));
221
224
  }));
222
225
  } catch {
@@ -227,8 +230,8 @@ var app_graph_builder_default = (context) => {
227
230
  }),
228
231
  // Create space actions.
229
232
  createExtension({
230
- id: `${SPACE_PLUGIN}/actions`,
231
- actions: (node) => Rx.make((get) => pipe(get(node), Option.flatMap((node2) => node2.type === SPACE_TYPE && isSpace(node2.data) ? Option.some(node2.data) : Option.none()), Option.flatMap((space) => {
233
+ id: `${meta.id}/actions`,
234
+ actions: (node) => Atom.make((get) => Function.pipe(get(node), Option.flatMap((node2) => node2.type === SPACE_TYPE && isSpace(node2.data) ? Option.some(node2.data) : Option.none()), Option.flatMap((space) => {
232
235
  const [dispatcher] = get(context.capabilities(Capabilities.IntentDispatcher));
233
236
  const [client] = get(context.capabilities(ClientCapabilities.Client));
234
237
  const [state] = get(context.capabilities(SpaceCapabilities.State));
@@ -246,48 +249,49 @@ var app_graph_builder_default = (context) => {
246
249
  }),
247
250
  // Create nodes for objects in the root collection of a space.
248
251
  createExtension({
249
- id: `${SPACE_PLUGIN}/root-collection`,
250
- connector: (node) => Rx.make((get) => pipe(get(node), Option.flatMap((node2) => node2.type === SPACE_TYPE && isSpace(node2.data) ? Option.some(node2.data) : Option.none()), Option.map((space) => {
252
+ id: `${meta.id}/root-collection`,
253
+ connector: (node) => Atom.make((get) => Function.pipe(get(node), Option.flatMap((node2) => node2.type === SPACE_TYPE && isSpace(node2.data) ? Option.some(node2.data) : Option.none()), Option.map((space) => {
251
254
  const state = context.getCapability(SpaceCapabilities.State);
252
- const spaceState = get(rxFromObservable(space.state));
255
+ const spaceState = get(atomFromObservable(space.state));
253
256
  if (spaceState !== SpaceState.SPACE_READY) {
254
257
  return [];
255
258
  }
256
- const collection = get(rxFromSignal(() => space.properties[DataType.Collection.typename]?.target));
259
+ const collection = get(atomFromSignal(() => space.properties[Collection.Collection.typename]?.target));
257
260
  if (!collection) {
258
261
  return [];
259
262
  }
260
- return get(rxFromSignal(() => pipe(collection.objects, Array.map((object) => object.target), Array.filter(isNonNullable), Array.map((object) => createObjectNode({
263
+ return get(atomFromSignal(() => Function.pipe(collection.objects, Array.map((object) => object.target), Array.filter(isNonNullable), Array.map((object) => createObjectNode({
261
264
  space,
262
265
  object,
263
- resolve,
266
+ resolve: resolve(get),
264
267
  navigable: state.navigableCollections
265
268
  })), Array.filter(isNonNullable))));
266
269
  }), Option.getOrElse(() => [])))
267
270
  }),
268
271
  // Create nodes for objects in a collection or by its fully qualified id.
269
272
  createExtension({
270
- id: `${SPACE_PLUGIN}/objects`,
271
- connector: (node) => Rx.make((get) => pipe(get(node), Option.flatMap((node2) => Obj.instanceOf(DataType.Collection, node2.data) ? Option.some(node2.data) : Option.none()), Option.map((collection) => {
273
+ id: `${meta.id}/objects`,
274
+ connector: (node) => Atom.make((get) => Function.pipe(get(node), Option.flatMap((node2) => Obj.instanceOf(Collection.Collection, node2.data) ? Option.some(node2.data) : Option.none()), Option.map((collection) => {
272
275
  const state = context.getCapability(SpaceCapabilities.State);
273
276
  const space = getSpace(collection);
274
- return get(rxFromSignal(() => pipe(collection.objects, Array.map((object) => object.target), Array.filter(isNonNullable), Array.map((object) => space && createObjectNode({
277
+ return get(atomFromSignal(() => Function.pipe(collection.objects, Array.map((object) => object.target), Array.filter(isNonNullable), Array.map((object) => space && createObjectNode({
275
278
  object,
276
279
  space,
277
- resolve,
280
+ resolve: resolve(get),
278
281
  navigable: state.navigableCollections
279
282
  })), Array.filter(isNonNullable))));
280
283
  }), Option.getOrElse(() => [])))
281
284
  }),
282
285
  // Create nodes for objects in a query collection.
283
286
  createExtension({
284
- id: `${SPACE_PLUGIN}/query-collection-objects`,
287
+ id: `${meta.id}/query-collection-objects`,
285
288
  connector: (node) => {
286
289
  let query;
287
- return Rx.make((get) => pipe(get(node), Option.flatMap((node2) => Obj.instanceOf(DataType.QueryCollection, node2.data) ? Option.some(node2.data) : Option.none()), Option.flatMap((collection) => {
290
+ return Atom.make((get) => Function.pipe(get(node), Option.flatMap((node2) => Obj.instanceOf(Collection.QueryCollection, node2.data) ? Option.some(node2.data) : Option.none()), Option.flatMap((collection) => {
288
291
  const space = getSpace(collection);
289
- return collection.query.typename && space ? Option.some({
290
- typename: collection.query.typename,
292
+ const typename = getTypenameFromQuery(collection.query);
293
+ return typename && space ? Option.some({
294
+ typename,
291
295
  space
292
296
  }) : Option.none();
293
297
  }), Option.map(({ typename, space }) => {
@@ -298,13 +302,13 @@ var app_graph_builder_default = (context) => {
298
302
  // TODO(wittjosiah): This query is broader than it should be.
299
303
  // It will return all objects in the collection, not just the ones of the given type.
300
304
  // However this works fine for now because this query is only used for exclusions.
301
- Query.select(Filter.typename(typename)).referencedBy(DataType.Collection, "objects").reference("objects")
305
+ Query.select(Filter.typename(typename)).referencedBy(Collection.Collection, "objects").reference("objects")
302
306
  ));
303
307
  }
304
- return get(rxFromQuery(query)).toSorted((a, b) => a.id.localeCompare(b.id)).map((object) => get(rxFromSignal(() => createObjectNode({
308
+ return get(atomFromQuery(query)).toSorted((a, b) => a.id.localeCompare(b.id)).map((object) => get(atomFromSignal(() => createObjectNode({
305
309
  object,
306
310
  space,
307
- resolve,
311
+ resolve: resolve(get),
308
312
  droppable: false,
309
313
  navigable: state.navigableCollections
310
314
  })))).filter(isNonNullable);
@@ -313,14 +317,14 @@ var app_graph_builder_default = (context) => {
313
317
  }),
314
318
  // Static schema records.
315
319
  createExtension({
316
- id: `${SPACE_PLUGIN}/static-schemas`,
320
+ id: `${meta.id}/static-schemas`,
317
321
  connector: (node) => {
318
322
  const client = context.getCapability(ClientCapabilities.Client);
319
- return Rx.make((get) => pipe(get(node), Option.flatMap((node2) => Obj.instanceOf(DataType.QueryCollection, node2.data) && node2.data.query.typename === DataType.StoredSchema.typename ? Option.some(node2.data) : Option.none()), Option.flatMap((collection) => {
323
+ return Atom.make((get) => Function.pipe(get(node), Option.flatMap((node2) => Obj.instanceOf(Collection.QueryCollection, node2.data) && getTypenameFromQuery(node2.data.query) === StoredSchema.typename ? Option.some(node2.data) : Option.none()), Option.flatMap((collection) => {
320
324
  const space = getSpace(collection);
321
325
  return space?.properties.staticRecords ? Option.some(space) : Option.none();
322
326
  }), Option.map((space) => {
323
- return get(rxFromSignal(() => space.properties.staticRecords ?? [])).map((typename) => client.graph.schemaRegistry.schemas.find((schema) => Type.getTypename(schema) === typename)).filter(isNonNullable).map((schema) => createStaticSchemaNode({
327
+ return get(atomFromSignal(() => space.properties.staticRecords ?? [])).map((typename) => client.graph.schemaRegistry.schemas.find((schema) => Type.getTypename(schema) === typename)).filter(isNonNullable).map((schema) => createStaticSchemaNode({
324
328
  schema,
325
329
  space
326
330
  }));
@@ -329,10 +333,10 @@ var app_graph_builder_default = (context) => {
329
333
  }),
330
334
  // Create static schema actions.
331
335
  createExtension({
332
- id: `${SPACE_PLUGIN}/static-schema-actions`,
336
+ id: `${meta.id}/static-schema-actions`,
333
337
  actions: (node) => {
334
338
  let query;
335
- return Rx.make((get) => pipe(get(node), Option.flatMap((node2) => {
339
+ return Atom.make((get) => Function.pipe(get(node), Option.flatMap((node2) => {
336
340
  const space = isSpace(node2.properties.space) ? node2.properties.space : void 0;
337
341
  return space && Schema.isSchema(node2.data) ? Option.some({
338
342
  space,
@@ -340,12 +344,12 @@ var app_graph_builder_default = (context) => {
340
344
  }) : Option.none();
341
345
  }), Option.map(({ space, schema }) => {
342
346
  if (!query) {
343
- query = space.db.query(Filter.type(DataType.View));
347
+ query = space.db.query(Filter.type(View.View));
344
348
  }
345
- const views = get(rxFromQuery(query));
346
- const filteredViews = get(rxFromSignal(() => (
349
+ const views = get(atomFromQuery(query));
350
+ const filteredViews = get(atomFromSignal(() => (
347
351
  // TODO(wittjosiah): Remove cast.
348
- views.filter((view) => view.query.typename === Type.getTypename(schema))
352
+ views.filter((view) => getTypenameFromQuery(view.query.ast) === Type.getTypename(schema))
349
353
  )));
350
354
  const deletable = filteredViews.length === 0;
351
355
  const [dispatcher] = get(context.capabilities(Capabilities.IntentDispatcher));
@@ -363,24 +367,32 @@ var app_graph_builder_default = (context) => {
363
367
  }),
364
368
  // Create nodes for schema views.
365
369
  createExtension({
366
- id: `${SPACE_PLUGIN}/schema-views`,
370
+ id: `${meta.id}/schema-views`,
367
371
  connector: (node) => {
368
372
  let query;
369
- return Rx.make((get) => pipe(get(node), Option.flatMap((node2) => {
373
+ return Atom.make((get) => Function.pipe(get(node), Option.flatMap((node2) => {
370
374
  const space = getSpace(node2.data) ?? (isSpace(node2.properties.space) ? node2.properties.space : void 0);
371
- return space && (Obj.instanceOf(DataType.StoredSchema, node2.data) || Schema.isSchema(node2.data)) ? Option.some({
375
+ return space && (Obj.instanceOf(StoredSchema, node2.data) || Schema.isSchema(node2.data)) ? Option.some({
372
376
  space,
373
377
  schema: node2.data
374
378
  }) : Option.none();
375
379
  }), Option.map(({ space, schema }) => {
376
380
  if (!query) {
377
- query = space.db.query(Filter.type(DataType.View));
381
+ query = space.db.query(Filter.type(View.View));
378
382
  }
379
383
  const typename = Schema.isSchema(schema) ? Type.getTypename(schema) : schema.typename;
380
- return get(rxFromQuery(query)).filter((view) => view.query.typename === typename).map((view) => get(rxFromSignal(() => createObjectNode({
384
+ return get(atomFromQuery(query)).filter((view) => getTypenameFromQuery(view.query.ast) === typename).filter((view) => get(atomFromSignal(() => {
385
+ const presentation = view.presentation.target;
386
+ if (presentation) {
387
+ const typename2 = Obj.getTypename(presentation);
388
+ return typename2 !== Collection.Collection.typename;
389
+ } else {
390
+ return false;
391
+ }
392
+ }))).map((view) => get(atomFromSignal(() => createObjectNode({
381
393
  object: view,
382
394
  space,
383
- resolve,
395
+ resolve: resolve(get),
384
396
  droppable: false
385
397
  })))).filter(isNonNullable);
386
398
  }), Option.getOrElse(() => [])));
@@ -388,30 +400,30 @@ var app_graph_builder_default = (context) => {
388
400
  }),
389
401
  // Create record nodes.
390
402
  createExtension({
391
- id: `${SPACE_PLUGIN}/records`,
403
+ id: `${meta.id}/records`,
392
404
  resolver: (id) => {
393
405
  let query;
394
- return Rx.make((get) => {
406
+ return Atom.make((get) => {
395
407
  const client = context.getCapability(ClientCapabilities.Client);
396
- const { spaceId, objectId } = parseId(id);
397
- if (!spaceId || !objectId) {
408
+ const dxn = DXN.tryParse(id)?.asEchoDXN();
409
+ if (!dxn || !dxn.spaceId) {
398
410
  return null;
399
411
  }
400
- const space = client.spaces.get(spaceId);
412
+ const space = client.spaces.get(dxn.spaceId);
401
413
  if (!space) {
402
414
  return null;
403
415
  }
404
416
  if (!query) {
405
- query = space.db.query(Filter.ids(objectId));
417
+ query = space.db.query(Filter.ids(dxn.echoId));
406
418
  }
407
- const object = get(rxFromQuery(query)).at(0);
419
+ const object = get(atomFromQuery(query)).at(0);
408
420
  if (!object) {
409
421
  return null;
410
422
  }
411
423
  return createObjectNode({
412
424
  object,
413
425
  space,
414
- resolve,
426
+ resolve: resolve(get),
415
427
  disposition: "hidden"
416
428
  });
417
429
  });
@@ -419,25 +431,25 @@ var app_graph_builder_default = (context) => {
419
431
  }),
420
432
  // Create collection actions and action groups.
421
433
  createExtension({
422
- id: `${SPACE_PLUGIN}/object-actions`,
434
+ id: `${meta.id}/object-actions`,
423
435
  actions: (node) => {
424
436
  let query;
425
- return Rx.make((get) => pipe(get(node), Option.flatMap((node2) => {
437
+ return Atom.make((get) => Function.pipe(get(node), Option.flatMap((node2) => {
426
438
  const space = getSpace(node2.data);
427
- return space && Obj.isObject(node2.data) ? Option.some({
439
+ return space && Obj.isObject(node2.data) && Obj.getTypename(node2.data) === node2.type ? Option.some({
428
440
  space,
429
441
  object: node2.data
430
442
  }) : Option.none();
431
443
  }), Option.flatMap(({ space, object }) => {
432
- const isSchema = Obj.instanceOf(DataType.StoredSchema, object);
433
- if (!query && isSchema) {
434
- query = space.db.query(Filter.type(DataType.View));
444
+ const isSchema2 = Obj.instanceOf(StoredSchema, object);
445
+ if (!query && isSchema2) {
446
+ query = space.db.query(Filter.type(View.View));
435
447
  }
436
- let deletable = !isSchema && // Don't allow the Records smart collection to be deleted.
437
- !(Obj.instanceOf(DataType.QueryCollection, object) && object.query.typename === DataType.StoredSchema.typename);
438
- if (isSchema && query) {
439
- const views = get(rxFromQuery(query));
440
- const filteredViews = get(rxFromSignal(() => views.filter((view) => view.query.typename === object.typename)));
448
+ let deletable = !isSchema2 && // Don't allow the Records smart collection to be deleted.
449
+ !(Obj.instanceOf(Collection.QueryCollection, object) && getTypenameFromQuery(object.query) === StoredSchema.typename);
450
+ if (isSchema2 && query) {
451
+ const views = get(atomFromQuery(query));
452
+ const filteredViews = get(atomFromSignal(() => views.filter((view) => getTypenameFromQuery(view.query.ast) === object.typename)));
441
453
  deletable = filteredViews.length === 0;
442
454
  }
443
455
  const [dispatcher] = get(context.capabilities(Capabilities.IntentDispatcher));
@@ -453,7 +465,7 @@ var app_graph_builder_default = (context) => {
453
465
  dispatch: dispatcher.dispatchPromise,
454
466
  objectForms,
455
467
  deletable,
456
- navigable: get(rxFromSignal(() => state.navigableCollections))
468
+ navigable: get(atomFromSignal(() => state.navigableCollections))
457
469
  });
458
470
  }
459
471
  }), Option.map((params) => constructObjectActions(params)), Option.getOrElse(() => [])));
@@ -461,8 +473,8 @@ var app_graph_builder_default = (context) => {
461
473
  }),
462
474
  // View selected objects.
463
475
  createExtension({
464
- id: `${SPACE_PLUGIN}/selected-objects`,
465
- connector: (node) => Rx.make((get) => pipe(get(node), Option.flatMap((node2) => Obj.instanceOf(DataType.View, node2.data) ? Option.some(node2) : Option.none()), Option.map((node2) => [
476
+ id: `${meta.id}/selected-objects`,
477
+ connector: (node) => Atom.make((get) => Function.pipe(get(node), Option.flatMap((node2) => Obj.instanceOf(View.View, node2.data) ? Option.some(node2) : Option.none()), Option.map((node2) => [
466
478
  {
467
479
  id: [
468
480
  node2.id,
@@ -474,7 +486,7 @@ var app_graph_builder_default = (context) => {
474
486
  label: [
475
487
  "companion selected objects label",
476
488
  {
477
- ns: SPACE_PLUGIN
489
+ ns: meta.id
478
490
  }
479
491
  ],
480
492
  icon: "ph--tree-view--regular",
@@ -485,8 +497,8 @@ var app_graph_builder_default = (context) => {
485
497
  }),
486
498
  // Object settings plank companion.
487
499
  createExtension({
488
- id: `${SPACE_PLUGIN}/settings`,
489
- connector: (node) => Rx.make((get) => pipe(get(node), Option.flatMap((node2) => Obj.isObject(node2.data) ? Option.some(node2) : Option.none()), Option.map((node2) => [
500
+ id: `${meta.id}/settings`,
501
+ connector: (node) => Atom.make((get) => Function.pipe(get(node), Option.flatMap((node2) => Obj.isObject(node2.data) ? Option.some(node2) : Option.none()), Option.map((node2) => [
490
502
  {
491
503
  id: [
492
504
  node2.id,
@@ -498,7 +510,7 @@ var app_graph_builder_default = (context) => {
498
510
  label: [
499
511
  "object settings label",
500
512
  {
501
- ns: SPACE_PLUGIN
513
+ ns: meta.id
502
514
  }
503
515
  ],
504
516
  icon: "ph--sliders--regular",
@@ -509,8 +521,8 @@ var app_graph_builder_default = (context) => {
509
521
  ]), Option.getOrElse(() => [])))
510
522
  })
511
523
  ]);
512
- };
524
+ });
513
525
  export {
514
526
  app_graph_builder_default as default
515
527
  };
516
- //# sourceMappingURL=app-graph-builder-FLF7XMQO.mjs.map
528
+ //# sourceMappingURL=app-graph-builder-VQAB3GCQ.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/capabilities/app-graph-builder.ts"],
4
+ "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { Atom } from '@effect-atom/atom-react';\nimport * as Array from 'effect/Array';\nimport * as Function from 'effect/Function';\nimport * as Option from 'effect/Option';\nimport * as Schema from 'effect/Schema';\n\nimport { Capabilities, type PluginContext, contributes, createIntent } from '@dxos/app-framework';\nimport { type QueryResult, type Space, SpaceState, getSpace, isSpace } from '@dxos/client/echo';\nimport { DXN, Filter, Obj, Query, Type } from '@dxos/echo';\nimport { log } from '@dxos/log';\nimport { ClientCapabilities } from '@dxos/plugin-client';\nimport { ATTENDABLE_PATH_SEPARATOR, PLANK_COMPANION_TYPE } from '@dxos/plugin-deck/types';\nimport { ROOT_ID, atomFromObservable, atomFromSignal, createExtension } from '@dxos/plugin-graph';\nimport { Collection, StoredSchema, View, getTypenameFromQuery } from '@dxos/schema';\nimport { isNonNullable } from '@dxos/util';\n\nimport { getActiveSpace } from '../hooks';\nimport { meta } from '../meta';\nimport { SPACE_TYPE, SpaceAction, type SpaceSettingsProps } from '../types';\nimport {\n SHARED,\n SPACES,\n atomFromQuery,\n constructObjectActions,\n constructSpaceActions,\n constructSpaceNode,\n createObjectNode,\n createStaticSchemaActions,\n createStaticSchemaNode,\n} from '../util';\n\nimport { SpaceCapabilities } from './capabilities';\n\nexport default (context: PluginContext) => {\n // TODO(wittjosiah): Using `get` and being reactive seems to cause a bug with Atom where disposed atoms are accessed.\n const resolve = (get: Atom.Context) => (typename: string) =>\n context.getCapabilities(Capabilities.Metadata).find(({ id }) => id === typename)?.metadata ?? {};\n\n const spacesNode = {\n id: SPACES,\n type: SPACES,\n cacheable: ['label', 'role'],\n properties: {\n label: ['spaces label', { ns: meta.id }],\n icon: 'ph--planet--regular',\n testId: 'spacePlugin.spaces',\n role: 'branch',\n disposition: 'collection',\n disabled: true,\n childrenPersistenceClass: 'echo',\n onRearrangeChildren: async (nextOrder: Space[]) => {\n const { graph } = context.getCapability(Capabilities.AppGraph);\n const client = context.getCapability(ClientCapabilities.Client);\n\n // NOTE: This is needed to ensure order is updated by next animation frame.\n // TODO(wittjosiah): Is there a better way to do this?\n // If not, graph should be passed as an argument to the extension.\n graph.sortEdges(\n SPACES,\n 'outbound',\n nextOrder.map(({ id }) => id),\n );\n\n const {\n objects: [spacesOrder],\n } = await client.spaces.default.db.query(Filter.type(Type.Expando, { key: SHARED })).run();\n if (spacesOrder) {\n spacesOrder.order = nextOrder.map(({ id }) => id);\n } else {\n log.warn('spaces order object not found');\n }\n },\n },\n };\n\n return contributes(Capabilities.AppGraphBuilder, [\n // Primary actions.\n createExtension({\n id: `${meta.id}/primary-actions`,\n position: 'hoist',\n actions: (node) =>\n Atom.make((get) =>\n Function.pipe(\n get(node),\n Option.flatMap((node) => (node.id === ROOT_ID ? Option.some(node) : Option.none())),\n Option.map(() => [\n {\n id: SpaceAction.OpenCreateSpace._tag,\n data: async () => {\n const { dispatchPromise: dispatch } = context.getCapability(Capabilities.IntentDispatcher);\n await dispatch(createIntent(SpaceAction.OpenCreateSpace));\n },\n properties: {\n label: ['create space label', { ns: meta.id }],\n icon: 'ph--plus--regular',\n testId: 'spacePlugin.createSpace',\n disposition: 'menu',\n },\n },\n {\n id: SpaceAction.Join._tag,\n data: async () => {\n const { dispatchPromise: dispatch } = context.getCapability(Capabilities.IntentDispatcher);\n await dispatch(createIntent(SpaceAction.Join));\n },\n properties: {\n label: ['join space label', { ns: meta.id }],\n icon: 'ph--sign-in--regular',\n testId: 'spacePlugin.joinSpace',\n disposition: 'menu',\n },\n },\n {\n id: SpaceAction.OpenMembers._tag,\n data: async () => {\n const { dispatchPromise: dispatch } = context.getCapability(Capabilities.IntentDispatcher);\n const client = context.getCapability(ClientCapabilities.Client);\n const space = getActiveSpace(context) ?? client.spaces.default;\n await dispatch(createIntent(SpaceAction.OpenMembers, { space }));\n },\n properties: {\n label: ['share space label', { ns: meta.id }],\n icon: 'ph--users--regular',\n testId: 'spacePlugin.shareSpace',\n keyBinding: {\n macos: 'meta+.',\n windows: 'alt+.',\n },\n },\n },\n {\n id: SpaceAction.OpenSettings._tag,\n data: async () => {\n const { dispatchPromise: dispatch } = context.getCapability(Capabilities.IntentDispatcher);\n const client = context.getCapability(ClientCapabilities.Client);\n const space = getActiveSpace(context) ?? client.spaces.default;\n await dispatch(createIntent(SpaceAction.OpenSettings, { space }));\n },\n properties: {\n label: ['open current space settings label', { ns: meta.id }],\n icon: 'ph--faders--regular',\n keyBinding: {\n macos: 'meta+shift+,',\n windows: 'ctrl+shift+,',\n },\n },\n },\n ]),\n Option.getOrElse(() => []),\n ),\n ),\n }),\n\n // Create spaces group node.\n createExtension({\n id: `${meta.id}/root`,\n position: 'hoist',\n connector: (node) =>\n Atom.make((get) =>\n Function.pipe(\n get(node),\n Option.flatMap((node) => (node.id === ROOT_ID ? Option.some(node) : Option.none())),\n Option.map(() => [spacesNode]),\n Option.getOrElse(() => []),\n ),\n ),\n // resolver: ({ id }) => (id === SPACES ? spacesNode : undefined),\n }),\n\n // Create space nodes.\n createExtension({\n id: SPACES,\n connector: (node) => {\n let query: QueryResult<Type.Expando> | undefined;\n return Atom.make((get) =>\n Function.pipe(\n get(node),\n Option.flatMap((node) => (node.id === SPACES ? Option.some(node) : Option.none())),\n Option.map(() => {\n const state = context.getCapability(SpaceCapabilities.State);\n const client = context.getCapability(ClientCapabilities.Client);\n const spacesAtom = atomFromObservable(client.spaces);\n const isReadyAtom = atomFromObservable(client.spaces.isReady);\n\n const spaces = get(spacesAtom);\n const isReady = get(isReadyAtom);\n\n if (!spaces || !isReady) {\n return [];\n }\n\n const settings = get(context.capabilities(Capabilities.SettingsStore))[0]?.getStore<SpaceSettingsProps>(\n meta.id,\n )?.value;\n\n // TODO(wittjosiah): During client reset, accessing default space throws.\n try {\n if (!query) {\n query = client.spaces.default.db.query(Filter.type(Type.Expando, { key: SHARED }));\n }\n const [spacesOrder] = get(atomFromQuery(query));\n return get(\n atomFromSignal(() => {\n const order: string[] = spacesOrder?.order ?? [];\n const orderMap = new Map(order.map((id, index) => [id, index]));\n return [\n ...spaces\n .filter((space) => orderMap.has(space.id))\n .sort((a, b) => orderMap.get(a.id)! - orderMap.get(b.id)!),\n ...spaces.filter((space) => !orderMap.has(space.id)),\n ]\n .filter((space) =>\n settings?.showHidden ? true : space.state.get() !== SpaceState.SPACE_INACTIVE,\n )\n .map((space) =>\n constructSpaceNode({\n space,\n navigable: state.navigableCollections,\n personal: space === client.spaces.default,\n namesCache: state.spaceNames,\n resolve: resolve(get),\n }),\n );\n }),\n );\n } catch {\n return [];\n }\n }),\n Option.getOrElse(() => []),\n ),\n );\n },\n // resolver: ({ id }) => {\n // if (id.length !== SPACE_ID_LENGTH) {\n // return;\n // }\n\n // const client = context.requestCapability(ClientCapabilities.Client);\n // const spaces = toSignal(\n // (onChange) => client.spaces.subscribe(() => onChange()).unsubscribe,\n // () => client.spaces.get(),\n // );\n\n // const isReady = toSignal(\n // (onChange) => client.spaces.isReady.subscribe(() => onChange()).unsubscribe,\n // () => client.spaces.isReady.get(),\n // );\n\n // if (!spaces || !isReady) {\n // return;\n // }\n\n // const space = spaces.find((space) => space.id === id);\n // if (!space) {\n // return;\n // }\n\n // if (space.state.get() === SpaceState.SPACE_INACTIVE) {\n // return false;\n // } else if (space.state.get() !== SpaceState.SPACE_READY) {\n // return undefined;\n // } else {\n // const state = context.requestCapability(SpaceCapabilities.State);\n // return constructSpaceNode({\n // space,\n // navigable: state.navigableCollections,\n // personal: space === client.spaces.default,\n // namesCache: state.spaceNames,\n // resolve,\n // });\n // }\n // },\n }),\n\n // Create space actions.\n createExtension({\n id: `${meta.id}/actions`,\n actions: (node) =>\n Atom.make((get) =>\n Function.pipe(\n get(node),\n Option.flatMap((node) =>\n node.type === SPACE_TYPE && isSpace(node.data) ? Option.some(node.data) : Option.none(),\n ),\n Option.flatMap((space) => {\n const [dispatcher] = get(context.capabilities(Capabilities.IntentDispatcher));\n const [client] = get(context.capabilities(ClientCapabilities.Client));\n const [state] = get(context.capabilities(SpaceCapabilities.State));\n\n if (!dispatcher || !client || !state) {\n return Option.none();\n } else {\n return Option.some({\n space,\n dispatch: dispatcher.dispatchPromise,\n personal: space === client.spaces.default,\n migrating: state.sdkMigrationRunning[space.id],\n });\n }\n }),\n Option.map((params) => constructSpaceActions(params)),\n Option.getOrElse(() => []),\n ),\n ),\n }),\n\n // Create nodes for objects in the root collection of a space.\n createExtension({\n id: `${meta.id}/root-collection`,\n connector: (node) =>\n Atom.make((get) =>\n Function.pipe(\n get(node),\n Option.flatMap((node) =>\n node.type === SPACE_TYPE && isSpace(node.data) ? Option.some(node.data) : Option.none(),\n ),\n Option.map((space) => {\n const state = context.getCapability(SpaceCapabilities.State);\n const spaceState = get(atomFromObservable(space.state));\n if (spaceState !== SpaceState.SPACE_READY) {\n return [];\n }\n\n const collection = get(\n atomFromSignal(\n () => space.properties[Collection.Collection.typename]?.target as Collection.Collection | undefined,\n ),\n );\n if (!collection) {\n return [];\n }\n\n return get(\n atomFromSignal(() =>\n Function.pipe(\n collection.objects,\n Array.map((object) => object.target),\n Array.filter(isNonNullable),\n Array.map((object) =>\n createObjectNode({\n space,\n object,\n resolve: resolve(get),\n navigable: state.navigableCollections,\n }),\n ),\n Array.filter(isNonNullable),\n ),\n ),\n );\n }),\n Option.getOrElse(() => []),\n ),\n ),\n }),\n\n // Create nodes for objects in a collection or by its fully qualified id.\n createExtension({\n id: `${meta.id}/objects`,\n connector: (node) =>\n Atom.make((get) =>\n Function.pipe(\n get(node),\n Option.flatMap((node) =>\n Obj.instanceOf(Collection.Collection, node.data) ? Option.some(node.data) : Option.none(),\n ),\n Option.map((collection) => {\n const state = context.getCapability(SpaceCapabilities.State);\n const space = getSpace(collection);\n\n return get(\n atomFromSignal(() =>\n Function.pipe(\n collection.objects,\n Array.map((object) => object.target),\n Array.filter(isNonNullable),\n Array.map(\n (object) =>\n space &&\n createObjectNode({\n object,\n space,\n resolve: resolve(get),\n navigable: state.navigableCollections,\n }),\n ),\n Array.filter(isNonNullable),\n ),\n ),\n );\n }),\n Option.getOrElse(() => []),\n ),\n ),\n // resolver: ({ id }) => {\n // if (id.length !== FQ_ID_LENGTH) {\n // return;\n // }\n\n // const [spaceId, objectId] = id.split(':');\n // if (spaceId.length !== SPACE_ID_LENGTH && objectId.length !== OBJECT_ID_LENGTH) {\n // return;\n // }\n\n // const client = context.requestCapability(ClientCapabilities.Client);\n // const space = client.spaces.get().find((space) => space.id === spaceId);\n // if (!space) {\n // return;\n // }\n\n // const spaceState = toSignal(\n // (onChange) => space.state.subscribe(() => onChange()).unsubscribe,\n // () => space.state.get(),\n // space.id,\n // );\n // if (spaceState !== SpaceState.SPACE_READY) {\n // return;\n // }\n\n // const [object] = memoizeQuery(space, Query.select(Filter.ids(objectId)));\n // if (!object) {\n // return;\n // }\n\n // if (isDeleted(object)) {\n // return false;\n // } else {\n // const state = context.requestCapability(SpaceCapabilities.State);\n // return createObjectNode({ object, space, resolve, navigable: state.navigableCollections });\n // }\n // },\n }),\n\n // Create nodes for objects in a query collection.\n createExtension({\n id: `${meta.id}/query-collection-objects`,\n connector: (node) => {\n let query: QueryResult<Type.Expando> | undefined;\n return Atom.make((get) =>\n Function.pipe(\n get(node),\n Option.flatMap((node) =>\n Obj.instanceOf(Collection.QueryCollection, node.data) ? Option.some(node.data) : Option.none(),\n ),\n Option.flatMap((collection) => {\n const space = getSpace(collection);\n const typename = getTypenameFromQuery(collection.query);\n return typename && space ? Option.some({ typename, space }) : Option.none();\n }),\n Option.map(({ typename, space }) => {\n const state = context.getCapability(SpaceCapabilities.State);\n if (!query) {\n query = space.db.query(\n Query.without(\n Query.select(Filter.typename(typename)),\n // TODO(wittjosiah): This query is broader than it should be.\n // It will return all objects in the collection, not just the ones of the given type.\n // However this works fine for now because this query is only used for exclusions.\n Query.select(Filter.typename(typename))\n .referencedBy(Collection.Collection, 'objects')\n .reference('objects'),\n ),\n );\n }\n return (\n get(atomFromQuery(query))\n // TODO(wittjosiah): This should be the default sort order.\n .toSorted((a, b) => a.id.localeCompare(b.id))\n .map((object) =>\n get(\n atomFromSignal(() =>\n createObjectNode({\n object,\n space,\n resolve: resolve(get),\n droppable: false, // Cannot rearrange query collections.\n navigable: state.navigableCollections,\n }),\n ),\n ),\n )\n .filter(isNonNullable)\n );\n }),\n Option.getOrElse(() => []),\n ),\n );\n },\n }),\n\n // Static schema records.\n createExtension({\n id: `${meta.id}/static-schemas`,\n connector: (node) => {\n const client = context.getCapability(ClientCapabilities.Client);\n return Atom.make((get) =>\n Function.pipe(\n get(node),\n Option.flatMap((node) =>\n Obj.instanceOf(Collection.QueryCollection, node.data) &&\n getTypenameFromQuery(node.data.query) === StoredSchema.typename\n ? Option.some(node.data)\n : Option.none(),\n ),\n Option.flatMap((collection) => {\n const space = getSpace(collection);\n return space?.properties.staticRecords ? Option.some(space) : Option.none();\n }),\n Option.map((space) => {\n return get(atomFromSignal(() => (space.properties.staticRecords ?? []) as string[]))\n .map((typename) =>\n client.graph.schemaRegistry.schemas.find((schema) => Type.getTypename(schema) === typename),\n )\n .filter(isNonNullable)\n .map((schema) => createStaticSchemaNode({ schema, space }));\n }),\n Option.getOrElse(() => []),\n ),\n );\n },\n }),\n\n // Create static schema actions.\n createExtension({\n id: `${meta.id}/static-schema-actions`,\n actions: (node) => {\n let query: QueryResult<View.View> | undefined;\n return Atom.make((get) =>\n Function.pipe(\n get(node),\n Option.flatMap((node) => {\n const space = isSpace(node.properties.space) ? node.properties.space : undefined;\n return space && Schema.isSchema(node.data) ? Option.some({ space, schema: node.data }) : Option.none();\n }),\n Option.map(({ space, schema }) => {\n if (!query) {\n // TODO(wittjosiah): Support filtering by nested properties (e.g. `query.typename`).\n query = space.db.query(Filter.type(View.View));\n }\n\n const views = get(atomFromQuery(query));\n const filteredViews = get(\n atomFromSignal(() =>\n // TODO(wittjosiah): Remove cast.\n views.filter(\n (view) => getTypenameFromQuery(view.query.ast) === Type.getTypename(schema as Type.Obj.Any),\n ),\n ),\n );\n const deletable = filteredViews.length === 0;\n\n const [dispatcher] = get(context.capabilities(Capabilities.IntentDispatcher));\n if (!dispatcher) {\n return [];\n }\n\n // TODO(wittjosiah): Remove cast.\n return createStaticSchemaActions({\n schema: schema as Type.Obj.Any,\n space,\n dispatch: dispatcher.dispatchPromise,\n deletable,\n });\n }),\n Option.getOrElse(() => []),\n ),\n );\n },\n }),\n\n // Create nodes for schema views.\n createExtension({\n id: `${meta.id}/schema-views`,\n connector: (node) => {\n let query: QueryResult<View.View> | undefined;\n return Atom.make((get) =>\n Function.pipe(\n get(node),\n Option.flatMap((node) => {\n const space = getSpace(node.data) ?? (isSpace(node.properties.space) ? node.properties.space : undefined);\n return space && (Obj.instanceOf(StoredSchema, node.data) || Schema.isSchema(node.data))\n ? Option.some({ space, schema: node.data })\n : Option.none();\n }),\n Option.map(({ space, schema }) => {\n if (!query) {\n // TODO(wittjosiah): Support filtering by nested properties (e.g. `query.typename`).\n query = space.db.query(Filter.type(View.View));\n }\n\n // TODO(wittjosiah): Remove cast.\n const typename = Schema.isSchema(schema) ? Type.getTypename(schema as Type.Obj.Any) : schema.typename;\n return (\n get(atomFromQuery(query))\n .filter((view) => getTypenameFromQuery(view.query.ast) === typename)\n // Filter out Collection views from Projects.\n .filter((view) =>\n get(\n atomFromSignal(() => {\n const presentation = view.presentation.target;\n if (presentation) {\n const typename = Obj.getTypename(presentation);\n return typename !== Collection.Collection.typename;\n } else {\n return false;\n }\n }),\n ),\n )\n .map((view) =>\n get(\n atomFromSignal(() =>\n createObjectNode({\n object: view,\n space,\n resolve: resolve(get),\n droppable: false,\n }),\n ),\n ),\n )\n .filter(isNonNullable)\n );\n }),\n Option.getOrElse(() => []),\n ),\n );\n },\n }),\n\n // Create record nodes.\n createExtension({\n id: `${meta.id}/records`,\n resolver: (id) => {\n let query: QueryResult<Type.Expando> | undefined;\n return Atom.make((get) => {\n const client = context.getCapability(ClientCapabilities.Client);\n const dxn = DXN.tryParse(id)?.asEchoDXN();\n if (!dxn || !dxn.spaceId) {\n return null;\n }\n\n const space = client.spaces.get(dxn.spaceId);\n if (!space) {\n return null;\n }\n\n if (!query) {\n query = space.db.query(Filter.ids(dxn.echoId));\n }\n\n const object = get(atomFromQuery(query)).at(0);\n if (!object) {\n return null;\n }\n\n return createObjectNode({\n object,\n space,\n resolve: resolve(get),\n disposition: 'hidden',\n });\n });\n },\n }),\n\n // Create collection actions and action groups.\n createExtension({\n id: `${meta.id}/object-actions`,\n actions: (node) => {\n let query: QueryResult<View.View> | undefined;\n return Atom.make((get) =>\n Function.pipe(\n get(node),\n Option.flatMap((node) => {\n const space = getSpace(node.data);\n return space && Obj.isObject(node.data) && Obj.getTypename(node.data) === node.type\n ? Option.some({ space, object: node.data })\n : Option.none();\n }),\n Option.flatMap(({ space, object }) => {\n const isSchema = Obj.instanceOf(StoredSchema, object);\n if (!query && isSchema) {\n // TODO(wittjosiah): Support filtering by nested properties (e.g. `query.typename`).\n query = space.db.query(Filter.type(View.View));\n }\n\n let deletable =\n !isSchema &&\n // Don't allow the Records smart collection to be deleted.\n !(\n Obj.instanceOf(Collection.QueryCollection, object) &&\n getTypenameFromQuery(object.query) === StoredSchema.typename\n );\n if (isSchema && query) {\n const views = get(atomFromQuery(query));\n const filteredViews = get(\n atomFromSignal(() =>\n views.filter((view) => getTypenameFromQuery(view.query.ast) === object.typename),\n ),\n );\n deletable = filteredViews.length === 0;\n }\n\n const [dispatcher] = get(context.capabilities(Capabilities.IntentDispatcher));\n const [appGraph] = get(context.capabilities(Capabilities.AppGraph));\n const [state] = get(context.capabilities(SpaceCapabilities.State));\n const objectForms = get(context.capabilities(SpaceCapabilities.ObjectForm));\n\n if (!dispatcher || !appGraph || !state) {\n return Option.none();\n } else {\n return Option.some({\n object,\n graph: appGraph.graph,\n dispatch: dispatcher.dispatchPromise,\n objectForms,\n deletable,\n navigable: get(atomFromSignal(() => state.navigableCollections)),\n });\n }\n }),\n Option.map((params) => constructObjectActions(params)),\n Option.getOrElse(() => []),\n ),\n );\n },\n }),\n\n // View selected objects.\n createExtension({\n id: `${meta.id}/selected-objects`,\n connector: (node) =>\n Atom.make((get) =>\n Function.pipe(\n get(node),\n Option.flatMap((node) => (Obj.instanceOf(View.View, node.data) ? Option.some(node) : Option.none())),\n Option.map((node) => [\n {\n id: [node.id, 'selected-objects'].join(ATTENDABLE_PATH_SEPARATOR),\n type: PLANK_COMPANION_TYPE,\n data: 'selected-objects',\n properties: {\n label: ['companion selected objects label', { ns: meta.id }],\n icon: 'ph--tree-view--regular',\n disposition: 'hidden',\n },\n },\n ]),\n Option.getOrElse(() => []),\n ),\n ),\n }),\n\n // Object settings plank companion.\n createExtension({\n id: `${meta.id}/settings`,\n connector: (node) =>\n Atom.make((get) =>\n Function.pipe(\n get(node),\n Option.flatMap((node) => (Obj.isObject(node.data) ? Option.some(node) : Option.none())),\n Option.map((node) => [\n {\n id: [node.id, 'settings'].join(ATTENDABLE_PATH_SEPARATOR),\n type: PLANK_COMPANION_TYPE,\n data: 'settings',\n properties: {\n label: ['object settings label', { ns: meta.id }],\n icon: 'ph--sliders--regular',\n disposition: 'hidden',\n position: 'fallback',\n },\n },\n ]),\n Option.getOrElse(() => []),\n ),\n ),\n }),\n ]);\n};\n"],
5
+ "mappings": "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",
6
+ "names": ["Atom", "Array", "Function", "Option", "Schema", "Capabilities", "contributes", "createIntent", "SpaceState", "getSpace", "isSpace", "DXN", "Filter", "Obj", "Query", "Type", "log", "ClientCapabilities", "ATTENDABLE_PATH_SEPARATOR", "PLANK_COMPANION_TYPE", "ROOT_ID", "atomFromObservable", "atomFromSignal", "createExtension", "Collection", "StoredSchema", "View", "getTypenameFromQuery", "isNonNullable", "context", "resolve", "get", "typename", "getCapabilities", "Capabilities", "Metadata", "find", "id", "metadata", "spacesNode", "SPACES", "type", "cacheable", "properties", "label", "ns", "meta", "icon", "testId", "role", "disposition", "disabled", "childrenPersistenceClass", "onRearrangeChildren", "nextOrder", "graph", "getCapability", "AppGraph", "client", "ClientCapabilities", "Client", "sortEdges", "map", "objects", "spacesOrder", "spaces", "default", "db", "query", "Filter", "Type", "Expando", "key", "SHARED", "run", "order", "log", "warn", "contributes", "AppGraphBuilder", "createExtension", "position", "actions", "node", "Atom", "make", "pipe", "flatMap", "ROOT_ID", "some", "none", "SpaceAction", "OpenCreateSpace", "_tag", "data", "dispatchPromise", "dispatch", "IntentDispatcher", "createIntent", "Join", "OpenMembers", "space", "getActiveSpace", "keyBinding", "macos", "windows", "OpenSettings", "getOrElse", "connector", "state", "SpaceCapabilities", "State", "spacesAtom", "atomFromObservable", "isReadyAtom", "isReady", "settings", "capabilities", "SettingsStore", "getStore", "value", "atomFromQuery", "atomFromSignal", "orderMap", "Map", "index", "filter", "has", "sort", "a", "b", "showHidden", "SpaceState", "SPACE_INACTIVE", "constructSpaceNode", "navigable", "navigableCollections", "personal", "namesCache", "spaceNames", "SPACE_TYPE", "isSpace", "dispatcher", "migrating", "sdkMigrationRunning", "params", "constructSpaceActions", "spaceState", "SPACE_READY", "collection", "Collection", "target", "object", "isNonNullable", "createObjectNode", "Obj", "instanceOf", "getSpace", "QueryCollection", "getTypenameFromQuery", "Query", "without", "select", "referencedBy", "reference", "toSorted", "localeCompare", "droppable", "StoredSchema", "staticRecords", "schemaRegistry", "schemas", "schema", "getTypename", "createStaticSchemaNode", "undefined", "isSchema", "View", "views", "filteredViews", "view", "ast", "deletable", "length", "createStaticSchemaActions", "presentation", "resolver", "dxn", "DXN", "tryParse", "asEchoDXN", "spaceId", "ids", "echoId", "at", "isObject", "appGraph", "objectForms", "ObjectForm", "constructObjectActions", "join", "ATTENDABLE_PATH_SEPARATOR", "PLANK_COMPANION_TYPE"]
7
+ }