@dxos/plugin-space 0.8.0 → 0.8.1-main.013e445

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 (212) hide show
  1. package/dist/lib/browser/{app-graph-builder-MGK5HWPZ.mjs → app-graph-builder-7NG7UNQD.mjs} +5 -5
  2. package/dist/lib/browser/{app-graph-serializer-FOWFLYGU.mjs → app-graph-serializer-OZNRXG62.mjs} +7 -7
  3. package/dist/lib/browser/{app-graph-serializer-FOWFLYGU.mjs.map → app-graph-serializer-OZNRXG62.mjs.map} +2 -2
  4. package/dist/lib/browser/{chunk-23RVI5FZ.mjs → chunk-KV4JWY3Z.mjs} +9 -8
  5. package/dist/lib/browser/{chunk-23RVI5FZ.mjs.map → chunk-KV4JWY3Z.mjs.map} +3 -3
  6. package/dist/lib/browser/{chunk-NU7WDVGN.mjs → chunk-O7LODPTY.mjs} +2 -2
  7. package/dist/lib/browser/{chunk-PCEP3KQY.mjs → chunk-PE2T7DOU.mjs} +22 -21
  8. package/dist/lib/browser/chunk-PE2T7DOU.mjs.map +7 -0
  9. package/dist/lib/browser/{chunk-PQXZCNAU.mjs → chunk-PTKYMZWO.mjs} +1 -1
  10. package/dist/lib/browser/chunk-PTKYMZWO.mjs.map +7 -0
  11. package/dist/lib/browser/{chunk-ULA2UQJ4.mjs → chunk-TYU27VTL.mjs} +6 -62
  12. package/dist/lib/browser/chunk-TYU27VTL.mjs.map +7 -0
  13. package/dist/lib/browser/{chunk-UDWHTKB5.mjs → chunk-VIU4XFXR.mjs} +6 -8
  14. package/dist/lib/browser/chunk-VIU4XFXR.mjs.map +7 -0
  15. package/dist/lib/browser/{identity-created-FYGS6TBH.mjs → identity-created-TG52G7RV.mjs} +3 -3
  16. package/dist/lib/browser/index.mjs +13 -13
  17. package/dist/lib/browser/index.mjs.map +3 -3
  18. package/dist/lib/browser/{intent-resolver-GPNAQ2SG.mjs → intent-resolver-XAEHWUHJ.mjs} +11 -9
  19. package/dist/lib/browser/{intent-resolver-GPNAQ2SG.mjs.map → intent-resolver-XAEHWUHJ.mjs.map} +3 -3
  20. package/dist/lib/browser/meta.json +1 -1
  21. package/dist/lib/browser/{react-root-4CCSD7TZ.mjs → react-root-H5WH6EUY.mjs} +6 -6
  22. package/dist/lib/browser/{react-surface-FKMRI3WV.mjs → react-surface-523S3CFL.mjs} +9 -8
  23. package/dist/lib/browser/react-surface-523S3CFL.mjs.map +7 -0
  24. package/dist/lib/browser/{schema-5W3DSY2E.mjs → schema-UOCBWGA4.mjs} +3 -3
  25. package/dist/lib/browser/schema-tools-6J5ZEDBC.mjs +123 -0
  26. package/dist/lib/browser/schema-tools-6J5ZEDBC.mjs.map +7 -0
  27. package/dist/lib/browser/{settings-PHPCXX33.mjs → settings-XCHJUNYL.mjs} +3 -3
  28. package/dist/lib/browser/{spaces-ready-K47RR7N2.mjs → spaces-ready-VVPJN6TU.mjs} +5 -5
  29. package/dist/lib/browser/{state-INJ63O57.mjs → state-BUM7SQUV.mjs} +3 -3
  30. package/dist/lib/browser/types/index.mjs +2 -10
  31. package/dist/lib/node/{app-graph-builder-ZIUBXRPA.cjs → app-graph-builder-G3O5GZMQ.cjs} +45 -45
  32. package/dist/lib/node/{app-graph-serializer-VQOGHKXL.cjs → app-graph-serializer-774VMAFT.cjs} +21 -21
  33. package/dist/lib/node/{app-graph-serializer-VQOGHKXL.cjs.map → app-graph-serializer-774VMAFT.cjs.map} +2 -2
  34. package/dist/lib/node/{chunk-WAJKBO3J.cjs → chunk-37QRDFMQ.cjs} +10 -70
  35. package/dist/lib/node/chunk-37QRDFMQ.cjs.map +7 -0
  36. package/dist/lib/node/{chunk-U6DYXAR3.cjs → chunk-5MWD635N.cjs} +11 -13
  37. package/dist/lib/node/chunk-5MWD635N.cjs.map +7 -0
  38. package/dist/lib/node/{chunk-WZR6OAN3.cjs → chunk-6P2DB4QQ.cjs} +4 -4
  39. package/dist/lib/node/{chunk-WZR6OAN3.cjs.map → chunk-6P2DB4QQ.cjs.map} +2 -2
  40. package/dist/lib/node/{chunk-OVGKWJOC.cjs → chunk-7BN5N2ND.cjs} +60 -59
  41. package/dist/lib/node/{chunk-OVGKWJOC.cjs.map → chunk-7BN5N2ND.cjs.map} +3 -3
  42. package/dist/lib/node/{chunk-QE4GVR6C.cjs → chunk-BN5K3SRF.cjs} +83 -80
  43. package/dist/lib/node/chunk-BN5K3SRF.cjs.map +7 -0
  44. package/dist/lib/node/{chunk-YZKNRFHU.cjs → chunk-GRM6AGWI.cjs} +10 -10
  45. package/dist/lib/node/{identity-created-AXI64BLE.cjs → identity-created-AQCHGXOF.cjs} +7 -7
  46. package/dist/lib/node/index.cjs +96 -97
  47. package/dist/lib/node/index.cjs.map +3 -3
  48. package/dist/lib/node/{intent-resolver-ICHHI6I6.cjs → intent-resolver-7DUDOPMC.cjs} +71 -69
  49. package/dist/lib/node/{intent-resolver-ICHHI6I6.cjs.map → intent-resolver-7DUDOPMC.cjs.map} +3 -3
  50. package/dist/lib/node/meta.json +1 -1
  51. package/dist/lib/node/{react-root-TCBTUOOJ.cjs → react-root-HCFNELCK.cjs} +12 -12
  52. package/dist/lib/node/{react-surface-JSCCIZS5.cjs → react-surface-VIGVLED7.cjs} +62 -61
  53. package/dist/lib/node/react-surface-VIGVLED7.cjs.map +7 -0
  54. package/dist/lib/node/{schema-YN7WVFRX.cjs → schema-EERAOETL.cjs} +7 -7
  55. package/dist/lib/node/schema-tools-OZS4OC6X.cjs +146 -0
  56. package/dist/lib/node/schema-tools-OZS4OC6X.cjs.map +7 -0
  57. package/dist/lib/node/{settings-5QYFWNH7.cjs → settings-VPFJWIWP.cjs} +8 -8
  58. package/dist/lib/node/{spaces-ready-FQNAKR7G.cjs → spaces-ready-BDKHLPYB.cjs} +14 -14
  59. package/dist/lib/node/{state-57UE3DYE.cjs → state-AIETH3DE.cjs} +8 -8
  60. package/dist/lib/node/types/index.cjs +13 -21
  61. package/dist/lib/node/types/index.cjs.map +2 -2
  62. package/dist/lib/node-esm/{app-graph-builder-TERVM2SL.mjs → app-graph-builder-LJAESOIB.mjs} +5 -5
  63. package/dist/lib/node-esm/{app-graph-serializer-GZRSWHEN.mjs → app-graph-serializer-YATEFHDI.mjs} +7 -7
  64. package/dist/lib/node-esm/{app-graph-serializer-GZRSWHEN.mjs.map → app-graph-serializer-YATEFHDI.mjs.map} +2 -2
  65. package/dist/lib/node-esm/{chunk-6RSVVEPS.mjs → chunk-AJ4IZAKT.mjs} +2 -2
  66. package/dist/lib/node-esm/{chunk-HJCEJNW3.mjs → chunk-G6EUAPVP.mjs} +22 -21
  67. package/dist/lib/node-esm/chunk-G6EUAPVP.mjs.map +7 -0
  68. package/dist/lib/node-esm/{chunk-TRNZQEEN.mjs → chunk-KNJZGST5.mjs} +6 -62
  69. package/dist/lib/node-esm/chunk-KNJZGST5.mjs.map +7 -0
  70. package/dist/lib/node-esm/{chunk-ICCM4YRJ.mjs → chunk-MSWEFAPD.mjs} +1 -1
  71. package/dist/lib/node-esm/chunk-MSWEFAPD.mjs.map +7 -0
  72. package/dist/lib/node-esm/{chunk-2TQ2AJEZ.mjs → chunk-TTHJ55CE.mjs} +6 -8
  73. package/dist/lib/node-esm/chunk-TTHJ55CE.mjs.map +7 -0
  74. package/dist/lib/node-esm/{chunk-PGH5L7MV.mjs → chunk-XRC7NH6E.mjs} +9 -8
  75. package/dist/lib/node-esm/{chunk-PGH5L7MV.mjs.map → chunk-XRC7NH6E.mjs.map} +3 -3
  76. package/dist/lib/node-esm/{identity-created-3CGEXNPO.mjs → identity-created-CK3VMR6Q.mjs} +3 -3
  77. package/dist/lib/node-esm/index.mjs +13 -13
  78. package/dist/lib/node-esm/index.mjs.map +3 -3
  79. package/dist/lib/node-esm/{intent-resolver-VR42K5GE.mjs → intent-resolver-7MLSVU7R.mjs} +11 -9
  80. package/dist/lib/node-esm/{intent-resolver-VR42K5GE.mjs.map → intent-resolver-7MLSVU7R.mjs.map} +3 -3
  81. package/dist/lib/node-esm/meta.json +1 -1
  82. package/dist/lib/node-esm/{react-root-THJBSTQS.mjs → react-root-PLKZW44B.mjs} +6 -6
  83. package/dist/lib/node-esm/{react-surface-Z3BBQ5HX.mjs → react-surface-DTT3ZJVO.mjs} +9 -8
  84. package/dist/lib/node-esm/react-surface-DTT3ZJVO.mjs.map +7 -0
  85. package/dist/lib/node-esm/{schema-LOR2EVGY.mjs → schema-LOOOBN6J.mjs} +3 -3
  86. package/dist/lib/node-esm/schema-tools-KJVXGDBO.mjs +125 -0
  87. package/dist/lib/node-esm/schema-tools-KJVXGDBO.mjs.map +7 -0
  88. package/dist/lib/node-esm/{settings-H6MXTEQM.mjs → settings-2VSJTVUW.mjs} +3 -3
  89. package/dist/lib/node-esm/{spaces-ready-HKAQG5SA.mjs → spaces-ready-7ROQ7PRB.mjs} +5 -5
  90. package/dist/lib/node-esm/{state-VYA6OFHD.mjs → state-DWUAP6MH.mjs} +3 -3
  91. package/dist/lib/node-esm/types/index.mjs +2 -10
  92. package/dist/types/src/SpacePlugin.d.ts.map +1 -1
  93. package/dist/types/src/capabilities/app-graph-builder.d.ts.map +1 -1
  94. package/dist/types/src/capabilities/index.d.ts +1 -0
  95. package/dist/types/src/capabilities/index.d.ts.map +1 -1
  96. package/dist/types/src/capabilities/intent-resolver.d.ts.map +1 -1
  97. package/dist/types/src/capabilities/react-surface.d.ts.map +1 -1
  98. package/dist/types/src/capabilities/schema-tool.test.d.ts +2 -0
  99. package/dist/types/src/capabilities/schema-tool.test.d.ts.map +1 -0
  100. package/dist/types/src/capabilities/schema-tools.d.ts +13 -0
  101. package/dist/types/src/capabilities/schema-tools.d.ts.map +1 -0
  102. package/dist/types/src/components/AdvancedObjectSettings/AdvancedObjectSettings.d.ts +2 -1
  103. package/dist/types/src/components/AdvancedObjectSettings/AdvancedObjectSettings.d.ts.map +1 -1
  104. package/dist/types/src/components/AdvancedObjectSettings/ForeignKeys.d.ts +2 -1
  105. package/dist/types/src/components/AdvancedObjectSettings/ForeignKeys.d.ts.map +1 -1
  106. package/dist/types/src/components/AwaitingObject.d.ts +2 -1
  107. package/dist/types/src/components/AwaitingObject.d.ts.map +1 -1
  108. package/dist/types/src/components/BaseObjectSettings.d.ts +2 -1
  109. package/dist/types/src/components/BaseObjectSettings.d.ts.map +1 -1
  110. package/dist/types/src/components/CollectionMain.d.ts +2 -1
  111. package/dist/types/src/components/CollectionMain.d.ts.map +1 -1
  112. package/dist/types/src/components/CollectionSection.d.ts +2 -1
  113. package/dist/types/src/components/CollectionSection.d.ts.map +1 -1
  114. package/dist/types/src/components/CreateDialog/CreateObjectDialog.d.ts +2 -1
  115. package/dist/types/src/components/CreateDialog/CreateObjectDialog.d.ts.map +1 -1
  116. package/dist/types/src/components/CreateDialog/CreateObjectPanel.d.ts +2 -1
  117. package/dist/types/src/components/CreateDialog/CreateObjectPanel.d.ts.map +1 -1
  118. package/dist/types/src/components/CreateDialog/CreateSpaceDialog.d.ts +2 -1
  119. package/dist/types/src/components/CreateDialog/CreateSpaceDialog.d.ts.map +1 -1
  120. package/dist/types/src/components/JoinDialog.d.ts +2 -1
  121. package/dist/types/src/components/JoinDialog.d.ts.map +1 -1
  122. package/dist/types/src/components/MenuFooter.d.ts +2 -1
  123. package/dist/types/src/components/MenuFooter.d.ts.map +1 -1
  124. package/dist/types/src/components/PersistenceStatus.d.ts +2 -1
  125. package/dist/types/src/components/PersistenceStatus.d.ts.map +1 -1
  126. package/dist/types/src/components/PopoverAddSpace.d.ts +2 -1
  127. package/dist/types/src/components/PopoverAddSpace.d.ts.map +1 -1
  128. package/dist/types/src/components/PopoverRenameObject.d.ts +2 -1
  129. package/dist/types/src/components/PopoverRenameObject.d.ts.map +1 -1
  130. package/dist/types/src/components/PopoverRenameSpace.d.ts +2 -1
  131. package/dist/types/src/components/PopoverRenameSpace.d.ts.map +1 -1
  132. package/dist/types/src/components/ShareSpaceButton.d.ts +3 -2
  133. package/dist/types/src/components/ShareSpaceButton.d.ts.map +1 -1
  134. package/dist/types/src/components/SpacePluginSettings.d.ts +2 -1
  135. package/dist/types/src/components/SpacePluginSettings.d.ts.map +1 -1
  136. package/dist/types/src/components/SpacePresence.d.ts +5 -4
  137. package/dist/types/src/components/SpacePresence.d.ts.map +1 -1
  138. package/dist/types/src/components/SpacePresence.stories.d.ts +3 -2
  139. package/dist/types/src/components/SpacePresence.stories.d.ts.map +1 -1
  140. package/dist/types/src/components/SpaceSettings/SpaceSettingsDialog.d.ts +2 -1
  141. package/dist/types/src/components/SpaceSettings/SpaceSettingsDialog.d.ts.map +1 -1
  142. package/dist/types/src/components/SpaceSettings/SpaceSettingsPanel.d.ts +2 -1
  143. package/dist/types/src/components/SpaceSettings/SpaceSettingsPanel.d.ts.map +1 -1
  144. package/dist/types/src/components/SyncStatus/InlineSyncStatus.d.ts +2 -1
  145. package/dist/types/src/components/SyncStatus/InlineSyncStatus.d.ts.map +1 -1
  146. package/dist/types/src/components/SyncStatus/Space.d.ts +3 -2
  147. package/dist/types/src/components/SyncStatus/Space.d.ts.map +1 -1
  148. package/dist/types/src/components/SyncStatus/SyncStatus.d.ts +4 -3
  149. package/dist/types/src/components/SyncStatus/SyncStatus.d.ts.map +1 -1
  150. package/dist/types/src/meta.d.ts +2 -5
  151. package/dist/types/src/meta.d.ts.map +1 -1
  152. package/dist/types/src/translations.d.ts +5 -12
  153. package/dist/types/src/translations.d.ts.map +1 -1
  154. package/dist/types/src/types/thread.d.ts +177 -174
  155. package/dist/types/src/types/thread.d.ts.map +1 -1
  156. package/dist/types/src/types/types.d.ts +2 -0
  157. package/dist/types/src/types/types.d.ts.map +1 -1
  158. package/dist/types/src/util.d.ts.map +1 -1
  159. package/package.json +43 -41
  160. package/src/SpacePlugin.tsx +6 -1
  161. package/src/capabilities/app-graph-serializer.ts +2 -2
  162. package/src/capabilities/index.ts +1 -0
  163. package/src/capabilities/intent-resolver.ts +3 -1
  164. package/src/capabilities/react-surface.tsx +3 -2
  165. package/src/capabilities/schema-tool.test.ts +45 -0
  166. package/src/capabilities/schema-tools.ts +124 -0
  167. package/src/components/BaseObjectSettings.tsx +3 -1
  168. package/src/components/CreateDialog/CreateObjectDialog.tsx +3 -6
  169. package/src/components/PopoverRenameObject.tsx +1 -1
  170. package/src/meta.ts +2 -2
  171. package/src/translations.ts +2 -4
  172. package/src/types/thread.ts +2 -56
  173. package/src/types/types.ts +3 -0
  174. package/src/util.tsx +1 -2
  175. package/dist/lib/browser/chunk-PCEP3KQY.mjs.map +0 -7
  176. package/dist/lib/browser/chunk-PQXZCNAU.mjs.map +0 -7
  177. package/dist/lib/browser/chunk-UDWHTKB5.mjs.map +0 -7
  178. package/dist/lib/browser/chunk-ULA2UQJ4.mjs.map +0 -7
  179. package/dist/lib/browser/react-surface-FKMRI3WV.mjs.map +0 -7
  180. package/dist/lib/node/chunk-QE4GVR6C.cjs.map +0 -7
  181. package/dist/lib/node/chunk-U6DYXAR3.cjs.map +0 -7
  182. package/dist/lib/node/chunk-WAJKBO3J.cjs.map +0 -7
  183. package/dist/lib/node/react-surface-JSCCIZS5.cjs.map +0 -7
  184. package/dist/lib/node-esm/chunk-2TQ2AJEZ.mjs.map +0 -7
  185. package/dist/lib/node-esm/chunk-HJCEJNW3.mjs.map +0 -7
  186. package/dist/lib/node-esm/chunk-ICCM4YRJ.mjs.map +0 -7
  187. package/dist/lib/node-esm/chunk-TRNZQEEN.mjs.map +0 -7
  188. package/dist/lib/node-esm/react-surface-Z3BBQ5HX.mjs.map +0 -7
  189. /package/dist/lib/browser/{app-graph-builder-MGK5HWPZ.mjs.map → app-graph-builder-7NG7UNQD.mjs.map} +0 -0
  190. /package/dist/lib/browser/{chunk-NU7WDVGN.mjs.map → chunk-O7LODPTY.mjs.map} +0 -0
  191. /package/dist/lib/browser/{identity-created-FYGS6TBH.mjs.map → identity-created-TG52G7RV.mjs.map} +0 -0
  192. /package/dist/lib/browser/{react-root-4CCSD7TZ.mjs.map → react-root-H5WH6EUY.mjs.map} +0 -0
  193. /package/dist/lib/browser/{schema-5W3DSY2E.mjs.map → schema-UOCBWGA4.mjs.map} +0 -0
  194. /package/dist/lib/browser/{settings-PHPCXX33.mjs.map → settings-XCHJUNYL.mjs.map} +0 -0
  195. /package/dist/lib/browser/{spaces-ready-K47RR7N2.mjs.map → spaces-ready-VVPJN6TU.mjs.map} +0 -0
  196. /package/dist/lib/browser/{state-INJ63O57.mjs.map → state-BUM7SQUV.mjs.map} +0 -0
  197. /package/dist/lib/node/{app-graph-builder-ZIUBXRPA.cjs.map → app-graph-builder-G3O5GZMQ.cjs.map} +0 -0
  198. /package/dist/lib/node/{chunk-YZKNRFHU.cjs.map → chunk-GRM6AGWI.cjs.map} +0 -0
  199. /package/dist/lib/node/{identity-created-AXI64BLE.cjs.map → identity-created-AQCHGXOF.cjs.map} +0 -0
  200. /package/dist/lib/node/{react-root-TCBTUOOJ.cjs.map → react-root-HCFNELCK.cjs.map} +0 -0
  201. /package/dist/lib/node/{schema-YN7WVFRX.cjs.map → schema-EERAOETL.cjs.map} +0 -0
  202. /package/dist/lib/node/{settings-5QYFWNH7.cjs.map → settings-VPFJWIWP.cjs.map} +0 -0
  203. /package/dist/lib/node/{spaces-ready-FQNAKR7G.cjs.map → spaces-ready-BDKHLPYB.cjs.map} +0 -0
  204. /package/dist/lib/node/{state-57UE3DYE.cjs.map → state-AIETH3DE.cjs.map} +0 -0
  205. /package/dist/lib/node-esm/{app-graph-builder-TERVM2SL.mjs.map → app-graph-builder-LJAESOIB.mjs.map} +0 -0
  206. /package/dist/lib/node-esm/{chunk-6RSVVEPS.mjs.map → chunk-AJ4IZAKT.mjs.map} +0 -0
  207. /package/dist/lib/node-esm/{identity-created-3CGEXNPO.mjs.map → identity-created-CK3VMR6Q.mjs.map} +0 -0
  208. /package/dist/lib/node-esm/{react-root-THJBSTQS.mjs.map → react-root-PLKZW44B.mjs.map} +0 -0
  209. /package/dist/lib/node-esm/{schema-LOR2EVGY.mjs.map → schema-LOOOBN6J.mjs.map} +0 -0
  210. /package/dist/lib/node-esm/{settings-H6MXTEQM.mjs.map → settings-2VSJTVUW.mjs.map} +0 -0
  211. /package/dist/lib/node-esm/{spaces-ready-HKAQG5SA.mjs.map → spaces-ready-7ROQ7PRB.mjs.map} +0 -0
  212. /package/dist/lib/node-esm/{state-VYA6OFHD.mjs.map → state-DWUAP6MH.mjs.map} +0 -0
@@ -24,21 +24,22 @@ import {
24
24
  SpaceSettingsDialog,
25
25
  SpaceSettingsPanel,
26
26
  SyncStatus
27
- } from "./chunk-PCEP3KQY.mjs";
27
+ } from "./chunk-PE2T7DOU.mjs";
28
28
  import {
29
29
  SpaceCapabilities
30
- } from "./chunk-NU7WDVGN.mjs";
31
- import "./chunk-23RVI5FZ.mjs";
30
+ } from "./chunk-O7LODPTY.mjs";
31
+ import "./chunk-KV4JWY3Z.mjs";
32
32
  import {
33
33
  CollectionType
34
- } from "./chunk-ULA2UQJ4.mjs";
34
+ } from "./chunk-TYU27VTL.mjs";
35
35
  import {
36
36
  SPACE_PLUGIN
37
- } from "./chunk-PQXZCNAU.mjs";
37
+ } from "./chunk-PTKYMZWO.mjs";
38
38
 
39
39
  // packages/plugins/plugin-space/src/capabilities/react-surface.tsx
40
40
  import React from "react";
41
41
  import { Capabilities, contributes, createSurface, Surface, useCapability } from "@dxos/app-framework";
42
+ import { isInstanceOf } from "@dxos/echo-schema";
42
43
  import { SettingsStore } from "@dxos/local-storage";
43
44
  import { getSpace, isEchoObject, isReactiveObject, isSpace, SpaceState } from "@dxos/react-client/echo";
44
45
  var react_surface_default = ({ createInvitationUrl }) => contributes(Capabilities.ReactSurface, [
@@ -62,7 +63,7 @@ var react_surface_default = ({ createInvitationUrl }) => contributes(Capabilitie
62
63
  id: `${SPACE_PLUGIN}/collection-fallback`,
63
64
  role: "article",
64
65
  position: "fallback",
65
- filter: (data) => data.subject instanceof CollectionType,
66
+ filter: (data) => isInstanceOf(CollectionType, data.subject),
66
67
  component: ({ data }) => /* @__PURE__ */ React.createElement(CollectionMain, {
67
68
  collection: data.subject
68
69
  })
@@ -192,7 +193,7 @@ var react_surface_default = ({ createInvitationUrl }) => contributes(Capabilitie
192
193
  createSurface({
193
194
  id: `${SPACE_PLUGIN}/collection-section`,
194
195
  role: "section",
195
- filter: (data) => data.subject instanceof CollectionType,
196
+ filter: (data) => isInstanceOf(CollectionType, data.subject),
196
197
  component: ({ data }) => /* @__PURE__ */ React.createElement(CollectionSection, {
197
198
  collection: data.subject
198
199
  })
@@ -222,4 +223,4 @@ var react_surface_default = ({ createInvitationUrl }) => contributes(Capabilitie
222
223
  export {
223
224
  react_surface_default as default
224
225
  };
225
- //# sourceMappingURL=react-surface-FKMRI3WV.mjs.map
226
+ //# sourceMappingURL=react-surface-523S3CFL.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/capabilities/react-surface.tsx"],
4
+ "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport React from 'react';\n\nimport { Capabilities, contributes, createSurface, Surface, useCapability } from '@dxos/app-framework';\nimport { isInstanceOf } from '@dxos/echo-schema';\nimport { SettingsStore } from '@dxos/local-storage';\nimport {\n getSpace,\n isEchoObject,\n isReactiveObject,\n isSpace,\n SpaceState,\n type ReactiveEchoObject,\n type Space,\n} from '@dxos/react-client/echo';\nimport { type JoinPanelProps } from '@dxos/shell/react';\n\nimport { SpaceCapabilities } from './capabilities';\nimport {\n AdvancedObjectSettings,\n BaseObjectSettings,\n CollectionMain,\n CollectionSection,\n CREATE_OBJECT_DIALOG,\n CREATE_SPACE_DIALOG,\n CreateObjectDialog,\n CreateSpaceDialog,\n InlineSyncStatus,\n JOIN_DIALOG,\n JoinDialog,\n MenuFooter,\n POPOVER_RENAME_OBJECT,\n POPOVER_RENAME_SPACE,\n PopoverRenameObject,\n PopoverRenameSpace,\n SmallPresenceLive,\n SPACE_SETTINGS_DIALOG,\n SpacePluginSettings,\n SpacePresence,\n SpaceSettingsDialog,\n SpaceSettingsPanel,\n SyncStatus,\n type CreateObjectDialogProps,\n type SpaceSettingsDialogProps,\n POPOVER_ADD_SPACE,\n PopoverAddSpace,\n} from '../components';\nimport { SPACE_PLUGIN } from '../meta';\nimport { CollectionType, type SpaceSettingsProps } from '../types';\n\ntype ReactSurfaceOptions = {\n createInvitationUrl: (invitationCode: string) => string;\n};\n\nexport default ({ createInvitationUrl }: ReactSurfaceOptions) =>\n contributes(Capabilities.ReactSurface, [\n createSurface({\n id: `${SPACE_PLUGIN}/article`,\n role: 'article',\n filter: (data): data is { subject: Space } =>\n // TODO(wittjosiah): Need to avoid shotgun parsing space state everywhere.\n isSpace(data.subject) && data.subject.state.get() === SpaceState.SPACE_READY,\n component: ({ data, role, ...rest }) => (\n <Surface\n data={{ id: data.subject.id, subject: data.subject.properties[CollectionType.typename]?.target }}\n role={role}\n {...rest}\n />\n ),\n }),\n createSurface({\n id: `${SPACE_PLUGIN}/collection-fallback`,\n role: 'article',\n position: 'fallback',\n filter: (data): data is { subject: CollectionType } => isInstanceOf(CollectionType, data.subject),\n component: ({ data }) => <CollectionMain collection={data.subject} />,\n }),\n createSurface({\n id: `${SPACE_PLUGIN}/settings-panel`,\n // TODO(burdon): Add role name syntax to minimal plugin docs.\n role: 'complementary--settings',\n filter: (data): data is { subject: Space } => isSpace(data.subject),\n component: ({ data }) => <SpaceSettingsPanel space={data.subject} />,\n }),\n createSurface({\n id: `${SPACE_PLUGIN}/object-settings-base-panel`,\n role: 'complementary--settings',\n position: 'hoist',\n filter: (data): data is { subject: ReactiveEchoObject<any> } => isEchoObject(data.subject),\n component: ({ data }) => <BaseObjectSettings object={data.subject} />,\n }),\n createSurface({\n id: `${SPACE_PLUGIN}/object-settings-advanced-panel`,\n role: 'complementary--settings',\n position: 'fallback',\n filter: (data): data is { subject: ReactiveEchoObject<any> } => isEchoObject(data.subject),\n component: ({ data }) => <AdvancedObjectSettings object={data.subject} />,\n }),\n createSurface({\n id: SPACE_SETTINGS_DIALOG,\n role: 'dialog',\n filter: (data): data is { props: SpaceSettingsDialogProps } => data.component === SPACE_SETTINGS_DIALOG,\n component: ({ data }) => <SpaceSettingsDialog {...data.props} createInvitationUrl={createInvitationUrl} />,\n }),\n createSurface({\n id: JOIN_DIALOG,\n role: 'dialog',\n filter: (data): data is { props: JoinPanelProps } => data.component === JOIN_DIALOG,\n component: ({ data }) => <JoinDialog {...data.props} />,\n }),\n createSurface({\n id: CREATE_SPACE_DIALOG,\n role: 'dialog',\n filter: (data): data is any => data.component === CREATE_SPACE_DIALOG,\n component: () => <CreateSpaceDialog />,\n }),\n createSurface({\n id: CREATE_OBJECT_DIALOG,\n role: 'dialog',\n filter: (data): data is { props: CreateObjectDialogProps } => data.component === CREATE_OBJECT_DIALOG,\n component: ({ data }) => <CreateObjectDialog {...data.props} />,\n }),\n createSurface({\n id: POPOVER_RENAME_SPACE,\n role: 'popover',\n filter: (data): data is { props: Space } => data.component === POPOVER_RENAME_SPACE && isSpace(data.props),\n component: ({ data }) => <PopoverRenameSpace space={data.props} />,\n }),\n createSurface({\n id: POPOVER_RENAME_OBJECT,\n role: 'popover',\n filter: (data): data is { props: ReactiveEchoObject<any> } =>\n data.component === POPOVER_RENAME_OBJECT && isReactiveObject(data.props),\n component: ({ data }) => <PopoverRenameObject object={data.props} />,\n }),\n createSurface({\n id: POPOVER_ADD_SPACE,\n role: 'popover',\n filter: (data): data is any => data.component === POPOVER_ADD_SPACE,\n component: () => <PopoverAddSpace />,\n }),\n createSurface({\n id: `${SPACE_PLUGIN}/navtree-presence`,\n role: 'navtree-item-end',\n filter: (data): data is { id: string; subject: ReactiveEchoObject<any>; open?: boolean } =>\n typeof data.id === 'string' && isEchoObject(data.subject),\n component: ({ data }) => {\n // TODO(wittjosiah): Doesn't need to be mutable but readonly type messes with ComplexMap.\n const state = useCapability(SpaceCapabilities.MutableState);\n return <SmallPresenceLive id={data.id} open={data.open} viewers={state.viewersByObject[data.id]} />;\n },\n }),\n createSurface({\n // TODO(wittjosiah): Attention glyph for non-echo items should be handled elsewhere.\n id: `${SPACE_PLUGIN}/navtree-presence-fallback`,\n role: 'navtree-item-end',\n position: 'fallback',\n filter: (data): data is { id: string; open?: boolean } => typeof data.id === 'string',\n component: ({ data }) => <SmallPresenceLive id={data.id} open={data.open} />,\n }),\n createSurface({\n id: `${SPACE_PLUGIN}/navtree-sync-status`,\n role: 'navtree-item-end',\n filter: (data): data is { subject: Space; open?: boolean } => isSpace(data.subject),\n component: ({ data }) => <InlineSyncStatus space={data.subject} open={data.open} />,\n }),\n createSurface({\n id: `${SPACE_PLUGIN}/navbar-presence`,\n role: 'navbar-end',\n position: 'hoist',\n filter: (data): data is { subject: Space | ReactiveEchoObject<any> } =>\n isSpace(data.subject) || isEchoObject(data.subject),\n component: ({ data }) => {\n const space = isSpace(data.subject) ? data.subject : getSpace(data.subject);\n const object = isSpace(data.subject)\n ? data.subject.state.get() === SpaceState.SPACE_READY\n ? (space?.properties[CollectionType.typename]?.target as CollectionType)\n : undefined\n : data.subject;\n\n return object ? <SpacePresence object={object} /> : null;\n },\n }),\n createSurface({\n id: `${SPACE_PLUGIN}/collection-section`,\n role: 'section',\n filter: (data): data is { subject: CollectionType } => isInstanceOf(CollectionType, data.subject),\n component: ({ data }) => <CollectionSection collection={data.subject} />,\n }),\n createSurface({\n id: `${SPACE_PLUGIN}/settings`,\n role: 'article',\n filter: (data): data is { subject: SettingsStore<SpaceSettingsProps> } =>\n data.subject instanceof SettingsStore && data.subject.prefix === SPACE_PLUGIN,\n component: ({ data: { subject } }) => <SpacePluginSettings settings={subject.value} />,\n }),\n createSurface({\n id: `${SPACE_PLUGIN}/menu-footer`,\n role: 'menu-footer',\n filter: (data): data is { subject: ReactiveEchoObject<any> } => isEchoObject(data.subject),\n component: ({ data }) => <MenuFooter object={data.subject} />,\n }),\n createSurface({\n id: `${SPACE_PLUGIN}/status`,\n role: 'status',\n component: () => <SyncStatus />,\n }),\n ]);\n"],
5
+ "mappings": "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",
6
+ "names": ["React", "Capabilities", "contributes", "createSurface", "Surface", "useCapability", "isInstanceOf", "SettingsStore", "getSpace", "isEchoObject", "isReactiveObject", "isSpace", "SpaceState", "createInvitationUrl", "contributes", "Capabilities", "ReactSurface", "createSurface", "id", "SPACE_PLUGIN", "role", "filter", "data", "isSpace", "subject", "state", "get", "SpaceState", "SPACE_READY", "component", "rest", "Surface", "properties", "CollectionType", "typename", "target", "position", "isInstanceOf", "CollectionMain", "collection", "SpaceSettingsPanel", "space", "isEchoObject", "BaseObjectSettings", "object", "AdvancedObjectSettings", "SPACE_SETTINGS_DIALOG", "SpaceSettingsDialog", "props", "JOIN_DIALOG", "JoinDialog", "CREATE_SPACE_DIALOG", "CreateSpaceDialog", "CREATE_OBJECT_DIALOG", "CreateObjectDialog", "POPOVER_RENAME_SPACE", "PopoverRenameSpace", "POPOVER_RENAME_OBJECT", "isReactiveObject", "PopoverRenameObject", "POPOVER_ADD_SPACE", "PopoverAddSpace", "useCapability", "SpaceCapabilities", "MutableState", "SmallPresenceLive", "open", "viewers", "viewersByObject", "InlineSyncStatus", "getSpace", "undefined", "SpacePresence", "CollectionSection", "SettingsStore", "prefix", "SpacePluginSettings", "settings", "value", "MenuFooter", "SyncStatus"]
7
+ }
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  SpaceCapabilities
3
- } from "./chunk-NU7WDVGN.mjs";
4
- import "./chunk-PQXZCNAU.mjs";
3
+ } from "./chunk-O7LODPTY.mjs";
4
+ import "./chunk-PTKYMZWO.mjs";
5
5
 
6
6
  // packages/plugins/plugin-space/src/capabilities/schema.ts
7
7
  import { effect } from "@preact/signals-core";
@@ -21,4 +21,4 @@ var schema_default = (context) => {
21
21
  export {
22
22
  schema_default as default
23
23
  };
24
- //# sourceMappingURL=schema-5W3DSY2E.mjs.map
24
+ //# sourceMappingURL=schema-UOCBWGA4.mjs.map
@@ -0,0 +1,123 @@
1
+ // packages/plugins/plugin-space/src/capabilities/schema-tools.ts
2
+ import { DescriptionAnnotationId, ExamplesAnnotationId, TitleAnnotationId } from "effect/SchemaAST";
3
+ import { Capabilities, contributes } from "@dxos/app-framework";
4
+ import { defineTool, ToolResult } from "@dxos/artifact";
5
+ import { FormatEnum, FormatEnums, S, SelectOptionSchema, GeoPoint, toJsonSchema } from "@dxos/echo-schema";
6
+ import { invariant } from "@dxos/invariant";
7
+ import { hues } from "@dxos/react-ui-theme";
8
+ import { echoSchemaFromPropertyDefinitions } from "@dxos/schema";
9
+ var __dxlog_file = "/home/runner/work/dxos/dxos/packages/plugins/plugin-space/src/capabilities/schema-tools.ts";
10
+ var TypeNameSchema = S.String.pipe(S.pattern(/^\w+\.\w{2,}\/[\w/]+$/i), S.annotations({
11
+ [TitleAnnotationId]: "TypeName",
12
+ [DescriptionAnnotationId]: "Domain-style type name path. Dashes are not allowed. Use camel case for the final component of the type name.",
13
+ [ExamplesAnnotationId]: [
14
+ "example.com/type/Document",
15
+ "example.com/type/FlightList"
16
+ ]
17
+ }));
18
+ var formatDescription = `The format of the property. Additional information:
19
+ ${FormatEnum.GeoPoint}: ${JSON.stringify(toJsonSchema(GeoPoint))}
20
+ This tuple is GeoJSON. You must specify \`${FormatEnum.GeoPoint}\` as [Longitude, Latitude]`;
21
+ var PropertyDefinitionSchema = S.Struct({
22
+ name: S.String.annotations({
23
+ [DescriptionAnnotationId]: "The name of the property."
24
+ }),
25
+ format: S.Union(...FormatEnums.map((format) => S.Literal(format))).annotations({
26
+ [DescriptionAnnotationId]: formatDescription
27
+ }),
28
+ config: S.optional(S.Struct({
29
+ options: S.optional(S.Array(SelectOptionSchema).annotations({
30
+ description: `Options for SingleSelect/MultiSelect formats. Available colors: ${hues.join(", ")}`
31
+ }).pipe(S.mutable))
32
+ }))
33
+ }).pipe(S.mutable);
34
+ var SYSTEM_NAMESPACE = "dxos.org/echo/schema";
35
+ var schema_tools_default = () => contributes(Capabilities.Tools, [
36
+ defineTool(SYSTEM_NAMESPACE, {
37
+ name: "list",
38
+ description: "List registered schemas in the space.",
39
+ caption: "Listing registered schemas...",
40
+ schema: S.Struct({}),
41
+ execute: async (_input, { extensions }) => {
42
+ invariant(extensions?.space, "No space.", {
43
+ F: __dxlog_file,
44
+ L: 67,
45
+ S: void 0,
46
+ A: [
47
+ "extensions?.space",
48
+ "'No space.'"
49
+ ]
50
+ });
51
+ const space = extensions.space;
52
+ const schemas = await space.db.schemaRegistry.query({}).run();
53
+ return ToolResult.Success(schemas.map((schema) => ({
54
+ typename: schema.typename,
55
+ version: schema.version
56
+ })));
57
+ }
58
+ }),
59
+ defineTool(SYSTEM_NAMESPACE, {
60
+ name: "get",
61
+ description: "Get a specific schema by its typename.",
62
+ caption: "Getting schema...",
63
+ schema: S.Struct({
64
+ typename: S.String.annotations({
65
+ description: "The fully qualified typename of the schema."
66
+ })
67
+ }),
68
+ execute: async ({ typename }, { extensions }) => {
69
+ invariant(extensions?.space, "No space.", {
70
+ F: __dxlog_file,
71
+ L: 89,
72
+ S: void 0,
73
+ A: [
74
+ "extensions?.space",
75
+ "'No space.'"
76
+ ]
77
+ });
78
+ const space = extensions.space;
79
+ const schema = await space.db.schemaRegistry.query({
80
+ typename
81
+ }).firstOrUndefined();
82
+ if (!schema) {
83
+ return ToolResult.Error(`Schema not found: ${typename}`);
84
+ }
85
+ return ToolResult.Success(schema);
86
+ }
87
+ }),
88
+ defineTool(SYSTEM_NAMESPACE, {
89
+ name: "create",
90
+ description: "Create a new schema with the provided definition.",
91
+ caption: "Creating schema...",
92
+ schema: S.Struct({
93
+ typename: TypeNameSchema.annotations({
94
+ description: 'The fully qualified schema typename. Must start with a domain, and then one or more path components (e.g., "example.com/type/TypeName").'
95
+ }),
96
+ properties: S.Array(PropertyDefinitionSchema).pipe(S.annotations({
97
+ description: "Array of property definitions for the schema."
98
+ }), S.mutable)
99
+ }),
100
+ execute: async ({ typename, properties }, { extensions }) => {
101
+ invariant(extensions?.space, "No space.", {
102
+ F: __dxlog_file,
103
+ L: 115,
104
+ S: void 0,
105
+ A: [
106
+ "extensions?.space",
107
+ "'No space.'"
108
+ ]
109
+ });
110
+ const space = extensions.space;
111
+ const schema = echoSchemaFromPropertyDefinitions(typename, properties);
112
+ const [registeredSchema] = await space.db.schemaRegistry.register([
113
+ schema
114
+ ]);
115
+ return ToolResult.Success(registeredSchema);
116
+ }
117
+ })
118
+ ]);
119
+ export {
120
+ TypeNameSchema,
121
+ schema_tools_default as default
122
+ };
123
+ //# sourceMappingURL=schema-tools-6J5ZEDBC.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/capabilities/schema-tools.ts"],
4
+ "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { DescriptionAnnotationId, ExamplesAnnotationId, TitleAnnotationId } from 'effect/SchemaAST';\n\nimport { Capabilities, contributes, type PromiseIntentDispatcher } from '@dxos/app-framework';\nimport { defineTool, ToolResult } from '@dxos/artifact';\nimport { type Space } from '@dxos/client/echo';\nimport { FormatEnum, FormatEnums, S, SelectOptionSchema, GeoPoint, toJsonSchema } from '@dxos/echo-schema';\nimport { invariant } from '@dxos/invariant';\nimport { hues } from '@dxos/react-ui-theme';\nimport { echoSchemaFromPropertyDefinitions } from '@dxos/schema';\n\n// TODO(burdon): Factor out.\ndeclare global {\n interface ToolContextExtensions {\n space?: Space;\n dispatch?: PromiseIntentDispatcher;\n }\n}\n\n// TODO(ZaymonFC): Move this somewhere common.\nexport const TypeNameSchema = S.String.pipe(\n S.pattern(/^\\w+\\.\\w{2,}\\/[\\w/]+$/i),\n S.annotations({\n [TitleAnnotationId]: 'TypeName',\n [DescriptionAnnotationId]:\n 'Domain-style type name path. Dashes are not allowed. Use camel case for the final component of the type name.',\n [ExamplesAnnotationId]: ['example.com/type/Document', 'example.com/type/FlightList'],\n }),\n);\n\nconst formatDescription = `The format of the property. Additional information:\n ${FormatEnum.GeoPoint}: ${JSON.stringify(toJsonSchema(GeoPoint))}\n This tuple is GeoJSON. You must specify \\`${FormatEnum.GeoPoint}\\` as [Longitude, Latitude]`;\n\n// TODO(ZaymonFC): All properties are default optional, but maybe we should allow for required properties.\nconst PropertyDefinitionSchema = S.Struct({\n name: S.String.annotations({ [DescriptionAnnotationId]: 'The name of the property.' }),\n format: S.Union(...FormatEnums.map((format) => S.Literal(format))).annotations({\n [DescriptionAnnotationId]: formatDescription,\n }),\n config: S.optional(\n S.Struct({\n options: S.optional(\n S.Array(SelectOptionSchema)\n .annotations({\n description: `Options for SingleSelect/MultiSelect formats. Available colors: ${hues.join(', ')}`,\n })\n .pipe(S.mutable),\n ),\n }),\n ),\n}).pipe(S.mutable);\n\nconst SYSTEM_NAMESPACE = 'dxos.org/echo/schema';\n\nexport default () =>\n contributes(Capabilities.Tools, [\n defineTool(SYSTEM_NAMESPACE, {\n name: 'list',\n description: 'List registered schemas in the space.',\n caption: 'Listing registered schemas...',\n schema: S.Struct({}),\n execute: async (_input, { extensions }) => {\n invariant(extensions?.space, 'No space.');\n const space = extensions.space;\n\n const schemas = await space.db.schemaRegistry.query({}).run();\n return ToolResult.Success(\n schemas.map((schema) => ({\n typename: schema.typename,\n version: schema.version,\n })),\n );\n },\n }),\n defineTool(SYSTEM_NAMESPACE, {\n name: 'get',\n description: 'Get a specific schema by its typename.',\n caption: 'Getting schema...',\n schema: S.Struct({\n typename: S.String.annotations({\n description: 'The fully qualified typename of the schema.',\n }),\n }),\n execute: async ({ typename }, { extensions }) => {\n invariant(extensions?.space, 'No space.');\n const space = extensions.space;\n\n const schema = await space.db.schemaRegistry.query({ typename }).firstOrUndefined();\n if (!schema) {\n return ToolResult.Error(`Schema not found: ${typename}`);\n }\n\n return ToolResult.Success(schema);\n },\n }),\n defineTool(SYSTEM_NAMESPACE, {\n name: 'create',\n description: 'Create a new schema with the provided definition.',\n caption: 'Creating schema...',\n schema: S.Struct({\n typename: TypeNameSchema.annotations({\n description:\n 'The fully qualified schema typename. Must start with a domain, and then one or more path components (e.g., \"example.com/type/TypeName\").',\n }),\n properties: S.Array(PropertyDefinitionSchema).pipe(\n S.annotations({ description: 'Array of property definitions for the schema.' }),\n S.mutable,\n ),\n }),\n execute: async ({ typename, properties }, { extensions }) => {\n invariant(extensions?.space, 'No space.');\n const space = extensions.space;\n\n const schema = echoSchemaFromPropertyDefinitions(typename, properties);\n const [registeredSchema] = await space.db.schemaRegistry.register([schema]);\n\n return ToolResult.Success(registeredSchema);\n },\n }),\n ]);\n"],
5
+ "mappings": ";AAIA,SAASA,yBAAyBC,sBAAsBC,yBAAyB;AAEjF,SAASC,cAAcC,mBAAiD;AACxE,SAASC,YAAYC,kBAAkB;AAEvC,SAASC,YAAYC,aAAaC,GAAGC,oBAAoBC,UAAUC,oBAAoB;AACvF,SAASC,iBAAiB;AAC1B,SAASC,YAAY;AACrB,SAASC,yCAAyC;;AAW3C,IAAMC,iBAAiBP,EAAEQ,OAAOC,KACrCT,EAAEU,QAAQ,wBAAA,GACVV,EAAEW,YAAY;EACZ,CAAClB,iBAAAA,GAAoB;EACrB,CAACF,uBAAAA,GACC;EACF,CAACC,oBAAAA,GAAuB;IAAC;IAA6B;;AACxD,CAAA,CAAA;AAGF,IAAMoB,oBAAoB;IACtBd,WAAWI,QAAQ,KAAKW,KAAKC,UAAUX,aAAaD,QAAAA,CAAAA,CAAAA;8CACVJ,WAAWI,QAAQ;AAGjE,IAAMa,2BAA2Bf,EAAEgB,OAAO;EACxCC,MAAMjB,EAAEQ,OAAOG,YAAY;IAAE,CAACpB,uBAAAA,GAA0B;EAA4B,CAAA;EACpF2B,QAAQlB,EAAEmB,MAAK,GAAIpB,YAAYqB,IAAI,CAACF,WAAWlB,EAAEqB,QAAQH,MAAAA,CAAAA,CAAAA,EAAUP,YAAY;IAC7E,CAACpB,uBAAAA,GAA0BqB;EAC7B,CAAA;EACAU,QAAQtB,EAAEuB,SACRvB,EAAEgB,OAAO;IACPQ,SAASxB,EAAEuB,SACTvB,EAAEyB,MAAMxB,kBAAAA,EACLU,YAAY;MACXe,aAAa,mEAAmErB,KAAKsB,KAAK,IAAA,CAAA;IAC5F,CAAA,EACClB,KAAKT,EAAE4B,OAAO,CAAA;EAErB,CAAA,CAAA;AAEJ,CAAA,EAAGnB,KAAKT,EAAE4B,OAAO;AAEjB,IAAMC,mBAAmB;AAEzB,IAAA,uBAAe,MACblC,YAAYD,aAAaoC,OAAO;EAC9BlC,WAAWiC,kBAAkB;IAC3BZ,MAAM;IACNS,aAAa;IACbK,SAAS;IACTC,QAAQhC,EAAEgB,OAAO,CAAC,CAAA;IAClBiB,SAAS,OAAOC,QAAQ,EAAEC,WAAU,MAAE;AACpC/B,gBAAU+B,YAAYC,OAAO,aAAA;;;;;;;;;AAC7B,YAAMA,QAAQD,WAAWC;AAEzB,YAAMC,UAAU,MAAMD,MAAME,GAAGC,eAAeC,MAAM,CAAC,CAAA,EAAGC,IAAG;AAC3D,aAAO5C,WAAW6C,QAChBL,QAAQjB,IAAI,CAACY,YAAY;QACvBW,UAAUX,OAAOW;QACjBC,SAASZ,OAAOY;MAClB,EAAA,CAAA;IAEJ;EACF,CAAA;EACAhD,WAAWiC,kBAAkB;IAC3BZ,MAAM;IACNS,aAAa;IACbK,SAAS;IACTC,QAAQhC,EAAEgB,OAAO;MACf2B,UAAU3C,EAAEQ,OAAOG,YAAY;QAC7Be,aAAa;MACf,CAAA;IACF,CAAA;IACAO,SAAS,OAAO,EAAEU,SAAQ,GAAI,EAAER,WAAU,MAAE;AAC1C/B,gBAAU+B,YAAYC,OAAO,aAAA;;;;;;;;;AAC7B,YAAMA,QAAQD,WAAWC;AAEzB,YAAMJ,SAAS,MAAMI,MAAME,GAAGC,eAAeC,MAAM;QAAEG;MAAS,CAAA,EAAGE,iBAAgB;AACjF,UAAI,CAACb,QAAQ;AACX,eAAOnC,WAAWiD,MAAM,qBAAqBH,QAAAA,EAAU;MACzD;AAEA,aAAO9C,WAAW6C,QAAQV,MAAAA;IAC5B;EACF,CAAA;EACApC,WAAWiC,kBAAkB;IAC3BZ,MAAM;IACNS,aAAa;IACbK,SAAS;IACTC,QAAQhC,EAAEgB,OAAO;MACf2B,UAAUpC,eAAeI,YAAY;QACnCe,aACE;MACJ,CAAA;MACAqB,YAAY/C,EAAEyB,MAAMV,wBAAAA,EAA0BN,KAC5CT,EAAEW,YAAY;QAAEe,aAAa;MAAgD,CAAA,GAC7E1B,EAAE4B,OAAO;IAEb,CAAA;IACAK,SAAS,OAAO,EAAEU,UAAUI,WAAU,GAAI,EAAEZ,WAAU,MAAE;AACtD/B,gBAAU+B,YAAYC,OAAO,aAAA;;;;;;;;;AAC7B,YAAMA,QAAQD,WAAWC;AAEzB,YAAMJ,SAAS1B,kCAAkCqC,UAAUI,UAAAA;AAC3D,YAAM,CAACC,gBAAAA,IAAoB,MAAMZ,MAAME,GAAGC,eAAeU,SAAS;QAACjB;OAAO;AAE1E,aAAOnC,WAAW6C,QAAQM,gBAAAA;IAC5B;EACF,CAAA;CACD;",
6
+ "names": ["DescriptionAnnotationId", "ExamplesAnnotationId", "TitleAnnotationId", "Capabilities", "contributes", "defineTool", "ToolResult", "FormatEnum", "FormatEnums", "S", "SelectOptionSchema", "GeoPoint", "toJsonSchema", "invariant", "hues", "echoSchemaFromPropertyDefinitions", "TypeNameSchema", "String", "pipe", "pattern", "annotations", "formatDescription", "JSON", "stringify", "PropertyDefinitionSchema", "Struct", "name", "format", "Union", "map", "Literal", "config", "optional", "options", "Array", "description", "join", "mutable", "SYSTEM_NAMESPACE", "Tools", "caption", "schema", "execute", "_input", "extensions", "space", "schemas", "db", "schemaRegistry", "query", "run", "Success", "typename", "version", "firstOrUndefined", "Error", "properties", "registeredSchema", "register"]
7
+ }
@@ -1,9 +1,9 @@
1
1
  import {
2
2
  SpaceSettingsSchema
3
- } from "./chunk-ULA2UQJ4.mjs";
3
+ } from "./chunk-TYU27VTL.mjs";
4
4
  import {
5
5
  SPACE_PLUGIN
6
- } from "./chunk-PQXZCNAU.mjs";
6
+ } from "./chunk-PTKYMZWO.mjs";
7
7
 
8
8
  // packages/plugins/plugin-space/src/capabilities/settings.ts
9
9
  import { Capabilities, contributes } from "@dxos/app-framework";
@@ -21,4 +21,4 @@ var settings_default = () => {
21
21
  export {
22
22
  settings_default as default
23
23
  };
24
- //# sourceMappingURL=settings-PHPCXX33.mjs.map
24
+ //# sourceMappingURL=settings-XCHJUNYL.mjs.map
@@ -1,14 +1,14 @@
1
1
  import {
2
2
  SpaceCapabilities
3
- } from "./chunk-NU7WDVGN.mjs";
3
+ } from "./chunk-O7LODPTY.mjs";
4
4
  import {
5
5
  COMPOSER_SPACE_LOCK,
6
6
  SHARED
7
- } from "./chunk-23RVI5FZ.mjs";
7
+ } from "./chunk-KV4JWY3Z.mjs";
8
8
  import {
9
9
  SpaceAction
10
- } from "./chunk-ULA2UQJ4.mjs";
11
- import "./chunk-PQXZCNAU.mjs";
10
+ } from "./chunk-TYU27VTL.mjs";
11
+ import "./chunk-PTKYMZWO.mjs";
12
12
 
13
13
  // packages/plugins/plugin-space/src/capabilities/spaces-ready.ts
14
14
  import { contributes, createIntent, Capabilities, LayoutAction } from "@dxos/app-framework";
@@ -196,4 +196,4 @@ var spaces_ready_default = async (context) => {
196
196
  export {
197
197
  spaces_ready_default as default
198
198
  };
199
- //# sourceMappingURL=spaces-ready-K47RR7N2.mjs.map
199
+ //# sourceMappingURL=spaces-ready-VVPJN6TU.mjs.map
@@ -1,9 +1,9 @@
1
1
  import {
2
2
  SpaceCapabilities
3
- } from "./chunk-NU7WDVGN.mjs";
3
+ } from "./chunk-O7LODPTY.mjs";
4
4
  import {
5
5
  SPACE_PLUGIN
6
- } from "./chunk-PQXZCNAU.mjs";
6
+ } from "./chunk-PTKYMZWO.mjs";
7
7
 
8
8
  // packages/plugins/plugin-space/src/capabilities/state.ts
9
9
  import { effect } from "@preact/signals-core";
@@ -44,4 +44,4 @@ var state_default = (context) => {
44
44
  export {
45
45
  state_default as default
46
46
  };
47
- //# sourceMappingURL=state-INJ63O57.mjs.map
47
+ //# sourceMappingURL=state-BUM7SQUV.mjs.map
@@ -1,11 +1,7 @@
1
1
  import {
2
- ActorSchema,
3
2
  ChannelType,
4
3
  CollectionAction,
5
4
  CollectionType,
6
- ContactType,
7
- MessageState,
8
- MessageType,
9
5
  SPACE_ACTION,
10
6
  SPACE_DIRECTORY_HANDLE,
11
7
  SpaceAction,
@@ -14,16 +10,12 @@ import {
14
10
  ThreadStatus,
15
11
  ThreadType,
16
12
  defineObjectForm
17
- } from "../chunk-ULA2UQJ4.mjs";
18
- import "../chunk-PQXZCNAU.mjs";
13
+ } from "../chunk-TYU27VTL.mjs";
14
+ import "../chunk-PTKYMZWO.mjs";
19
15
  export {
20
- ActorSchema,
21
16
  ChannelType,
22
17
  CollectionAction,
23
18
  CollectionType,
24
- ContactType,
25
- MessageState,
26
- MessageType,
27
19
  SPACE_ACTION,
28
20
  SPACE_DIRECTORY_HANDLE,
29
21
  SpaceAction,
@@ -16,15 +16,15 @@ var __copyProps = (to, from, except, desc) => {
16
16
  return to;
17
17
  };
18
18
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
- var app_graph_builder_ZIUBXRPA_exports = {};
20
- __export(app_graph_builder_ZIUBXRPA_exports, {
19
+ var app_graph_builder_G3O5GZMQ_exports = {};
20
+ __export(app_graph_builder_G3O5GZMQ_exports, {
21
21
  default: () => app_graph_builder_default
22
22
  });
23
- module.exports = __toCommonJS(app_graph_builder_ZIUBXRPA_exports);
24
- var import_chunk_YZKNRFHU = require("./chunk-YZKNRFHU.cjs");
25
- var import_chunk_OVGKWJOC = require("./chunk-OVGKWJOC.cjs");
26
- var import_chunk_WAJKBO3J = require("./chunk-WAJKBO3J.cjs");
27
- var import_chunk_WZR6OAN3 = require("./chunk-WZR6OAN3.cjs");
23
+ module.exports = __toCommonJS(app_graph_builder_G3O5GZMQ_exports);
24
+ var import_chunk_GRM6AGWI = require("./chunk-GRM6AGWI.cjs");
25
+ var import_chunk_7BN5N2ND = require("./chunk-7BN5N2ND.cjs");
26
+ var import_chunk_37QRDFMQ = require("./chunk-37QRDFMQ.cjs");
27
+ var import_chunk_6P2DB4QQ = require("./chunk-6P2DB4QQ.cjs");
28
28
  var import_app_framework = require("@dxos/app-framework");
29
29
  var import_echo = require("@dxos/client/echo");
30
30
  var import_live_object = require("@dxos/live-object");
@@ -36,8 +36,8 @@ var __dxlog_file = "/home/runner/work/dxos/dxos/packages/plugins/plugin-space/sr
36
36
  var app_graph_builder_default = (context) => {
37
37
  const resolve = (typename) => context.requestCapabilities(import_app_framework.Capabilities.Metadata).find(({ id }) => id === typename)?.metadata ?? {};
38
38
  const spacesNode = {
39
- id: import_chunk_OVGKWJOC.SPACES,
40
- type: import_chunk_OVGKWJOC.SPACES,
39
+ id: import_chunk_7BN5N2ND.SPACES,
40
+ type: import_chunk_7BN5N2ND.SPACES,
41
41
  cacheable: [
42
42
  "label",
43
43
  "role"
@@ -46,7 +46,7 @@ var app_graph_builder_default = (context) => {
46
46
  label: [
47
47
  "spaces label",
48
48
  {
49
- ns: import_chunk_WZR6OAN3.SPACE_PLUGIN
49
+ ns: import_chunk_6P2DB4QQ.SPACE_PLUGIN
50
50
  }
51
51
  ],
52
52
  icon: "ph--planet--regular",
@@ -58,9 +58,9 @@ var app_graph_builder_default = (context) => {
58
58
  onRearrangeChildren: async (nextOrder) => {
59
59
  const { graph } = context.requestCapability(import_app_framework.Capabilities.AppGraph);
60
60
  const client = context.requestCapability(import_plugin_client.ClientCapabilities.Client);
61
- graph._sortEdges(import_chunk_OVGKWJOC.SPACES, "outbound", nextOrder.map(({ id }) => id));
61
+ graph._sortEdges(import_chunk_7BN5N2ND.SPACES, "outbound", nextOrder.map(({ id }) => id));
62
62
  const { objects: [spacesOrder] } = await client.spaces.default.db.query(import_echo.Filter.schema(import_echo.Expando, {
63
- key: import_chunk_OVGKWJOC.SHARED
63
+ key: import_chunk_7BN5N2ND.SHARED
64
64
  })).run();
65
65
  if (spacesOrder) {
66
66
  spacesOrder.order = nextOrder.map(({ id }) => id);
@@ -78,21 +78,21 @@ var app_graph_builder_default = (context) => {
78
78
  return (0, import_app_framework.contributes)(import_app_framework.Capabilities.AppGraphBuilder, [
79
79
  // Primary actions.
80
80
  (0, import_plugin_graph.createExtension)({
81
- id: `${import_chunk_WZR6OAN3.SPACE_PLUGIN}/primary-actions`,
81
+ id: `${import_chunk_6P2DB4QQ.SPACE_PLUGIN}/primary-actions`,
82
82
  position: "hoist",
83
83
  filter: (node) => node.id === "root",
84
84
  actions: () => [
85
85
  {
86
- id: import_chunk_WAJKBO3J.SpaceAction.AddSpace._tag,
86
+ id: import_chunk_37QRDFMQ.SpaceAction.AddSpace._tag,
87
87
  data: async (params) => {
88
88
  const { dispatchPromise: dispatch } = context.requestCapability(import_app_framework.Capabilities.IntentDispatcher);
89
- await dispatch((0, import_app_framework.createIntent)(import_chunk_WAJKBO3J.SpaceAction.AddSpace));
89
+ await dispatch((0, import_app_framework.createIntent)(import_chunk_37QRDFMQ.SpaceAction.AddSpace));
90
90
  },
91
91
  properties: {
92
92
  label: [
93
93
  "add space label",
94
94
  {
95
- ns: import_chunk_WZR6OAN3.SPACE_PLUGIN
95
+ ns: import_chunk_6P2DB4QQ.SPACE_PLUGIN
96
96
  }
97
97
  ],
98
98
  icon: "ph--plus--regular",
@@ -105,18 +105,18 @@ var app_graph_builder_default = (context) => {
105
105
  }),
106
106
  // Create spaces group node.
107
107
  (0, import_plugin_graph.createExtension)({
108
- id: `${import_chunk_WZR6OAN3.SPACE_PLUGIN}/root`,
108
+ id: `${import_chunk_6P2DB4QQ.SPACE_PLUGIN}/root`,
109
109
  position: "hoist",
110
110
  filter: (node) => node.id === "root",
111
111
  connector: () => [
112
112
  spacesNode
113
113
  ],
114
- resolver: ({ id }) => id === import_chunk_OVGKWJOC.SPACES ? spacesNode : void 0
114
+ resolver: ({ id }) => id === import_chunk_7BN5N2ND.SPACES ? spacesNode : void 0
115
115
  }),
116
116
  // Create space nodes.
117
117
  (0, import_plugin_graph.createExtension)({
118
- id: import_chunk_OVGKWJOC.SPACES,
119
- filter: (node) => node.id === import_chunk_OVGKWJOC.SPACES,
118
+ id: import_chunk_7BN5N2ND.SPACES,
119
+ filter: (node) => node.id === import_chunk_7BN5N2ND.SPACES,
120
120
  connector: () => {
121
121
  const client = context.requestCapability(import_plugin_client.ClientCapabilities.Client);
122
122
  const spaces = (0, import_plugin_graph.toSignal)((onChange) => client.spaces.subscribe(() => onChange()).unsubscribe, () => client.spaces.get());
@@ -124,11 +124,11 @@ var app_graph_builder_default = (context) => {
124
124
  if (!spaces || !isReady) {
125
125
  return;
126
126
  }
127
- const state = context.requestCapability(import_chunk_YZKNRFHU.SpaceCapabilities.State);
128
- const settings = context.requestCapabilities(import_app_framework.Capabilities.SettingsStore)[0]?.getStore(import_chunk_WZR6OAN3.SPACE_PLUGIN)?.value;
127
+ const state = context.requestCapability(import_chunk_GRM6AGWI.SpaceCapabilities.State);
128
+ const settings = context.requestCapabilities(import_app_framework.Capabilities.SettingsStore)[0]?.getStore(import_chunk_6P2DB4QQ.SPACE_PLUGIN)?.value;
129
129
  try {
130
- const [spacesOrder] = (0, import_chunk_OVGKWJOC.memoizeQuery)(client.spaces.default, import_echo.Filter.schema(import_echo.Expando, {
131
- key: import_chunk_OVGKWJOC.SHARED
130
+ const [spacesOrder] = (0, import_chunk_7BN5N2ND.memoizeQuery)(client.spaces.default, import_echo.Filter.schema(import_echo.Expando, {
131
+ key: import_chunk_7BN5N2ND.SHARED
132
132
  }));
133
133
  const order = spacesOrder?.order ?? [];
134
134
  const orderMap = new Map(order.map((id, index) => [
@@ -138,7 +138,7 @@ var app_graph_builder_default = (context) => {
138
138
  return [
139
139
  ...spaces.filter((space) => orderMap.has(space.id)).sort((a, b) => orderMap.get(a.id) - orderMap.get(b.id)),
140
140
  ...spaces.filter((space) => !orderMap.has(space.id))
141
- ].filter((space) => settings?.showHidden ? true : space.state.get() !== import_echo.SpaceState.SPACE_INACTIVE).map((space) => (0, import_chunk_OVGKWJOC.constructSpaceNode)({
141
+ ].filter((space) => settings?.showHidden ? true : space.state.get() !== import_echo.SpaceState.SPACE_INACTIVE).map((space) => (0, import_chunk_7BN5N2ND.constructSpaceNode)({
142
142
  space,
143
143
  navigable: state.navigableCollections,
144
144
  personal: space === client.spaces.default,
@@ -167,8 +167,8 @@ var app_graph_builder_default = (context) => {
167
167
  } else if (space.state.get() !== import_echo.SpaceState.SPACE_READY) {
168
168
  return void 0;
169
169
  } else {
170
- const state = context.requestCapability(import_chunk_YZKNRFHU.SpaceCapabilities.State);
171
- return (0, import_chunk_OVGKWJOC.constructSpaceNode)({
170
+ const state = context.requestCapability(import_chunk_GRM6AGWI.SpaceCapabilities.State);
171
+ return (0, import_chunk_7BN5N2ND.constructSpaceNode)({
172
172
  space,
173
173
  navigable: state.navigableCollections,
174
174
  personal: space === client.spaces.default,
@@ -180,14 +180,14 @@ var app_graph_builder_default = (context) => {
180
180
  }),
181
181
  // Create space actions.
182
182
  (0, import_plugin_graph.createExtension)({
183
- id: `${import_chunk_WZR6OAN3.SPACE_PLUGIN}/actions`,
183
+ id: `${import_chunk_6P2DB4QQ.SPACE_PLUGIN}/actions`,
184
184
  filter: (node) => (0, import_echo.isSpace)(node.data),
185
185
  actions: ({ node }) => {
186
186
  const space = node.data;
187
187
  const { dispatchPromise: dispatch } = context.requestCapability(import_app_framework.Capabilities.IntentDispatcher);
188
188
  const client = context.requestCapability(import_plugin_client.ClientCapabilities.Client);
189
- const state = context.requestCapability(import_chunk_YZKNRFHU.SpaceCapabilities.State);
190
- return (0, import_chunk_OVGKWJOC.constructSpaceActions)({
189
+ const state = context.requestCapability(import_chunk_GRM6AGWI.SpaceCapabilities.State);
190
+ return (0, import_chunk_7BN5N2ND.constructSpaceActions)({
191
191
  space,
192
192
  dispatch,
193
193
  personal: space === client.spaces.default,
@@ -197,7 +197,7 @@ var app_graph_builder_default = (context) => {
197
197
  }),
198
198
  // Create nodes for objects in the root collection of a space.
199
199
  (0, import_plugin_graph.createExtension)({
200
- id: `${import_chunk_WZR6OAN3.SPACE_PLUGIN}/root-collection`,
200
+ id: `${import_chunk_6P2DB4QQ.SPACE_PLUGIN}/root-collection`,
201
201
  filter: (node) => (0, import_echo.isSpace)(node.data),
202
202
  connector: ({ node }) => {
203
203
  const space = node.data;
@@ -205,12 +205,12 @@ var app_graph_builder_default = (context) => {
205
205
  if (spaceState !== import_echo.SpaceState.SPACE_READY) {
206
206
  return;
207
207
  }
208
- const collection = space.properties[import_chunk_WAJKBO3J.CollectionType.typename]?.target;
208
+ const collection = space.properties[import_chunk_37QRDFMQ.CollectionType.typename]?.target;
209
209
  if (!collection) {
210
210
  return;
211
211
  }
212
- const state = context.requestCapability(import_chunk_YZKNRFHU.SpaceCapabilities.State);
213
- return collection.objects.map((object) => object.target).filter(import_util.isNonNullable).map((object) => (0, import_chunk_OVGKWJOC.createObjectNode)({
212
+ const state = context.requestCapability(import_chunk_GRM6AGWI.SpaceCapabilities.State);
213
+ return collection.objects.map((object) => object.target).filter(import_util.isNonNullable).map((object) => (0, import_chunk_7BN5N2ND.createObjectNode)({
214
214
  object,
215
215
  space,
216
216
  resolve,
@@ -220,16 +220,16 @@ var app_graph_builder_default = (context) => {
220
220
  }),
221
221
  // Create nodes for objects in a collection or by its fully qualified id.
222
222
  (0, import_plugin_graph.createExtension)({
223
- id: `${import_chunk_WZR6OAN3.SPACE_PLUGIN}/objects`,
224
- filter: (node) => node.data instanceof import_chunk_WAJKBO3J.CollectionType,
223
+ id: `${import_chunk_6P2DB4QQ.SPACE_PLUGIN}/objects`,
224
+ filter: (node) => node.data instanceof import_chunk_37QRDFMQ.CollectionType,
225
225
  connector: ({ node }) => {
226
226
  const collection = node.data;
227
227
  const space = (0, import_echo.getSpace)(collection);
228
228
  if (!space) {
229
229
  return;
230
230
  }
231
- const state = context.requestCapability(import_chunk_YZKNRFHU.SpaceCapabilities.State);
232
- return collection.objects.map((object) => object.target).filter(import_util.isNonNullable).map((object) => (0, import_chunk_OVGKWJOC.createObjectNode)({
231
+ const state = context.requestCapability(import_chunk_GRM6AGWI.SpaceCapabilities.State);
232
+ return collection.objects.map((object) => object.target).filter(import_util.isNonNullable).map((object) => (0, import_chunk_7BN5N2ND.createObjectNode)({
233
233
  object,
234
234
  space,
235
235
  resolve,
@@ -253,7 +253,7 @@ var app_graph_builder_default = (context) => {
253
253
  if (spaceState !== import_echo.SpaceState.SPACE_READY) {
254
254
  return;
255
255
  }
256
- const [object] = (0, import_chunk_OVGKWJOC.memoizeQuery)(space, {
256
+ const [object] = (0, import_chunk_7BN5N2ND.memoizeQuery)(space, {
257
257
  id: objectId
258
258
  });
259
259
  if (!object) {
@@ -262,8 +262,8 @@ var app_graph_builder_default = (context) => {
262
262
  if ((0, import_live_object.isDeleted)(object)) {
263
263
  return false;
264
264
  } else {
265
- const state = context.requestCapability(import_chunk_YZKNRFHU.SpaceCapabilities.State);
266
- return (0, import_chunk_OVGKWJOC.createObjectNode)({
265
+ const state = context.requestCapability(import_chunk_GRM6AGWI.SpaceCapabilities.State);
266
+ return (0, import_chunk_7BN5N2ND.createObjectNode)({
267
267
  object,
268
268
  space,
269
269
  resolve,
@@ -274,12 +274,12 @@ var app_graph_builder_default = (context) => {
274
274
  }),
275
275
  // Create collection actions and action groups.
276
276
  (0, import_plugin_graph.createExtension)({
277
- id: `${import_chunk_WZR6OAN3.SPACE_PLUGIN}/object-actions`,
277
+ id: `${import_chunk_6P2DB4QQ.SPACE_PLUGIN}/object-actions`,
278
278
  filter: (node) => (0, import_echo.isEchoObject)(node.data),
279
279
  actions: ({ node }) => {
280
280
  const { dispatchPromise: dispatch } = context.requestCapability(import_app_framework.Capabilities.IntentDispatcher);
281
- const state = context.requestCapability(import_chunk_YZKNRFHU.SpaceCapabilities.State);
282
- return (0, import_chunk_OVGKWJOC.constructObjectActions)({
281
+ const state = context.requestCapability(import_chunk_GRM6AGWI.SpaceCapabilities.State);
282
+ return (0, import_chunk_7BN5N2ND.constructObjectActions)({
283
283
  node,
284
284
  dispatch,
285
285
  navigable: state.navigableCollections
@@ -288,4 +288,4 @@ var app_graph_builder_default = (context) => {
288
288
  })
289
289
  ]);
290
290
  };
291
- //# sourceMappingURL=app-graph-builder-ZIUBXRPA.cjs.map
291
+ //# sourceMappingURL=app-graph-builder-G3O5GZMQ.cjs.map