@dxos/plugin-space 0.8.4-main.3a94e84 → 0.8.4-main.406dc2a

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 (305) hide show
  1. package/dist/lib/browser/{CollectionMain-D2B75XBS.mjs → CollectionMain-AX7KKXWP.mjs} +4 -4
  2. package/dist/lib/browser/CollectionMain-AX7KKXWP.mjs.map +7 -0
  3. package/dist/lib/browser/ObjectDetailsPanel-MQBHG666.mjs +145 -0
  4. package/dist/lib/browser/ObjectDetailsPanel-MQBHG666.mjs.map +7 -0
  5. package/dist/lib/browser/ObjectSettings-KNUZFCGS.mjs +151 -0
  6. package/dist/lib/browser/ObjectSettings-KNUZFCGS.mjs.map +7 -0
  7. package/dist/lib/browser/RecordMain-H4DVHICS.mjs +116 -0
  8. package/dist/lib/browser/RecordMain-H4DVHICS.mjs.map +7 -0
  9. package/dist/lib/browser/{app-graph-builder-7CZZJS3S.mjs → app-graph-builder-3R5GGT46.mjs} +102 -61
  10. package/dist/lib/browser/app-graph-builder-3R5GGT46.mjs.map +7 -0
  11. package/dist/lib/browser/{app-graph-serializer-H6AW7KGS.mjs → app-graph-serializer-25Z5BG22.mjs} +14 -14
  12. package/dist/lib/browser/app-graph-serializer-25Z5BG22.mjs.map +7 -0
  13. package/dist/lib/browser/{chunk-V7MJSSBQ.mjs → chunk-522KZGQF.mjs} +310 -342
  14. package/dist/lib/browser/chunk-522KZGQF.mjs.map +7 -0
  15. package/dist/lib/browser/chunk-7XOTWRZ3.mjs +166 -0
  16. package/dist/lib/browser/chunk-7XOTWRZ3.mjs.map +7 -0
  17. package/dist/lib/browser/chunk-EIXZABXD.mjs +19 -0
  18. package/dist/lib/browser/chunk-EIXZABXD.mjs.map +7 -0
  19. package/dist/lib/browser/chunk-IRKDREHY.mjs +11 -0
  20. package/dist/lib/browser/chunk-IRKDREHY.mjs.map +7 -0
  21. package/dist/lib/browser/{chunk-XUYKJUU7.mjs → chunk-OV6D543A.mjs} +99 -44
  22. package/dist/lib/browser/chunk-OV6D543A.mjs.map +7 -0
  23. package/dist/lib/browser/{chunk-QACNNDOT.mjs → chunk-PTGRQQ6J.mjs} +13 -10
  24. package/dist/lib/browser/chunk-PTGRQQ6J.mjs.map +7 -0
  25. package/dist/lib/browser/chunk-RLI2IAHK.mjs +20 -0
  26. package/dist/lib/browser/chunk-RLI2IAHK.mjs.map +7 -0
  27. package/dist/lib/browser/{chunk-SGTQ52SU.mjs → chunk-WS2PJDES.mjs} +22 -12
  28. package/dist/lib/browser/chunk-WS2PJDES.mjs.map +7 -0
  29. package/dist/lib/browser/{identity-created-23XJJV2N.mjs → identity-created-PW2BA46S.mjs} +4 -4
  30. package/dist/lib/browser/{identity-created-23XJJV2N.mjs.map → identity-created-PW2BA46S.mjs.map} +3 -3
  31. package/dist/lib/browser/index.mjs +36 -53
  32. package/dist/lib/browser/index.mjs.map +3 -3
  33. package/dist/lib/browser/{intent-resolver-TIXVDYN7.mjs → intent-resolver-ICGUSVH6.mjs} +52 -45
  34. package/dist/lib/browser/intent-resolver-ICGUSVH6.mjs.map +7 -0
  35. package/dist/lib/browser/meta.json +1 -1
  36. package/dist/lib/browser/{react-root-N2J7TDRX.mjs → react-root-H56QN474.mjs} +11 -11
  37. package/dist/lib/browser/react-root-H56QN474.mjs.map +7 -0
  38. package/dist/lib/browser/{react-surface-TPNLWJJH.mjs → react-surface-VOE2ILKO.mjs} +57 -77
  39. package/dist/lib/browser/react-surface-VOE2ILKO.mjs.map +7 -0
  40. package/dist/lib/browser/{schema-defs-Z6FC4AHC.mjs → schema-defs-7R7RKCAE.mjs} +5 -5
  41. package/dist/lib/browser/schema-defs-7R7RKCAE.mjs.map +7 -0
  42. package/dist/lib/browser/{settings-4IMP5RYT.mjs → settings-OBFJ67ZG.mjs} +5 -5
  43. package/dist/lib/browser/{settings-4IMP5RYT.mjs.map → settings-OBFJ67ZG.mjs.map} +1 -1
  44. package/dist/lib/browser/{spaces-ready-TOPG6IV4.mjs → spaces-ready-MFIVK6I6.mjs} +18 -16
  45. package/dist/lib/browser/spaces-ready-MFIVK6I6.mjs.map +7 -0
  46. package/dist/lib/browser/{state-QYZAB45H.mjs → state-LSPRFIRO.mjs} +7 -7
  47. package/dist/lib/browser/state-LSPRFIRO.mjs.map +7 -0
  48. package/dist/lib/browser/types/index.mjs +2 -2
  49. package/dist/lib/node-esm/{CollectionMain-ZJIFCWKZ.mjs → CollectionMain-EU57SRYK.mjs} +4 -4
  50. package/dist/lib/node-esm/CollectionMain-EU57SRYK.mjs.map +7 -0
  51. package/dist/lib/node-esm/ObjectDetailsPanel-NABA2S56.mjs +146 -0
  52. package/dist/lib/node-esm/ObjectDetailsPanel-NABA2S56.mjs.map +7 -0
  53. package/dist/lib/node-esm/ObjectSettings-GXGTITF5.mjs +152 -0
  54. package/dist/lib/node-esm/ObjectSettings-GXGTITF5.mjs.map +7 -0
  55. package/dist/lib/node-esm/RecordMain-MYFTAQ2U.mjs +117 -0
  56. package/dist/lib/node-esm/RecordMain-MYFTAQ2U.mjs.map +7 -0
  57. package/dist/lib/node-esm/{app-graph-builder-KGIGWC72.mjs → app-graph-builder-VGRMD5TP.mjs} +102 -61
  58. package/dist/lib/node-esm/app-graph-builder-VGRMD5TP.mjs.map +7 -0
  59. package/dist/lib/node-esm/{app-graph-serializer-2ICUGQQT.mjs → app-graph-serializer-U4GHXWRG.mjs} +14 -14
  60. package/dist/lib/node-esm/app-graph-serializer-U4GHXWRG.mjs.map +7 -0
  61. package/dist/lib/node-esm/{chunk-JH6F4C3I.mjs → chunk-4F25JKVT.mjs} +22 -12
  62. package/dist/lib/node-esm/chunk-4F25JKVT.mjs.map +7 -0
  63. package/dist/lib/node-esm/{chunk-6X5DLJM5.mjs → chunk-DG5YEEPZ.mjs} +310 -342
  64. package/dist/lib/node-esm/chunk-DG5YEEPZ.mjs.map +7 -0
  65. package/dist/lib/node-esm/chunk-H5UPFRRH.mjs +21 -0
  66. package/dist/lib/node-esm/chunk-H5UPFRRH.mjs.map +7 -0
  67. package/dist/lib/node-esm/{chunk-P442DOQ3.mjs → chunk-HAKW2RFD.mjs} +13 -10
  68. package/dist/lib/node-esm/chunk-HAKW2RFD.mjs.map +7 -0
  69. package/dist/lib/node-esm/{chunk-HWNG4MEU.mjs → chunk-MWNATOXL.mjs} +2 -4
  70. package/dist/lib/node-esm/chunk-MWNATOXL.mjs.map +7 -0
  71. package/dist/lib/node-esm/chunk-PAAWJ4RE.mjs +167 -0
  72. package/dist/lib/node-esm/chunk-PAAWJ4RE.mjs.map +7 -0
  73. package/dist/lib/node-esm/chunk-SVFKU7EW.mjs +20 -0
  74. package/dist/lib/node-esm/chunk-SVFKU7EW.mjs.map +7 -0
  75. package/dist/lib/node-esm/{chunk-4AOMYKDE.mjs → chunk-TNUWML33.mjs} +99 -44
  76. package/dist/lib/node-esm/chunk-TNUWML33.mjs.map +7 -0
  77. package/dist/lib/node-esm/{identity-created-IJQO6GCR.mjs → identity-created-MWTLGQRU.mjs} +4 -4
  78. package/dist/lib/node-esm/{identity-created-IJQO6GCR.mjs.map → identity-created-MWTLGQRU.mjs.map} +3 -3
  79. package/dist/lib/node-esm/index.mjs +36 -53
  80. package/dist/lib/node-esm/index.mjs.map +3 -3
  81. package/dist/lib/node-esm/{intent-resolver-MHGHRGDT.mjs → intent-resolver-KVB2A4YC.mjs} +52 -45
  82. package/dist/lib/node-esm/intent-resolver-KVB2A4YC.mjs.map +7 -0
  83. package/dist/lib/node-esm/meta.json +1 -1
  84. package/dist/lib/node-esm/{react-root-KW3TGJGY.mjs → react-root-56PGW5PH.mjs} +11 -11
  85. package/dist/lib/node-esm/react-root-56PGW5PH.mjs.map +7 -0
  86. package/dist/lib/node-esm/{react-surface-UUIUUD6P.mjs → react-surface-NYEQ23A4.mjs} +57 -77
  87. package/dist/lib/node-esm/react-surface-NYEQ23A4.mjs.map +7 -0
  88. package/dist/lib/node-esm/{schema-defs-WHJM7UZE.mjs → schema-defs-RYG5DSUE.mjs} +5 -5
  89. package/dist/lib/node-esm/schema-defs-RYG5DSUE.mjs.map +7 -0
  90. package/dist/lib/node-esm/{settings-SAOBPND3.mjs → settings-QGWWNMMZ.mjs} +5 -5
  91. package/dist/lib/node-esm/{settings-SAOBPND3.mjs.map → settings-QGWWNMMZ.mjs.map} +1 -1
  92. package/dist/lib/node-esm/{spaces-ready-HIUKNDZK.mjs → spaces-ready-TC27M7MP.mjs} +18 -16
  93. package/dist/lib/node-esm/spaces-ready-TC27M7MP.mjs.map +7 -0
  94. package/dist/lib/node-esm/{state-ZVEHQ4BJ.mjs → state-TCGOPLRO.mjs} +7 -7
  95. package/dist/lib/node-esm/state-TCGOPLRO.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 +1 -1
  100. package/dist/types/src/capabilities/app-graph-builder.d.ts.map +1 -1
  101. package/dist/types/src/capabilities/app-graph-serializer.d.ts +1 -1
  102. package/dist/types/src/capabilities/capabilities.d.ts +5 -4
  103. package/dist/types/src/capabilities/capabilities.d.ts.map +1 -1
  104. package/dist/types/src/capabilities/identity-created.d.ts +1 -1
  105. package/dist/types/src/capabilities/identity-created.d.ts.map +1 -1
  106. package/dist/types/src/capabilities/index.d.ts +11 -12
  107. package/dist/types/src/capabilities/index.d.ts.map +1 -1
  108. package/dist/types/src/capabilities/intent-resolver.d.ts +1 -1
  109. package/dist/types/src/capabilities/intent-resolver.d.ts.map +1 -1
  110. package/dist/types/src/capabilities/react-root.d.ts +2 -2
  111. package/dist/types/src/capabilities/react-root.d.ts.map +1 -1
  112. package/dist/types/src/capabilities/react-surface.d.ts +1 -1
  113. package/dist/types/src/capabilities/react-surface.d.ts.map +1 -1
  114. package/dist/types/src/capabilities/schema-defs.d.ts +1 -1
  115. package/dist/types/src/capabilities/schema-defs.d.ts.map +1 -1
  116. package/dist/types/src/capabilities/settings.d.ts +1 -1
  117. package/dist/types/src/capabilities/spaces-ready.d.ts +1 -1
  118. package/dist/types/src/capabilities/spaces-ready.d.ts.map +1 -1
  119. package/dist/types/src/capabilities/state.d.ts +1 -1
  120. package/dist/types/src/capabilities/state.d.ts.map +1 -1
  121. package/dist/types/src/components/CreateDialog/CreateObjectDialog.d.ts +3 -3
  122. package/dist/types/src/components/CreateDialog/CreateObjectDialog.d.ts.map +1 -1
  123. package/dist/types/src/components/CreateDialog/CreateObjectDialog.stories.d.ts +1604 -4
  124. package/dist/types/src/components/CreateDialog/CreateObjectDialog.stories.d.ts.map +1 -1
  125. package/dist/types/src/components/CreateDialog/CreateObjectPanel.d.ts +5 -3
  126. package/dist/types/src/components/CreateDialog/CreateObjectPanel.d.ts.map +1 -1
  127. package/dist/types/src/components/CreateDialog/CreateSpaceDialog.d.ts +1 -1
  128. package/dist/types/src/components/CreateDialog/CreateSpaceDialog.d.ts.map +1 -1
  129. package/dist/types/src/components/JoinDialog.d.ts +1 -1
  130. package/dist/types/src/components/JoinDialog.d.ts.map +1 -1
  131. package/dist/types/src/components/MembersContainer.d.ts +3 -2
  132. package/dist/types/src/components/MembersContainer.d.ts.map +1 -1
  133. package/dist/types/src/components/MembersContainer.stories.d.ts +1604 -5
  134. package/dist/types/src/components/MembersContainer.stories.d.ts.map +1 -1
  135. package/dist/types/src/components/ObjectDetailsPanel/ObjectDetailsPanel.d.ts +9 -0
  136. package/dist/types/src/components/ObjectDetailsPanel/ObjectDetailsPanel.d.ts.map +1 -0
  137. package/dist/types/src/components/ObjectDetailsPanel/ObjectForm.d.ts +10 -0
  138. package/dist/types/src/components/ObjectDetailsPanel/ObjectForm.d.ts.map +1 -0
  139. package/dist/types/src/components/ObjectDetailsPanel/index.d.ts +3 -0
  140. package/dist/types/src/components/ObjectDetailsPanel/index.d.ts.map +1 -0
  141. package/dist/types/src/components/ObjectSettings/AdvancedObjectSettings.d.ts.map +1 -1
  142. package/dist/types/src/components/ObjectSettings/BaseObjectSettings.d.ts +1 -1
  143. package/dist/types/src/components/ObjectSettings/BaseObjectSettings.d.ts.map +1 -1
  144. package/dist/types/src/components/ObjectSettings/BaseObjectSettings.stories.d.ts +1440 -0
  145. package/dist/types/src/components/ObjectSettings/BaseObjectSettings.stories.d.ts.map +1 -0
  146. package/dist/types/src/components/ObjectSettings/ForeignKeys.d.ts +1 -1
  147. package/dist/types/src/components/ObjectSettings/ForeignKeys.d.ts.map +1 -1
  148. package/dist/types/src/components/ObjectSettings/ObjectSettingsContainer.d.ts.map +1 -1
  149. package/dist/types/src/components/ObjectSettings/index.d.ts +2 -1
  150. package/dist/types/src/components/ObjectSettings/index.d.ts.map +1 -1
  151. package/dist/types/src/components/PopoverRenameObject.d.ts +2 -2
  152. package/dist/types/src/components/PopoverRenameObject.d.ts.map +1 -1
  153. package/dist/types/src/components/PopoverRenameSpace.d.ts +1 -1
  154. package/dist/types/src/components/PopoverRenameSpace.d.ts.map +1 -1
  155. package/dist/types/src/components/RecordMain.d.ts +7 -0
  156. package/dist/types/src/components/RecordMain.d.ts.map +1 -0
  157. package/dist/types/src/components/SpacePluginSettings.d.ts.map +1 -1
  158. package/dist/types/src/components/SpacePresence.d.ts.map +1 -1
  159. package/dist/types/src/components/SpacePresence.stories.d.ts +1432 -4
  160. package/dist/types/src/components/SpacePresence.stories.d.ts.map +1 -1
  161. package/dist/types/src/components/SpaceSettings/SpaceSettingsContainer.d.ts.map +1 -1
  162. package/dist/types/src/components/SpaceSettings/SpaceSettingsContainer.stories.d.ts +1437 -4
  163. package/dist/types/src/components/SpaceSettings/SpaceSettingsContainer.stories.d.ts.map +1 -1
  164. package/dist/types/src/components/SyncStatus/SyncStatus.d.ts.map +1 -1
  165. package/dist/types/src/components/SyncStatus/SyncStatus.stories.d.ts +1438 -5
  166. package/dist/types/src/components/SyncStatus/SyncStatus.stories.d.ts.map +1 -1
  167. package/dist/types/src/components/ViewEditor.d.ts +1 -1
  168. package/dist/types/src/components/ViewEditor.d.ts.map +1 -1
  169. package/dist/types/src/components/index.d.ts +9 -3
  170. package/dist/types/src/components/index.d.ts.map +1 -1
  171. package/dist/types/src/events.d.ts.map +1 -1
  172. package/dist/types/src/hooks/index.d.ts +1 -0
  173. package/dist/types/src/hooks/index.d.ts.map +1 -1
  174. package/dist/types/src/hooks/useActiveSpace.d.ts.map +1 -1
  175. package/dist/types/src/hooks/useInputSurfaceLookup.d.ts +1 -1
  176. package/dist/types/src/hooks/useInputSurfaceLookup.d.ts.map +1 -1
  177. package/dist/types/src/hooks/usePath.d.ts +1 -1
  178. package/dist/types/src/hooks/usePath.d.ts.map +1 -1
  179. package/dist/types/src/hooks/useTypeOptions.d.ts +10 -0
  180. package/dist/types/src/hooks/useTypeOptions.d.ts.map +1 -0
  181. package/dist/types/src/meta.d.ts +0 -1
  182. package/dist/types/src/meta.d.ts.map +1 -1
  183. package/dist/types/src/translations.d.ts +1236 -26
  184. package/dist/types/src/translations.d.ts.map +1 -1
  185. package/dist/types/src/types/types.d.ts +78 -96
  186. package/dist/types/src/types/types.d.ts.map +1 -1
  187. package/dist/types/src/util.d.ts +10 -7
  188. package/dist/types/src/util.d.ts.map +1 -1
  189. package/dist/types/tsconfig.tsbuildinfo +1 -1
  190. package/package.json +63 -58
  191. package/src/SpacePlugin.ts +206 -220
  192. package/src/capabilities/app-graph-builder.ts +127 -69
  193. package/src/capabilities/app-graph-serializer.ts +7 -7
  194. package/src/capabilities/capabilities.ts +18 -12
  195. package/src/capabilities/identity-created.ts +1 -1
  196. package/src/capabilities/index.ts +0 -1
  197. package/src/capabilities/intent-resolver.ts +40 -28
  198. package/src/capabilities/react-root.tsx +4 -3
  199. package/src/capabilities/react-surface.tsx +50 -107
  200. package/src/capabilities/schema-defs.ts +3 -2
  201. package/src/capabilities/spaces-ready.ts +11 -8
  202. package/src/capabilities/state.ts +5 -4
  203. package/src/components/AwaitingObject.tsx +3 -3
  204. package/src/components/CollectionMain.tsx +2 -2
  205. package/src/components/CollectionSection.tsx +2 -2
  206. package/src/components/CreateDialog/CreateObjectDialog.stories.tsx +11 -10
  207. package/src/components/CreateDialog/CreateObjectDialog.tsx +24 -13
  208. package/src/components/CreateDialog/CreateObjectPanel.tsx +22 -11
  209. package/src/components/CreateDialog/CreateSpaceDialog.tsx +6 -5
  210. package/src/components/JoinDialog.tsx +7 -7
  211. package/src/components/MembersContainer.stories.tsx +36 -10
  212. package/src/components/MembersContainer.tsx +13 -14
  213. package/src/components/MenuFooter.tsx +2 -2
  214. package/src/components/ObjectDetailsPanel/ObjectDetailsPanel.tsx +52 -0
  215. package/src/components/ObjectDetailsPanel/ObjectForm.tsx +75 -0
  216. package/src/components/ObjectDetailsPanel/index.ts +7 -0
  217. package/src/components/ObjectSettings/AdvancedObjectSettings.tsx +4 -3
  218. package/src/components/ObjectSettings/BaseObjectSettings.stories.tsx +63 -0
  219. package/src/components/ObjectSettings/BaseObjectSettings.tsx +96 -26
  220. package/src/components/ObjectSettings/ForeignKeys.tsx +3 -3
  221. package/src/components/ObjectSettings/ObjectSettingsContainer.tsx +3 -2
  222. package/src/components/ObjectSettings/index.ts +3 -1
  223. package/src/components/PersistenceStatus.tsx +2 -2
  224. package/src/components/PopoverRenameObject.tsx +9 -15
  225. package/src/components/PopoverRenameSpace.tsx +4 -4
  226. package/src/components/RecordMain.tsx +87 -0
  227. package/src/components/SchemaContainer.tsx +5 -5
  228. package/src/components/SpacePluginSettings.tsx +8 -9
  229. package/src/components/SpacePresence.stories.tsx +23 -22
  230. package/src/components/SpacePresence.tsx +10 -10
  231. package/src/components/SpaceSettings/SpaceSettingsContainer.stories.tsx +17 -9
  232. package/src/components/SpaceSettings/SpaceSettingsContainer.tsx +19 -18
  233. package/src/components/SyncStatus/InlineSyncStatus.tsx +7 -7
  234. package/src/components/SyncStatus/SyncStatus.stories.tsx +6 -7
  235. package/src/components/SyncStatus/SyncStatus.tsx +93 -5
  236. package/src/components/ViewEditor.tsx +14 -20
  237. package/src/components/index.ts +2 -1
  238. package/src/events.ts +7 -7
  239. package/src/hooks/index.ts +1 -0
  240. package/src/hooks/useActiveSpace.ts +2 -2
  241. package/src/hooks/useInputSurfaceLookup.tsx +2 -2
  242. package/src/hooks/usePath.ts +1 -1
  243. package/src/hooks/useTypeOptions.ts +59 -0
  244. package/src/meta.ts +1 -3
  245. package/src/translations.ts +11 -8
  246. package/src/types/types.ts +21 -13
  247. package/src/util.tsx +97 -40
  248. package/dist/lib/browser/CollectionMain-D2B75XBS.mjs.map +0 -7
  249. package/dist/lib/browser/ObjectDetailsPanel-YPTDQKMG.mjs +0 -88
  250. package/dist/lib/browser/ObjectDetailsPanel-YPTDQKMG.mjs.map +0 -7
  251. package/dist/lib/browser/app-graph-builder-7CZZJS3S.mjs.map +0 -7
  252. package/dist/lib/browser/app-graph-serializer-H6AW7KGS.mjs.map +0 -7
  253. package/dist/lib/browser/chunk-CEFHNVU7.mjs +0 -20
  254. package/dist/lib/browser/chunk-CEFHNVU7.mjs.map +0 -7
  255. package/dist/lib/browser/chunk-FBCGT5YY.mjs +0 -13
  256. package/dist/lib/browser/chunk-FBCGT5YY.mjs.map +0 -7
  257. package/dist/lib/browser/chunk-JS3MMC42.mjs +0 -19
  258. package/dist/lib/browser/chunk-JS3MMC42.mjs.map +0 -7
  259. package/dist/lib/browser/chunk-QACNNDOT.mjs.map +0 -7
  260. package/dist/lib/browser/chunk-SGTQ52SU.mjs.map +0 -7
  261. package/dist/lib/browser/chunk-V7MJSSBQ.mjs.map +0 -7
  262. package/dist/lib/browser/chunk-VLBRSGJ2.mjs +0 -94
  263. package/dist/lib/browser/chunk-VLBRSGJ2.mjs.map +0 -7
  264. package/dist/lib/browser/chunk-XUYKJUU7.mjs.map +0 -7
  265. package/dist/lib/browser/intent-resolver-TIXVDYN7.mjs.map +0 -7
  266. package/dist/lib/browser/react-root-N2J7TDRX.mjs.map +0 -7
  267. package/dist/lib/browser/react-surface-TPNLWJJH.mjs.map +0 -7
  268. package/dist/lib/browser/schema-defs-Z6FC4AHC.mjs.map +0 -7
  269. package/dist/lib/browser/schema-tools-BNP4JTD7.mjs +0 -124
  270. package/dist/lib/browser/schema-tools-BNP4JTD7.mjs.map +0 -7
  271. package/dist/lib/browser/spaces-ready-TOPG6IV4.mjs.map +0 -7
  272. package/dist/lib/browser/state-QYZAB45H.mjs.map +0 -7
  273. package/dist/lib/node-esm/CollectionMain-ZJIFCWKZ.mjs.map +0 -7
  274. package/dist/lib/node-esm/ObjectDetailsPanel-QKZEDSZK.mjs +0 -89
  275. package/dist/lib/node-esm/ObjectDetailsPanel-QKZEDSZK.mjs.map +0 -7
  276. package/dist/lib/node-esm/app-graph-builder-KGIGWC72.mjs.map +0 -7
  277. package/dist/lib/node-esm/app-graph-serializer-2ICUGQQT.mjs.map +0 -7
  278. package/dist/lib/node-esm/chunk-4AOMYKDE.mjs.map +0 -7
  279. package/dist/lib/node-esm/chunk-5HHYE264.mjs +0 -20
  280. package/dist/lib/node-esm/chunk-5HHYE264.mjs.map +0 -7
  281. package/dist/lib/node-esm/chunk-5T3ZH23B.mjs +0 -21
  282. package/dist/lib/node-esm/chunk-5T3ZH23B.mjs.map +0 -7
  283. package/dist/lib/node-esm/chunk-6X5DLJM5.mjs.map +0 -7
  284. package/dist/lib/node-esm/chunk-HWNG4MEU.mjs.map +0 -7
  285. package/dist/lib/node-esm/chunk-JH6F4C3I.mjs.map +0 -7
  286. package/dist/lib/node-esm/chunk-P442DOQ3.mjs.map +0 -7
  287. package/dist/lib/node-esm/chunk-SSLBYZEY.mjs +0 -96
  288. package/dist/lib/node-esm/chunk-SSLBYZEY.mjs.map +0 -7
  289. package/dist/lib/node-esm/intent-resolver-MHGHRGDT.mjs.map +0 -7
  290. package/dist/lib/node-esm/react-root-KW3TGJGY.mjs.map +0 -7
  291. package/dist/lib/node-esm/react-surface-UUIUUD6P.mjs.map +0 -7
  292. package/dist/lib/node-esm/schema-defs-WHJM7UZE.mjs.map +0 -7
  293. package/dist/lib/node-esm/schema-tools-KWW5PTML.mjs +0 -126
  294. package/dist/lib/node-esm/schema-tools-KWW5PTML.mjs.map +0 -7
  295. package/dist/lib/node-esm/spaces-ready-HIUKNDZK.mjs.map +0 -7
  296. package/dist/lib/node-esm/state-ZVEHQ4BJ.mjs.map +0 -7
  297. package/dist/types/src/capabilities/schema-tool.test.d.ts +0 -2
  298. package/dist/types/src/capabilities/schema-tool.test.d.ts.map +0 -1
  299. package/dist/types/src/capabilities/schema-tools.d.ts +0 -13
  300. package/dist/types/src/capabilities/schema-tools.d.ts.map +0 -1
  301. package/dist/types/src/components/ObjectDetailsPanel.d.ts +0 -9
  302. package/dist/types/src/components/ObjectDetailsPanel.d.ts.map +0 -1
  303. package/src/capabilities/schema-tool.test.ts +0 -44
  304. package/src/capabilities/schema-tools.ts +0 -125
  305. package/src/components/ObjectDetailsPanel.tsx +0 -77
@@ -1,9 +1,9 @@
1
1
  import {
2
2
  getActiveSpace
3
- } from "./chunk-VLBRSGJ2.mjs";
3
+ } from "./chunk-7XOTWRZ3.mjs";
4
4
  import {
5
5
  SpaceCapabilities
6
- } from "./chunk-CEFHNVU7.mjs";
6
+ } from "./chunk-RLI2IAHK.mjs";
7
7
  import {
8
8
  SHARED,
9
9
  SPACES,
@@ -14,29 +14,32 @@ import {
14
14
  createStaticSchemaActions,
15
15
  createStaticSchemaNode,
16
16
  rxFromQuery
17
- } from "./chunk-XUYKJUU7.mjs";
17
+ } from "./chunk-OV6D543A.mjs";
18
18
  import {
19
19
  SPACE_TYPE,
20
20
  SpaceAction
21
- } from "./chunk-SGTQ52SU.mjs";
21
+ } from "./chunk-WS2PJDES.mjs";
22
22
  import {
23
- SPACE_PLUGIN
24
- } from "./chunk-FBCGT5YY.mjs";
23
+ meta
24
+ } from "./chunk-IRKDREHY.mjs";
25
25
 
26
26
  // src/capabilities/app-graph-builder.ts
27
27
  import { Rx } from "@effect-rx/rx-react";
28
- import { Array, Option, pipe, Schema } from "effect";
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 { getSpace, SpaceState, isSpace } from "@dxos/client/echo";
33
+ import { SpaceState, getSpace, isSpace, parseId } from "@dxos/client/echo";
31
34
  import { Filter, Obj, Query, Type } from "@dxos/echo";
32
35
  import { log } from "@dxos/log";
33
36
  import { ClientCapabilities } from "@dxos/plugin-client";
34
- import { PLANK_COMPANION_TYPE, ATTENDABLE_PATH_SEPARATOR } from "@dxos/plugin-deck/types";
35
- import { createExtension, rxFromObservable, ROOT_ID, rxFromSignal } from "@dxos/plugin-graph";
36
- import { DataType } from "@dxos/schema";
37
+ import { ATTENDABLE_PATH_SEPARATOR, PLANK_COMPANION_TYPE } from "@dxos/plugin-deck/types";
38
+ import { ROOT_ID, createExtension, rxFromObservable, rxFromSignal } from "@dxos/plugin-graph";
39
+ import { DataType, 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) => {
42
+ var app_graph_builder_default = ((context) => {
40
43
  const resolve = (typename) => context.getCapabilities(Capabilities.Metadata).find(({ id }) => id === typename)?.metadata ?? {};
41
44
  const spacesNode = {
42
45
  id: 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: 70,
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) => Rx.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) => Rx.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,7 +187,7 @@ 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 Rx.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
193
  const spacesRx = rxFromObservable(client.spaces);
@@ -194,7 +197,7 @@ var app_graph_builder_default = (context) => {
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, {
@@ -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) => Rx.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,8 +249,8 @@ 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) => Rx.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
255
  const spaceState = get(rxFromObservable(space.state));
253
256
  if (spaceState !== SpaceState.SPACE_READY) {
@@ -257,7 +260,7 @@ var app_graph_builder_default = (context) => {
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(rxFromSignal(() => Function.pipe(collection.objects, Array.map((object) => object.target), Array.filter(isNonNullable), Array.map((object) => createObjectNode({
261
264
  space,
262
265
  object,
263
266
  resolve,
@@ -267,11 +270,11 @@ var app_graph_builder_default = (context) => {
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) => Rx.make((get) => Function.pipe(get(node), Option.flatMap((node2) => Obj.instanceOf(DataType.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(rxFromSignal(() => Function.pipe(collection.objects, Array.map((object) => object.target), Array.filter(isNonNullable), Array.map((object) => space && createObjectNode({
275
278
  object,
276
279
  space,
277
280
  resolve,
@@ -281,13 +284,14 @@ var app_graph_builder_default = (context) => {
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 Rx.make((get) => Function.pipe(get(node), Option.flatMap((node2) => Obj.instanceOf(DataType.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 }) => {
@@ -301,7 +305,7 @@ var app_graph_builder_default = (context) => {
301
305
  Query.select(Filter.typename(typename)).referencedBy(DataType.Collection, "objects").reference("objects")
302
306
  ));
303
307
  }
304
- return get(rxFromQuery(query)).map((object) => get(rxFromSignal(() => createObjectNode({
308
+ return get(rxFromQuery(query)).toSorted((a, b) => a.id.localeCompare(b.id)).map((object) => get(rxFromSignal(() => createObjectNode({
305
309
  object,
306
310
  space,
307
311
  resolve,
@@ -313,10 +317,10 @@ 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 Rx.make((get) => Function.pipe(get(node), Option.flatMap((node2) => Obj.instanceOf(DataType.QueryCollection, node2.data) && getTypenameFromQuery(node2.data.query) === DataType.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) => {
@@ -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 Rx.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,
@@ -345,12 +349,17 @@ var app_graph_builder_default = (context) => {
345
349
  const views = get(rxFromQuery(query));
346
350
  const filteredViews = get(rxFromSignal(() => (
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;
355
+ const [dispatcher] = get(context.capabilities(Capabilities.IntentDispatcher));
356
+ if (!dispatcher) {
357
+ return [];
358
+ }
351
359
  return createStaticSchemaActions({
352
360
  schema,
353
361
  space,
362
+ dispatch: dispatcher.dispatchPromise,
354
363
  deletable
355
364
  });
356
365
  }), Option.getOrElse(() => [])));
@@ -358,10 +367,10 @@ var app_graph_builder_default = (context) => {
358
367
  }),
359
368
  // Create nodes for schema views.
360
369
  createExtension({
361
- id: `${SPACE_PLUGIN}/schema-views`,
370
+ id: `${meta.id}/schema-views`,
362
371
  connector: (node) => {
363
372
  let query;
364
- return Rx.make((get) => pipe(get(node), Option.flatMap((node2) => {
373
+ return Rx.make((get) => Function.pipe(get(node), Option.flatMap((node2) => {
365
374
  const space = getSpace(node2.data) ?? (isSpace(node2.properties.space) ? node2.properties.space : void 0);
366
375
  return space && (Obj.instanceOf(DataType.StoredSchema, node2.data) || Schema.isSchema(node2.data)) ? Option.some({
367
376
  space,
@@ -372,7 +381,7 @@ var app_graph_builder_default = (context) => {
372
381
  query = space.db.query(Filter.type(DataType.View));
373
382
  }
374
383
  const typename = Schema.isSchema(schema) ? Type.getTypename(schema) : schema.typename;
375
- return get(rxFromQuery(query)).filter((view) => view.query.typename === typename).map((view) => get(rxFromSignal(() => createObjectNode({
384
+ return get(rxFromQuery(query)).filter((view) => getTypenameFromQuery(view.query.ast) === typename).map((view) => get(rxFromSignal(() => createObjectNode({
376
385
  object: view,
377
386
  space,
378
387
  resolve,
@@ -381,26 +390,58 @@ var app_graph_builder_default = (context) => {
381
390
  }), Option.getOrElse(() => [])));
382
391
  }
383
392
  }),
393
+ // Create record nodes.
394
+ createExtension({
395
+ id: `${meta.id}/records`,
396
+ resolver: (id) => {
397
+ let query;
398
+ return Rx.make((get) => {
399
+ const client = context.getCapability(ClientCapabilities.Client);
400
+ const { spaceId, objectId } = parseId(id);
401
+ if (!spaceId || !objectId) {
402
+ return null;
403
+ }
404
+ const space = client.spaces.get(spaceId);
405
+ if (!space) {
406
+ return null;
407
+ }
408
+ if (!query) {
409
+ query = space.db.query(Filter.ids(objectId));
410
+ }
411
+ const object = get(rxFromQuery(query)).at(0);
412
+ if (!object) {
413
+ return null;
414
+ }
415
+ return createObjectNode({
416
+ object,
417
+ space,
418
+ resolve,
419
+ disposition: "hidden"
420
+ });
421
+ });
422
+ }
423
+ }),
384
424
  // Create collection actions and action groups.
385
425
  createExtension({
386
- id: `${SPACE_PLUGIN}/object-actions`,
426
+ id: `${meta.id}/object-actions`,
387
427
  actions: (node) => {
388
428
  let query;
389
- return Rx.make((get) => pipe(get(node), Option.flatMap((node2) => {
429
+ return Rx.make((get) => Function.pipe(get(node), Option.flatMap((node2) => {
390
430
  const space = getSpace(node2.data);
391
- return space && Obj.isObject(node2.data) ? Option.some({
431
+ return space && Obj.isObject(node2.data) && Obj.getTypename(node2.data) === node2.type ? Option.some({
392
432
  space,
393
433
  object: node2.data
394
434
  }) : Option.none();
395
435
  }), Option.flatMap(({ space, object }) => {
396
- const isSchema = Obj.instanceOf(DataType.StoredSchema, object);
397
- if (!query && isSchema) {
436
+ const isSchema2 = Obj.instanceOf(DataType.StoredSchema, object);
437
+ if (!query && isSchema2) {
398
438
  query = space.db.query(Filter.type(DataType.View));
399
439
  }
400
- let deletable = !isSchema;
401
- if (isSchema && query) {
440
+ let deletable = !isSchema2 && // Don't allow the Records smart collection to be deleted.
441
+ !(Obj.instanceOf(DataType.QueryCollection, object) && getTypenameFromQuery(object.query) === DataType.StoredSchema.typename);
442
+ if (isSchema2 && query) {
402
443
  const views = get(rxFromQuery(query));
403
- const filteredViews = get(rxFromSignal(() => views.filter((view) => view.query.typename === object.typename)));
444
+ const filteredViews = get(rxFromSignal(() => views.filter((view) => getTypenameFromQuery(view.query.ast) === object.typename)));
404
445
  deletable = filteredViews.length === 0;
405
446
  }
406
447
  const [dispatcher] = get(context.capabilities(Capabilities.IntentDispatcher));
@@ -424,8 +465,8 @@ var app_graph_builder_default = (context) => {
424
465
  }),
425
466
  // View selected objects.
426
467
  createExtension({
427
- id: `${SPACE_PLUGIN}/selected-objects`,
428
- 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) => [
468
+ id: `${meta.id}/selected-objects`,
469
+ connector: (node) => Rx.make((get) => Function.pipe(get(node), Option.flatMap((node2) => Obj.instanceOf(DataType.View, node2.data) ? Option.some(node2) : Option.none()), Option.map((node2) => [
429
470
  {
430
471
  id: [
431
472
  node2.id,
@@ -437,7 +478,7 @@ var app_graph_builder_default = (context) => {
437
478
  label: [
438
479
  "companion selected objects label",
439
480
  {
440
- ns: SPACE_PLUGIN
481
+ ns: meta.id
441
482
  }
442
483
  ],
443
484
  icon: "ph--tree-view--regular",
@@ -448,8 +489,8 @@ var app_graph_builder_default = (context) => {
448
489
  }),
449
490
  // Object settings plank companion.
450
491
  createExtension({
451
- id: `${SPACE_PLUGIN}/settings`,
452
- connector: (node) => Rx.make((get) => pipe(get(node), Option.flatMap((node2) => Obj.isObject(node2.data) ? Option.some(node2) : Option.none()), Option.map((node2) => [
492
+ id: `${meta.id}/settings`,
493
+ connector: (node) => Rx.make((get) => Function.pipe(get(node), Option.flatMap((node2) => Obj.isObject(node2.data) ? Option.some(node2) : Option.none()), Option.map((node2) => [
453
494
  {
454
495
  id: [
455
496
  node2.id,
@@ -461,7 +502,7 @@ var app_graph_builder_default = (context) => {
461
502
  label: [
462
503
  "object settings label",
463
504
  {
464
- ns: SPACE_PLUGIN
505
+ ns: meta.id
465
506
  }
466
507
  ],
467
508
  icon: "ph--sliders--regular",
@@ -472,8 +513,8 @@ var app_graph_builder_default = (context) => {
472
513
  ]), Option.getOrElse(() => [])))
473
514
  })
474
515
  ]);
475
- };
516
+ });
476
517
  export {
477
518
  app_graph_builder_default as default
478
519
  };
479
- //# sourceMappingURL=app-graph-builder-7CZZJS3S.mjs.map
520
+ //# sourceMappingURL=app-graph-builder-3R5GGT46.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 { Rx } from '@effect-rx/rx-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, parseId } from '@dxos/client/echo';\nimport { 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, createExtension, rxFromObservable, rxFromSignal } from '@dxos/plugin-graph';\nimport { DataType, 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 constructObjectActions,\n constructSpaceActions,\n constructSpaceNode,\n createObjectNode,\n createStaticSchemaActions,\n createStaticSchemaNode,\n rxFromQuery,\n} from '../util';\n\nimport { SpaceCapabilities } from './capabilities';\n\nexport default (context: PluginContext) => {\n // TODO(wittjosiah): Make reactive.\n const resolve = (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 Rx.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 Rx.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 Rx.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 spacesRx = rxFromObservable(client.spaces);\n const isReadyRx = rxFromObservable(client.spaces.isReady);\n\n const spaces = get(spacesRx);\n const isReady = get(isReadyRx);\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(rxFromQuery(query));\n return get(\n rxFromSignal(() => {\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,\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 Rx.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 Rx.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(rxFromObservable(space.state));\n if (spaceState !== SpaceState.SPACE_READY) {\n return [];\n }\n\n const collection = get(\n rxFromSignal(\n () => space.properties[DataType.Collection.typename]?.target as DataType.Collection | undefined,\n ),\n );\n if (!collection) {\n return [];\n }\n\n return get(\n rxFromSignal(() =>\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,\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 Rx.make((get) =>\n Function.pipe(\n get(node),\n Option.flatMap((node) =>\n Obj.instanceOf(DataType.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 rxFromSignal(() =>\n Function.pipe(\n collection.objects,\n Array.map((object) => object.target),\n Array.filter(isNonNullable),\n Array.map(\n (object) =>\n space && createObjectNode({ object, space, resolve, navigable: state.navigableCollections }),\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 Rx.make((get) =>\n Function.pipe(\n get(node),\n Option.flatMap((node) =>\n Obj.instanceOf(DataType.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(DataType.Collection, 'objects')\n .reference('objects'),\n ),\n );\n }\n return (\n get(rxFromQuery(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 rxFromSignal(() =>\n createObjectNode({\n object,\n space,\n resolve,\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 Rx.make((get) =>\n Function.pipe(\n get(node),\n Option.flatMap((node) =>\n Obj.instanceOf(DataType.QueryCollection, node.data) &&\n getTypenameFromQuery(node.data.query) === DataType.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(rxFromSignal(() => (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<DataType.View> | undefined;\n return Rx.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(DataType.View));\n }\n\n const views = get(rxFromQuery(query));\n const filteredViews = get(\n rxFromSignal(() =>\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<DataType.View> | undefined;\n return Rx.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(DataType.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(DataType.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 get(rxFromQuery(query))\n .filter((view) => getTypenameFromQuery(view.query.ast) === typename)\n .map((view) =>\n get(\n rxFromSignal(() =>\n createObjectNode({\n object: view,\n space,\n resolve,\n droppable: false,\n }),\n ),\n ),\n )\n .filter(isNonNullable);\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 Rx.make((get) => {\n const client = context.getCapability(ClientCapabilities.Client);\n const { spaceId, objectId } = parseId(id);\n if (!spaceId || !objectId) {\n return null;\n }\n\n const space = client.spaces.get(spaceId);\n if (!space) {\n return null;\n }\n\n if (!query) {\n query = space.db.query(Filter.ids(objectId));\n }\n\n const object = get(rxFromQuery(query)).at(0);\n if (!object) {\n return null;\n }\n\n return createObjectNode({ object, space, resolve, disposition: 'hidden' });\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<DataType.View> | undefined;\n return Rx.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(DataType.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(DataType.View));\n }\n\n let deletable =\n !isSchema &&\n // Don't allow the Records smart collection to be deleted.\n !(\n Obj.instanceOf(DataType.QueryCollection, object) &&\n getTypenameFromQuery(object.query) === DataType.StoredSchema.typename\n );\n if (isSchema && query) {\n const views = get(rxFromQuery(query));\n const filteredViews = get(\n rxFromSignal(() => views.filter((view) => getTypenameFromQuery(view.query.ast) === object.typename)),\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(rxFromSignal(() => 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 Rx.make((get) =>\n Function.pipe(\n get(node),\n Option.flatMap((node) => (Obj.instanceOf(DataType.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 Rx.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": ";;;;;;;;;;;;;;;;;;;;;;;;;;AAIA,SAASA,UAAU;AACnB,YAAYC,WAAW;AACvB,YAAYC,cAAc;AAC1B,YAAYC,YAAY;AACxB,YAAYC,YAAY;AAExB,SAASC,cAAkCC,aAAaC,oBAAoB;AAC5E,SAAuCC,YAAYC,UAAUC,SAASC,eAAe;AACrF,SAASC,QAAQC,KAAKC,OAAOC,YAAY;AACzC,SAASC,WAAW;AACpB,SAASC,0BAA0B;AACnC,SAASC,2BAA2BC,4BAA4B;AAChE,SAASC,SAASC,iBAAiBC,kBAAkBC,oBAAoB;AACzE,SAASC,UAAUC,4BAA4B;AAC/C,SAASC,qBAAqB;;AAmB9B,IAAA,6BAAe,CAACC,YAAAA;AAEd,QAAMC,UAAU,CAACC,aACfF,QAAQG,gBAAgBC,aAAaC,QAAQ,EAAEC,KAAK,CAAC,EAAEC,GAAE,MAAOA,OAAOL,QAAAA,GAAWM,YAAY,CAAC;AAEjG,QAAMC,aAAa;IACjBF,IAAIG;IACJC,MAAMD;IACNE,WAAW;MAAC;MAAS;;IACrBC,YAAY;MACVC,OAAO;QAAC;QAAgB;UAAEC,IAAIC,KAAKT;QAAG;;MACtCU,MAAM;MACNC,QAAQ;MACRC,MAAM;MACNC,aAAa;MACbC,UAAU;MACVC,0BAA0B;MAC1BC,qBAAqB,OAAOC,cAAAA;AAC1B,cAAM,EAAEC,MAAK,IAAKzB,QAAQ0B,cAActB,aAAauB,QAAQ;AAC7D,cAAMC,SAAS5B,QAAQ0B,cAAcG,mBAAmBC,MAAM;AAK9DL,cAAMM,UACJrB,QACA,YACAc,UAAUQ,IAAI,CAAC,EAAEzB,GAAE,MAAOA,EAAAA,CAAAA;AAG5B,cAAM,EACJ0B,SAAS,CAACC,WAAAA,EAAY,IACpB,MAAMN,OAAOO,OAAOC,QAAQC,GAAGC,MAAMC,OAAO5B,KAAK6B,KAAKC,SAAS;UAAEC,KAAKC;QAAO,CAAA,CAAA,EAAIC,IAAG;AACxF,YAAIV,aAAa;AACfA,sBAAYW,QAAQrB,UAAUQ,IAAI,CAAC,EAAEzB,GAAE,MAAOA,EAAAA;QAChD,OAAO;AACLuC,cAAIC,KAAK,iCAAA,QAAA;;;;;;QACX;MACF;IACF;EACF;AAEA,SAAOC,YAAY5C,aAAa6C,iBAAiB;;IAE/CC,gBAAgB;MACd3C,IAAI,GAAGS,KAAKT,EAAE;MACd4C,UAAU;MACVC,SAAS,CAACC,SACRC,GAAGC,KAAK,CAACC,QACEC,cACPD,IAAIH,IAAAA,GACGK,eAAQ,CAACL,UAAUA,MAAK9C,OAAOoD,UAAiBC,YAAKP,KAAAA,IAAeQ,YAAI,CAAA,GACxE7B,WAAI,MAAM;QACf;UACEzB,IAAIuD,YAAYC,gBAAgBC;UAChCC,MAAM,YAAA;AACJ,kBAAM,EAAEC,iBAAiBC,SAAQ,IAAKnE,QAAQ0B,cAActB,aAAagE,gBAAgB;AACzF,kBAAMD,SAASE,aAAaP,YAAYC,eAAe,CAAA;UACzD;UACAlD,YAAY;YACVC,OAAO;cAAC;cAAsB;gBAAEC,IAAIC,KAAKT;cAAG;;YAC5CU,MAAM;YACNC,QAAQ;YACRE,aAAa;UACf;QACF;QACA;UACEb,IAAIuD,YAAYQ,KAAKN;UACrBC,MAAM,YAAA;AACJ,kBAAM,EAAEC,iBAAiBC,SAAQ,IAAKnE,QAAQ0B,cAActB,aAAagE,gBAAgB;AACzF,kBAAMD,SAASE,aAAaP,YAAYQ,IAAI,CAAA;UAC9C;UACAzD,YAAY;YACVC,OAAO;cAAC;cAAoB;gBAAEC,IAAIC,KAAKT;cAAG;;YAC1CU,MAAM;YACNC,QAAQ;YACRE,aAAa;UACf;QACF;QACA;UACEb,IAAIuD,YAAYS,YAAYP;UAC5BC,MAAM,YAAA;AACJ,kBAAM,EAAEC,iBAAiBC,SAAQ,IAAKnE,QAAQ0B,cAActB,aAAagE,gBAAgB;AACzF,kBAAMxC,SAAS5B,QAAQ0B,cAAcG,mBAAmBC,MAAM;AAC9D,kBAAM0C,QAAQC,eAAezE,OAAAA,KAAY4B,OAAOO,OAAOC;AACvD,kBAAM+B,SAASE,aAAaP,YAAYS,aAAa;cAAEC;YAAM,CAAA,CAAA;UAC/D;UACA3D,YAAY;YACVC,OAAO;cAAC;cAAqB;gBAAEC,IAAIC,KAAKT;cAAG;;YAC3CU,MAAM;YACNC,QAAQ;YACRwD,YAAY;cACVC,OAAO;cACPC,SAAS;YACX;UACF;QACF;QACA;UACErE,IAAIuD,YAAYe,aAAab;UAC7BC,MAAM,YAAA;AACJ,kBAAM,EAAEC,iBAAiBC,SAAQ,IAAKnE,QAAQ0B,cAActB,aAAagE,gBAAgB;AACzF,kBAAMxC,SAAS5B,QAAQ0B,cAAcG,mBAAmBC,MAAM;AAC9D,kBAAM0C,QAAQC,eAAezE,OAAAA,KAAY4B,OAAOO,OAAOC;AACvD,kBAAM+B,SAASE,aAAaP,YAAYe,cAAc;cAAEL;YAAM,CAAA,CAAA;UAChE;UACA3D,YAAY;YACVC,OAAO;cAAC;cAAqC;gBAAEC,IAAIC,KAAKT;cAAG;;YAC3DU,MAAM;YACNyD,YAAY;cACVC,OAAO;cACPC,SAAS;YACX;UACF;QACF;OACD,GACME,iBAAU,MAAM,CAAA,CAAE,CAAA,CAAA;IAGjC,CAAA;;IAGA5B,gBAAgB;MACd3C,IAAI,GAAGS,KAAKT,EAAE;MACd4C,UAAU;MACV4B,WAAW,CAAC1B,SACVC,GAAGC,KAAK,CAACC,QACEC,cACPD,IAAIH,IAAAA,GACGK,eAAQ,CAACL,UAAUA,MAAK9C,OAAOoD,UAAiBC,YAAKP,KAAAA,IAAeQ,YAAI,CAAA,GACxE7B,WAAI,MAAM;QAACvB;OAAW,GACtBqE,iBAAU,MAAM,CAAA,CAAE,CAAA,CAAA;IAIjC,CAAA;;IAGA5B,gBAAgB;MACd3C,IAAIG;MACJqE,WAAW,CAAC1B,SAAAA;AACV,YAAIf;AACJ,eAAOgB,GAAGC,KAAK,CAACC,QACLC,cACPD,IAAIH,IAAAA,GACGK,eAAQ,CAACL,UAAUA,MAAK9C,OAAOG,SAAgBkD,YAAKP,KAAAA,IAAeQ,YAAI,CAAA,GACvE7B,WAAI,MAAA;AACT,gBAAMgD,QAAQhF,QAAQ0B,cAAcuD,kBAAkBC,KAAK;AAC3D,gBAAMtD,SAAS5B,QAAQ0B,cAAcG,mBAAmBC,MAAM;AAC9D,gBAAMqD,WAAWC,iBAAiBxD,OAAOO,MAAM;AAC/C,gBAAMkD,YAAYD,iBAAiBxD,OAAOO,OAAOmD,OAAO;AAExD,gBAAMnD,SAASqB,IAAI2B,QAAAA;AACnB,gBAAMG,UAAU9B,IAAI6B,SAAAA;AAEpB,cAAI,CAAClD,UAAU,CAACmD,SAAS;AACvB,mBAAO,CAAA;UACT;AAEA,gBAAMC,WAAW/B,IAAIxD,QAAQwF,aAAapF,aAAaqF,aAAa,CAAA,EAAG,CAAA,GAAIC,SACzE1E,KAAKT,EAAE,GACNoF;AAGH,cAAI;AACF,gBAAI,CAACrD,OAAO;AACVA,sBAAQV,OAAOO,OAAOC,QAAQC,GAAGC,MAAMC,OAAO5B,KAAK6B,KAAKC,SAAS;gBAAEC,KAAKC;cAAO,CAAA,CAAA;YACjF;AACA,kBAAM,CAACT,WAAAA,IAAesB,IAAIoC,YAAYtD,KAAAA,CAAAA;AACtC,mBAAOkB,IACLqC,aAAa,MAAA;AACX,oBAAMhD,QAAkBX,aAAaW,SAAS,CAAA;AAC9C,oBAAMiD,WAAW,IAAIC,IAAIlD,MAAMb,IAAI,CAACzB,IAAIyF,UAAU;gBAACzF;gBAAIyF;eAAM,CAAA;AAC7D,qBAAO;mBACF7D,OACA8D,OAAO,CAACzB,UAAUsB,SAASI,IAAI1B,MAAMjE,EAAE,CAAA,EACvC4F,KAAK,CAACC,GAAGC,MAAMP,SAAStC,IAAI4C,EAAE7F,EAAE,IAAKuF,SAAStC,IAAI6C,EAAE9F,EAAE,CAAA;mBACtD4B,OAAO8D,OAAO,CAACzB,UAAU,CAACsB,SAASI,IAAI1B,MAAMjE,EAAE,CAAA;gBAEjD0F,OAAO,CAACzB,UACPe,UAAUe,aAAa,OAAO9B,MAAMQ,MAAMxB,IAAG,MAAO+C,WAAWC,cAAc,EAE9ExE,IAAI,CAACwC,UACJiC,mBAAmB;gBACjBjC;gBACAkC,WAAW1B,MAAM2B;gBACjBC,UAAUpC,UAAU5C,OAAOO,OAAOC;gBAClCyE,YAAY7B,MAAM8B;gBAClB7G;cACF,CAAA,CAAA;YAEN,CAAA,CAAA;UAEJ,QAAQ;AACN,mBAAO,CAAA;UACT;QACF,CAAA,GACO6E,iBAAU,MAAM,CAAA,CAAE,CAAA,CAAA;MAG/B;IAyCF,CAAA;;IAGA5B,gBAAgB;MACd3C,IAAI,GAAGS,KAAKT,EAAE;MACd6C,SAAS,CAACC,SACRC,GAAGC,KAAK,CAACC,QACEC,cACPD,IAAIH,IAAAA,GACGK,eAAQ,CAACL,UACdA,MAAK1C,SAASoG,cAAcC,QAAQ3D,MAAKY,IAAI,IAAWL,YAAKP,MAAKY,IAAI,IAAWJ,YAAI,CAAA,GAEhFH,eAAQ,CAACc,UAAAA;AACd,cAAM,CAACyC,UAAAA,IAAczD,IAAIxD,QAAQwF,aAAapF,aAAagE,gBAAgB,CAAA;AAC3E,cAAM,CAACxC,MAAAA,IAAU4B,IAAIxD,QAAQwF,aAAa3D,mBAAmBC,MAAM,CAAA;AACnE,cAAM,CAACkD,KAAAA,IAASxB,IAAIxD,QAAQwF,aAAaP,kBAAkBC,KAAK,CAAA;AAEhE,YAAI,CAAC+B,cAAc,CAACrF,UAAU,CAACoD,OAAO;AACpC,iBAAcnB,YAAI;QACpB,OAAO;AACL,iBAAcD,YAAK;YACjBY;YACAL,UAAU8C,WAAW/C;YACrB0C,UAAUpC,UAAU5C,OAAOO,OAAOC;YAClC8E,WAAWlC,MAAMmC,oBAAoB3C,MAAMjE,EAAE;UAC/C,CAAA;QACF;MACF,CAAA,GACOyB,WAAI,CAACoF,WAAWC,sBAAsBD,MAAAA,CAAAA,GACtCtC,iBAAU,MAAM,CAAA,CAAE,CAAA,CAAA;IAGjC,CAAA;;IAGA5B,gBAAgB;MACd3C,IAAI,GAAGS,KAAKT,EAAE;MACdwE,WAAW,CAAC1B,SACVC,GAAGC,KAAK,CAACC,QACEC,cACPD,IAAIH,IAAAA,GACGK,eAAQ,CAACL,UACdA,MAAK1C,SAASoG,cAAcC,QAAQ3D,MAAKY,IAAI,IAAWL,YAAKP,MAAKY,IAAI,IAAWJ,YAAI,CAAA,GAEhF7B,WAAI,CAACwC,UAAAA;AACV,cAAMQ,QAAQhF,QAAQ0B,cAAcuD,kBAAkBC,KAAK;AAC3D,cAAMoC,aAAa9D,IAAI4B,iBAAiBZ,MAAMQ,KAAK,CAAA;AACnD,YAAIsC,eAAef,WAAWgB,aAAa;AACzC,iBAAO,CAAA;QACT;AAEA,cAAMC,aAAahE,IACjBqC,aACE,MAAMrB,MAAM3D,WAAW4G,SAASC,WAAWxH,QAAQ,GAAGyH,MAAAA,CAAAA;AAG1D,YAAI,CAACH,YAAY;AACf,iBAAO,CAAA;QACT;AAEA,eAAOhE,IACLqC,aAAa,MACFpC,cACP+D,WAAWvF,SACLD,UAAI,CAAC4F,WAAWA,OAAOD,MAAM,GAC7B1B,aAAO4B,aAAAA,GACP7F,UAAI,CAAC4F,WACTE,iBAAiB;UACftD;UACAoD;UACA3H;UACAyG,WAAW1B,MAAM2B;QACnB,CAAA,CAAA,GAEIV,aAAO4B,aAAAA,CAAAA,CAAAA,CAAAA;MAIrB,CAAA,GACO/C,iBAAU,MAAM,CAAA,CAAE,CAAA,CAAA;IAGjC,CAAA;;IAGA5B,gBAAgB;MACd3C,IAAI,GAAGS,KAAKT,EAAE;MACdwE,WAAW,CAAC1B,SACVC,GAAGC,KAAK,CAACC,QACEC,cACPD,IAAIH,IAAAA,GACGK,eAAQ,CAACL,UACd0E,IAAIC,WAAWP,SAASC,YAAYrE,MAAKY,IAAI,IAAWL,YAAKP,MAAKY,IAAI,IAAWJ,YAAI,CAAA,GAEhF7B,WAAI,CAACwF,eAAAA;AACV,cAAMxC,QAAQhF,QAAQ0B,cAAcuD,kBAAkBC,KAAK;AAC3D,cAAMV,QAAQyD,SAAST,UAAAA;AAEvB,eAAOhE,IACLqC,aAAa,MACFpC,cACP+D,WAAWvF,SACLD,UAAI,CAAC4F,WAAWA,OAAOD,MAAM,GAC7B1B,aAAO4B,aAAAA,GACP7F,UACJ,CAAC4F,WACCpD,SAASsD,iBAAiB;UAAEF;UAAQpD;UAAOvE;UAASyG,WAAW1B,MAAM2B;QAAqB,CAAA,CAAA,GAExFV,aAAO4B,aAAAA,CAAAA,CAAAA,CAAAA;MAIrB,CAAA,GACO/C,iBAAU,MAAM,CAAA,CAAE,CAAA,CAAA;IAwCjC,CAAA;;IAGA5B,gBAAgB;MACd3C,IAAI,GAAGS,KAAKT,EAAE;MACdwE,WAAW,CAAC1B,SAAAA;AACV,YAAIf;AACJ,eAAOgB,GAAGC,KAAK,CAACC,QACLC,cACPD,IAAIH,IAAAA,GACGK,eAAQ,CAACL,UACd0E,IAAIC,WAAWP,SAASS,iBAAiB7E,MAAKY,IAAI,IAAWL,YAAKP,MAAKY,IAAI,IAAWJ,YAAI,CAAA,GAErFH,eAAQ,CAAC8D,eAAAA;AACd,gBAAMhD,QAAQyD,SAAST,UAAAA;AACvB,gBAAMtH,WAAWiI,qBAAqBX,WAAWlF,KAAK;AACtD,iBAAOpC,YAAYsE,QAAeZ,YAAK;YAAE1D;YAAUsE;UAAM,CAAA,IAAYX,YAAI;QAC3E,CAAA,GACO7B,WAAI,CAAC,EAAE9B,UAAUsE,MAAK,MAAE;AAC7B,gBAAMQ,QAAQhF,QAAQ0B,cAAcuD,kBAAkBC,KAAK;AAC3D,cAAI,CAAC5C,OAAO;AACVA,oBAAQkC,MAAMnC,GAAGC,MACf8F,MAAMC;cACJD,MAAME,OAAO/F,OAAOrC,SAASA,QAAAA,CAAAA;;;;cAI7BkI,MAAME,OAAO/F,OAAOrC,SAASA,QAAAA,CAAAA,EAC1BqI,aAAad,SAASC,YAAY,SAAA,EAClCc,UAAU,SAAA;YAAA,CAAA;UAGnB;AACA,iBACEhF,IAAIoC,YAAYtD,KAAAA,CAAAA,EAEbmG,SAAS,CAACrC,GAAGC,MAAMD,EAAE7F,GAAGmI,cAAcrC,EAAE9F,EAAE,CAAA,EAC1CyB,IAAI,CAAC4F,WACJpE,IACEqC,aAAa,MACXiC,iBAAiB;YACfF;YACApD;YACAvE;YACA0I,WAAW;YACXjC,WAAW1B,MAAM2B;UACnB,CAAA,CAAA,CAAA,CAAA,EAILV,OAAO4B,aAAAA;QAEd,CAAA,GACO/C,iBAAU,MAAM,CAAA,CAAE,CAAA,CAAA;MAG/B;IACF,CAAA;;IAGA5B,gBAAgB;MACd3C,IAAI,GAAGS,KAAKT,EAAE;MACdwE,WAAW,CAAC1B,SAAAA;AACV,cAAMzB,SAAS5B,QAAQ0B,cAAcG,mBAAmBC,MAAM;AAC9D,eAAOwB,GAAGC,KAAK,CAACC,QACLC,cACPD,IAAIH,IAAAA,GACGK,eAAQ,CAACL,UACd0E,IAAIC,WAAWP,SAASS,iBAAiB7E,MAAKY,IAAI,KAClDkE,qBAAqB9E,MAAKY,KAAK3B,KAAK,MAAMmF,SAASmB,aAAa1I,WACrD0D,YAAKP,MAAKY,IAAI,IACdJ,YAAI,CAAA,GAEVH,eAAQ,CAAC8D,eAAAA;AACd,gBAAMhD,QAAQyD,SAAST,UAAAA;AACvB,iBAAOhD,OAAO3D,WAAWgI,gBAAuBjF,YAAKY,KAAAA,IAAgBX,YAAI;QAC3E,CAAA,GACO7B,WAAI,CAACwC,UAAAA;AACV,iBAAOhB,IAAIqC,aAAa,MAAOrB,MAAM3D,WAAWgI,iBAAiB,CAAA,CAAE,CAAA,EAChE7G,IAAI,CAAC9B,aACJ0B,OAAOH,MAAMqH,eAAeC,QAAQzI,KAAK,CAAC0I,WAAWxG,KAAKyG,YAAYD,MAAAA,MAAY9I,QAAAA,CAAAA,EAEnF+F,OAAO4B,aAAAA,EACP7F,IAAI,CAACgH,WAAWE,uBAAuB;YAAEF;YAAQxE;UAAM,CAAA,CAAA;QAC5D,CAAA,GACOM,iBAAU,MAAM,CAAA,CAAE,CAAA,CAAA;MAG/B;IACF,CAAA;;IAGA5B,gBAAgB;MACd3C,IAAI,GAAGS,KAAKT,EAAE;MACd6C,SAAS,CAACC,SAAAA;AACR,YAAIf;AACJ,eAAOgB,GAAGC,KAAK,CAACC,QACLC,cACPD,IAAIH,IAAAA,GACGK,eAAQ,CAACL,UAAAA;AACd,gBAAMmB,QAAQwC,QAAQ3D,MAAKxC,WAAW2D,KAAK,IAAInB,MAAKxC,WAAW2D,QAAQ2E;AACvE,iBAAO3E,SAAgB4E,gBAAS/F,MAAKY,IAAI,IAAWL,YAAK;YAAEY;YAAOwE,QAAQ3F,MAAKY;UAAK,CAAA,IAAYJ,YAAI;QACtG,CAAA,GACO7B,WAAI,CAAC,EAAEwC,OAAOwE,OAAM,MAAE;AAC3B,cAAI,CAAC1G,OAAO;AAEVA,oBAAQkC,MAAMnC,GAAGC,MAAMC,OAAO5B,KAAK8G,SAAS4B,IAAI,CAAA;UAClD;AAEA,gBAAMC,QAAQ9F,IAAIoC,YAAYtD,KAAAA,CAAAA;AAC9B,gBAAMiH,gBAAgB/F,IACpBqC,aAAa;;YAEXyD,MAAMrD,OACJ,CAACuD,SAASrB,qBAAqBqB,KAAKlH,MAAMmH,GAAG,MAAMjH,KAAKyG,YAAYD,MAAAA,CAAAA;WAAAA,CAAAA;AAI1E,gBAAMU,YAAYH,cAAcI,WAAW;AAE3C,gBAAM,CAAC1C,UAAAA,IAAczD,IAAIxD,QAAQwF,aAAapF,aAAagE,gBAAgB,CAAA;AAC3E,cAAI,CAAC6C,YAAY;AACf,mBAAO,CAAA;UACT;AAGA,iBAAO2C,0BAA0B;YAC/BZ;YACAxE;YACAL,UAAU8C,WAAW/C;YACrBwF;UACF,CAAA;QACF,CAAA,GACO5E,iBAAU,MAAM,CAAA,CAAE,CAAA,CAAA;MAG/B;IACF,CAAA;;IAGA5B,gBAAgB;MACd3C,IAAI,GAAGS,KAAKT,EAAE;MACdwE,WAAW,CAAC1B,SAAAA;AACV,YAAIf;AACJ,eAAOgB,GAAGC,KAAK,CAACC,QACLC,cACPD,IAAIH,IAAAA,GACGK,eAAQ,CAACL,UAAAA;AACd,gBAAMmB,QAAQyD,SAAS5E,MAAKY,IAAI,MAAM+C,QAAQ3D,MAAKxC,WAAW2D,KAAK,IAAInB,MAAKxC,WAAW2D,QAAQ2E;AAC/F,iBAAO3E,UAAUuD,IAAIC,WAAWP,SAASmB,cAAcvF,MAAKY,IAAI,KAAYmF,gBAAS/F,MAAKY,IAAI,KACnFL,YAAK;YAAEY;YAAOwE,QAAQ3F,MAAKY;UAAK,CAAA,IAChCJ,YAAI;QACjB,CAAA,GACO7B,WAAI,CAAC,EAAEwC,OAAOwE,OAAM,MAAE;AAC3B,cAAI,CAAC1G,OAAO;AAEVA,oBAAQkC,MAAMnC,GAAGC,MAAMC,OAAO5B,KAAK8G,SAAS4B,IAAI,CAAA;UAClD;AAGA,gBAAMnJ,WAAkBkJ,gBAASJ,MAAAA,IAAUxG,KAAKyG,YAAYD,MAAAA,IAA0BA,OAAO9I;AAC7F,iBAAOsD,IAAIoC,YAAYtD,KAAAA,CAAAA,EACpB2D,OAAO,CAACuD,SAASrB,qBAAqBqB,KAAKlH,MAAMmH,GAAG,MAAMvJ,QAAAA,EAC1D8B,IAAI,CAACwH,SACJhG,IACEqC,aAAa,MACXiC,iBAAiB;YACfF,QAAQ4B;YACRhF;YACAvE;YACA0I,WAAW;UACb,CAAA,CAAA,CAAA,CAAA,EAIL1C,OAAO4B,aAAAA;QACZ,CAAA,GACO/C,iBAAU,MAAM,CAAA,CAAE,CAAA,CAAA;MAG/B;IACF,CAAA;;IAGA5B,gBAAgB;MACd3C,IAAI,GAAGS,KAAKT,EAAE;MACdsJ,UAAU,CAACtJ,OAAAA;AACT,YAAI+B;AACJ,eAAOgB,GAAGC,KAAK,CAACC,QAAAA;AACd,gBAAM5B,SAAS5B,QAAQ0B,cAAcG,mBAAmBC,MAAM;AAC9D,gBAAM,EAAEgI,SAASC,SAAQ,IAAKC,QAAQzJ,EAAAA;AACtC,cAAI,CAACuJ,WAAW,CAACC,UAAU;AACzB,mBAAO;UACT;AAEA,gBAAMvF,QAAQ5C,OAAOO,OAAOqB,IAAIsG,OAAAA;AAChC,cAAI,CAACtF,OAAO;AACV,mBAAO;UACT;AAEA,cAAI,CAAClC,OAAO;AACVA,oBAAQkC,MAAMnC,GAAGC,MAAMC,OAAO0H,IAAIF,QAAAA,CAAAA;UACpC;AAEA,gBAAMnC,SAASpE,IAAIoC,YAAYtD,KAAAA,CAAAA,EAAQ4H,GAAG,CAAA;AAC1C,cAAI,CAACtC,QAAQ;AACX,mBAAO;UACT;AAEA,iBAAOE,iBAAiB;YAAEF;YAAQpD;YAAOvE;YAASmB,aAAa;UAAS,CAAA;QAC1E,CAAA;MACF;IACF,CAAA;;IAGA8B,gBAAgB;MACd3C,IAAI,GAAGS,KAAKT,EAAE;MACd6C,SAAS,CAACC,SAAAA;AACR,YAAIf;AACJ,eAAOgB,GAAGC,KAAK,CAACC,QACLC,cACPD,IAAIH,IAAAA,GACGK,eAAQ,CAACL,UAAAA;AACd,gBAAMmB,QAAQyD,SAAS5E,MAAKY,IAAI;AAChC,iBAAOO,SAASuD,IAAIoC,SAAS9G,MAAKY,IAAI,KAAK8D,IAAIkB,YAAY5F,MAAKY,IAAI,MAAMZ,MAAK1C,OACpEiD,YAAK;YAAEY;YAAOoD,QAAQvE,MAAKY;UAAK,CAAA,IAChCJ,YAAI;QACjB,CAAA,GACOH,eAAQ,CAAC,EAAEc,OAAOoD,OAAM,MAAE;AAC/B,gBAAMwB,YAAWrB,IAAIC,WAAWP,SAASmB,cAAchB,MAAAA;AACvD,cAAI,CAACtF,SAAS8G,WAAU;AAEtB9G,oBAAQkC,MAAMnC,GAAGC,MAAMC,OAAO5B,KAAK8G,SAAS4B,IAAI,CAAA;UAClD;AAEA,cAAIK,YACF,CAACN;UAED,EACErB,IAAIC,WAAWP,SAASS,iBAAiBN,MAAAA,KACzCO,qBAAqBP,OAAOtF,KAAK,MAAMmF,SAASmB,aAAa1I;AAEjE,cAAIkJ,aAAY9G,OAAO;AACrB,kBAAMgH,QAAQ9F,IAAIoC,YAAYtD,KAAAA,CAAAA;AAC9B,kBAAMiH,gBAAgB/F,IACpBqC,aAAa,MAAMyD,MAAMrD,OAAO,CAACuD,SAASrB,qBAAqBqB,KAAKlH,MAAMmH,GAAG,MAAM7B,OAAO1H,QAAQ,CAAA,CAAA;AAEpGwJ,wBAAYH,cAAcI,WAAW;UACvC;AAEA,gBAAM,CAAC1C,UAAAA,IAAczD,IAAIxD,QAAQwF,aAAapF,aAAagE,gBAAgB,CAAA;AAC3E,gBAAM,CAACgG,QAAAA,IAAY5G,IAAIxD,QAAQwF,aAAapF,aAAauB,QAAQ,CAAA;AACjE,gBAAM,CAACqD,KAAAA,IAASxB,IAAIxD,QAAQwF,aAAaP,kBAAkBC,KAAK,CAAA;AAChE,gBAAMmF,cAAc7G,IAAIxD,QAAQwF,aAAaP,kBAAkBqF,UAAU,CAAA;AAEzE,cAAI,CAACrD,cAAc,CAACmD,YAAY,CAACpF,OAAO;AACtC,mBAAcnB,YAAI;UACpB,OAAO;AACL,mBAAcD,YAAK;cACjBgE;cACAnG,OAAO2I,SAAS3I;cAChB0C,UAAU8C,WAAW/C;cACrBmG;cACAX;cACAhD,WAAWlD,IAAIqC,aAAa,MAAMb,MAAM2B,oBAAoB,CAAA;YAC9D,CAAA;UACF;QACF,CAAA,GACO3E,WAAI,CAACoF,WAAWmD,uBAAuBnD,MAAAA,CAAAA,GACvCtC,iBAAU,MAAM,CAAA,CAAE,CAAA,CAAA;MAG/B;IACF,CAAA;;IAGA5B,gBAAgB;MACd3C,IAAI,GAAGS,KAAKT,EAAE;MACdwE,WAAW,CAAC1B,SACVC,GAAGC,KAAK,CAACC,QACEC,cACPD,IAAIH,IAAAA,GACGK,eAAQ,CAACL,UAAU0E,IAAIC,WAAWP,SAAS4B,MAAMhG,MAAKY,IAAI,IAAWL,YAAKP,KAAAA,IAAeQ,YAAI,CAAA,GAC7F7B,WAAI,CAACqB,UAAS;QACnB;UACE9C,IAAI;YAAC8C,MAAK9C;YAAI;YAAoBiK,KAAKC,yBAAAA;UACvC9J,MAAM+J;UACNzG,MAAM;UACNpD,YAAY;YACVC,OAAO;cAAC;cAAoC;gBAAEC,IAAIC,KAAKT;cAAG;;YAC1DU,MAAM;YACNG,aAAa;UACf;QACF;OACD,GACM0D,iBAAU,MAAM,CAAA,CAAE,CAAA,CAAA;IAGjC,CAAA;;IAGA5B,gBAAgB;MACd3C,IAAI,GAAGS,KAAKT,EAAE;MACdwE,WAAW,CAAC1B,SACVC,GAAGC,KAAK,CAACC,QACEC,cACPD,IAAIH,IAAAA,GACGK,eAAQ,CAACL,UAAU0E,IAAIoC,SAAS9G,MAAKY,IAAI,IAAWL,YAAKP,KAAAA,IAAeQ,YAAI,CAAA,GAC5E7B,WAAI,CAACqB,UAAS;QACnB;UACE9C,IAAI;YAAC8C,MAAK9C;YAAI;YAAYiK,KAAKC,yBAAAA;UAC/B9J,MAAM+J;UACNzG,MAAM;UACNpD,YAAY;YACVC,OAAO;cAAC;cAAyB;gBAAEC,IAAIC,KAAKT;cAAG;;YAC/CU,MAAM;YACNG,aAAa;YACb+B,UAAU;UACZ;QACF;OACD,GACM2B,iBAAU,MAAM,CAAA,CAAE,CAAA,CAAA;IAGjC,CAAA;GACD;AACH;",
6
+ "names": ["Rx", "Array", "Function", "Option", "Schema", "Capabilities", "contributes", "createIntent", "SpaceState", "getSpace", "isSpace", "parseId", "Filter", "Obj", "Query", "Type", "log", "ClientCapabilities", "ATTENDABLE_PATH_SEPARATOR", "PLANK_COMPANION_TYPE", "ROOT_ID", "createExtension", "rxFromObservable", "rxFromSignal", "DataType", "getTypenameFromQuery", "isNonNullable", "context", "resolve", "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", "Rx", "make", "get", "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", "spacesRx", "rxFromObservable", "isReadyRx", "isReady", "settings", "capabilities", "SettingsStore", "getStore", "value", "rxFromQuery", "rxFromSignal", "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", "DataType", "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", "resolver", "spaceId", "objectId", "parseId", "ids", "at", "isObject", "appGraph", "objectForms", "ObjectForm", "constructObjectActions", "join", "ATTENDABLE_PATH_SEPARATOR", "PLANK_COMPANION_TYPE"]
7
+ }
@@ -1,16 +1,16 @@
1
1
  import {
2
2
  translations
3
- } from "./chunk-QACNNDOT.mjs";
3
+ } from "./chunk-PTGRQQ6J.mjs";
4
4
  import {
5
5
  SPACES
6
- } from "./chunk-XUYKJUU7.mjs";
6
+ } from "./chunk-OV6D543A.mjs";
7
7
  import {
8
8
  SPACE_TYPE,
9
9
  SpaceAction
10
- } from "./chunk-SGTQ52SU.mjs";
10
+ } from "./chunk-WS2PJDES.mjs";
11
11
  import {
12
- SPACE_PLUGIN
13
- } from "./chunk-FBCGT5YY.mjs";
12
+ meta
13
+ } from "./chunk-IRKDREHY.mjs";
14
14
 
15
15
  // src/capabilities/app-graph-serializer.ts
16
16
  import { Capabilities, contributes, createIntent } from "@dxos/app-framework";
@@ -19,13 +19,13 @@ import { Obj, Type } from "@dxos/echo";
19
19
  import { DataType } from "@dxos/schema";
20
20
  var COLLECTION_TYPE = Type.getTypename(DataType.Collection);
21
21
  var DIRECTORY_TYPE = "text/directory";
22
- var app_graph_serializer_default = (context) => contributes(Capabilities.AppGraphSerializer, [
22
+ var app_graph_serializer_default = ((context) => contributes(Capabilities.AppGraphSerializer, [
23
23
  {
24
24
  inputType: SPACES,
25
25
  outputType: DIRECTORY_TYPE,
26
26
  serialize: (node) => ({
27
- name: translations[0]["en-US"][SPACE_PLUGIN]["spaces label"] ?? "Spaces",
28
- data: translations[0]["en-US"][SPACE_PLUGIN]["spaces label"] ?? "Spaces",
27
+ name: translations[0]["en-US"][meta.id]["spaces label"] ?? "Spaces",
28
+ data: translations[0]["en-US"][meta.id]["spaces label"] ?? "Spaces",
29
29
  type: DIRECTORY_TYPE
30
30
  }),
31
31
  deserialize: () => {
@@ -35,8 +35,8 @@ var app_graph_serializer_default = (context) => contributes(Capabilities.AppGrap
35
35
  inputType: SPACE_TYPE,
36
36
  outputType: DIRECTORY_TYPE,
37
37
  serialize: (node) => ({
38
- name: node.data.properties.name ?? translations[0]["en-US"][SPACE_PLUGIN]["unnamed space label"],
39
- data: node.data.properties.name ?? translations[0]["en-US"][SPACE_PLUGIN]["unnamed space label"],
38
+ name: node.data.properties.name ?? translations[0]["en-US"][meta.id]["unnamed space label"],
39
+ data: node.data.properties.name ?? translations[0]["en-US"][meta.id]["unnamed space label"],
40
40
  type: DIRECTORY_TYPE
41
41
  }),
42
42
  deserialize: async (data) => {
@@ -52,8 +52,8 @@ var app_graph_serializer_default = (context) => contributes(Capabilities.AppGrap
52
52
  inputType: COLLECTION_TYPE,
53
53
  outputType: DIRECTORY_TYPE,
54
54
  serialize: (node) => ({
55
- name: node.data.name ?? translations[0]["en-US"][SPACE_PLUGIN]["object name placeholder"],
56
- data: node.data.name ?? translations[0]["en-US"][SPACE_PLUGIN]["object name placeholder"],
55
+ name: node.data.name ?? translations[0]["en-US"][meta.id]["object name placeholder"],
56
+ data: node.data.name ?? translations[0]["en-US"][meta.id]["object name placeholder"],
57
57
  type: DIRECTORY_TYPE
58
58
  }),
59
59
  deserialize: async (data, ancestors) => {
@@ -73,8 +73,8 @@ var app_graph_serializer_default = (context) => contributes(Capabilities.AppGrap
73
73
  return result.data?.object;
74
74
  }
75
75
  }
76
- ]);
76
+ ]));
77
77
  export {
78
78
  app_graph_serializer_default as default
79
79
  };
80
- //# sourceMappingURL=app-graph-serializer-H6AW7KGS.mjs.map
80
+ //# sourceMappingURL=app-graph-serializer-25Z5BG22.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/capabilities/app-graph-serializer.ts"],
4
+ "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { Capabilities, type PluginContext, contributes, createIntent } from '@dxos/app-framework';\nimport { isSpace } from '@dxos/client/echo';\nimport { Obj, Type } from '@dxos/echo';\nimport { DataType } from '@dxos/schema';\n\nimport { meta } from '../meta';\nimport { translations } from '../translations';\nimport { SPACE_TYPE, SpaceAction } from '../types';\nimport { SPACES } from '../util';\n\nconst COLLECTION_TYPE = Type.getTypename(DataType.Collection);\n\n// https://stackoverflow.com/a/19016910\nconst DIRECTORY_TYPE = 'text/directory';\n\nexport default (context: PluginContext) =>\n contributes(Capabilities.AppGraphSerializer, [\n {\n inputType: SPACES,\n outputType: DIRECTORY_TYPE,\n serialize: (node) => ({\n name: translations[0]['en-US'][meta.id]['spaces label'] ?? 'Spaces',\n data: translations[0]['en-US'][meta.id]['spaces label'] ?? 'Spaces',\n type: DIRECTORY_TYPE,\n }),\n deserialize: () => {\n // No-op.\n },\n },\n {\n inputType: SPACE_TYPE,\n outputType: DIRECTORY_TYPE,\n serialize: (node) => ({\n name: node.data.properties.name ?? translations[0]['en-US'][meta.id]['unnamed space label'],\n data: node.data.properties.name ?? translations[0]['en-US'][meta.id]['unnamed space label'],\n type: DIRECTORY_TYPE,\n }),\n deserialize: async (data) => {\n const { dispatchPromise: dispatch } = context.getCapability(Capabilities.IntentDispatcher);\n const result = await dispatch(createIntent(SpaceAction.Create, { name: data.name, edgeReplication: true }));\n return result.data?.space;\n },\n },\n {\n inputType: COLLECTION_TYPE,\n outputType: DIRECTORY_TYPE,\n serialize: (node) => ({\n name: node.data.name ?? translations[0]['en-US'][meta.id]['object name placeholder'],\n data: node.data.name ?? translations[0]['en-US'][meta.id]['object name placeholder'],\n type: DIRECTORY_TYPE,\n }),\n deserialize: async (data, ancestors) => {\n const space = ancestors.find(isSpace);\n const collection =\n ancestors.findLast((ancestor) => Obj.instanceOf(DataType.Collection, ancestor)) ??\n space?.properties[COLLECTION_TYPE]?.target;\n if (!space || !collection) {\n return;\n }\n\n const { dispatchPromise: dispatch } = context.getCapability(Capabilities.IntentDispatcher);\n const result = await dispatch(\n createIntent(SpaceAction.AddObject, {\n target: collection,\n object: Obj.make(DataType.Collection, { name: data.name, objects: [] }),\n }),\n );\n\n return result.data?.object;\n },\n },\n ]);\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;AAIA,SAASA,cAAkCC,aAAaC,oBAAoB;AAC5E,SAASC,eAAe;AACxB,SAASC,KAAKC,YAAY;AAC1B,SAASC,gBAAgB;AAOzB,IAAMC,kBAAkBC,KAAKC,YAAYC,SAASC,UAAU;AAG5D,IAAMC,iBAAiB;AAEvB,IAAA,gCAAe,CAACC,YACdC,YAAYC,aAAaC,oBAAoB;EAC3C;IACEC,WAAWC;IACXC,YAAYP;IACZQ,WAAW,CAACC,UAAU;MACpBC,MAAMC,aAAa,CAAA,EAAG,OAAA,EAASC,KAAKC,EAAE,EAAE,cAAA,KAAmB;MAC3DC,MAAMH,aAAa,CAAA,EAAG,OAAA,EAASC,KAAKC,EAAE,EAAE,cAAA,KAAmB;MAC3DE,MAAMf;IACR;IACAgB,aAAa,MAAA;IAEb;EACF;EACA;IACEX,WAAWY;IACXV,YAAYP;IACZQ,WAAW,CAACC,UAAU;MACpBC,MAAMD,KAAKK,KAAKI,WAAWR,QAAQC,aAAa,CAAA,EAAG,OAAA,EAASC,KAAKC,EAAE,EAAE,qBAAA;MACrEC,MAAML,KAAKK,KAAKI,WAAWR,QAAQC,aAAa,CAAA,EAAG,OAAA,EAASC,KAAKC,EAAE,EAAE,qBAAA;MACrEE,MAAMf;IACR;IACAgB,aAAa,OAAOF,SAAAA;AAClB,YAAM,EAAEK,iBAAiBC,SAAQ,IAAKnB,QAAQoB,cAAclB,aAAamB,gBAAgB;AACzF,YAAMC,SAAS,MAAMH,SAASI,aAAaC,YAAYC,QAAQ;QAAEhB,MAAMI,KAAKJ;QAAMiB,iBAAiB;MAAK,CAAA,CAAA;AACxG,aAAOJ,OAAOT,MAAMc;IACtB;EACF;EACA;IACEvB,WAAWV;IACXY,YAAYP;IACZQ,WAAW,CAACC,UAAU;MACpBC,MAAMD,KAAKK,KAAKJ,QAAQC,aAAa,CAAA,EAAG,OAAA,EAASC,KAAKC,EAAE,EAAE,yBAAA;MAC1DC,MAAML,KAAKK,KAAKJ,QAAQC,aAAa,CAAA,EAAG,OAAA,EAASC,KAAKC,EAAE,EAAE,yBAAA;MAC1DE,MAAMf;IACR;IACAgB,aAAa,OAAOF,MAAMe,cAAAA;AACxB,YAAMD,QAAQC,UAAUC,KAAKC,OAAAA;AAC7B,YAAMC,aACJH,UAAUI,SAAS,CAACC,aAAaC,IAAIC,WAAWtC,SAASC,YAAYmC,QAAAA,CAAAA,KACrEN,OAAOV,WAAWvB,eAAAA,GAAkB0C;AACtC,UAAI,CAACT,SAAS,CAACI,YAAY;AACzB;MACF;AAEA,YAAM,EAAEb,iBAAiBC,SAAQ,IAAKnB,QAAQoB,cAAclB,aAAamB,gBAAgB;AACzF,YAAMC,SAAS,MAAMH,SACnBI,aAAaC,YAAYa,WAAW;QAClCD,QAAQL;QACRO,QAAQJ,IAAIK,KAAK1C,SAASC,YAAY;UAAEW,MAAMI,KAAKJ;UAAM+B,SAAS,CAAA;QAAG,CAAA;MACvE,CAAA,CAAA;AAGF,aAAOlB,OAAOT,MAAMyB;IACtB;EACF;CACD;",
6
+ "names": ["Capabilities", "contributes", "createIntent", "isSpace", "Obj", "Type", "DataType", "COLLECTION_TYPE", "Type", "getTypename", "DataType", "Collection", "DIRECTORY_TYPE", "context", "contributes", "Capabilities", "AppGraphSerializer", "inputType", "SPACES", "outputType", "serialize", "node", "name", "translations", "meta", "id", "data", "type", "deserialize", "SPACE_TYPE", "properties", "dispatchPromise", "dispatch", "getCapability", "IntentDispatcher", "result", "createIntent", "SpaceAction", "Create", "edgeReplication", "space", "ancestors", "find", "isSpace", "collection", "findLast", "ancestor", "Obj", "instanceOf", "target", "AddObject", "object", "make", "objects"]
7
+ }