@dxos/plugin-space 0.8.3-main.672df60 → 0.8.3-staging.0fa589b

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 (237) hide show
  1. package/dist/lib/browser/{app-graph-builder-DCWUULKX.mjs → app-graph-builder-M2RH72VL.mjs} +49 -14
  2. package/dist/lib/browser/app-graph-builder-M2RH72VL.mjs.map +7 -0
  3. package/dist/lib/browser/{app-graph-serializer-MLU7XI2P.mjs → app-graph-serializer-F7ISRRBV.mjs} +13 -13
  4. package/dist/lib/browser/app-graph-serializer-F7ISRRBV.mjs.map +7 -0
  5. package/dist/lib/browser/{chunk-VEBKN45O.mjs → chunk-4ZKSFDXM.mjs} +29 -17
  6. package/dist/lib/browser/chunk-4ZKSFDXM.mjs.map +7 -0
  7. package/dist/lib/browser/{chunk-3LN4LJN6.mjs → chunk-BXNL6SDI.mjs} +2 -1
  8. package/dist/lib/browser/chunk-BXNL6SDI.mjs.map +7 -0
  9. package/dist/lib/browser/{chunk-ZQEIXWBK.mjs → chunk-NFUKCRGE.mjs} +157 -141
  10. package/dist/lib/browser/chunk-NFUKCRGE.mjs.map +7 -0
  11. package/dist/lib/browser/chunk-TW7O2EPP.mjs +284 -0
  12. package/dist/lib/browser/chunk-TW7O2EPP.mjs.map +7 -0
  13. package/dist/lib/browser/{chunk-N5QMRLKI.mjs → chunk-V24VASAJ.mjs} +112 -43
  14. package/dist/lib/browser/chunk-V24VASAJ.mjs.map +7 -0
  15. package/dist/lib/browser/chunk-YMCZR6EZ.mjs +18 -0
  16. package/dist/lib/browser/chunk-YMCZR6EZ.mjs.map +7 -0
  17. package/dist/lib/browser/{identity-created-O63SIYOF.mjs → identity-created-PI7TKANR.mjs} +5 -10
  18. package/dist/lib/browser/identity-created-PI7TKANR.mjs.map +7 -0
  19. package/dist/lib/browser/index.mjs +61 -51
  20. package/dist/lib/browser/index.mjs.map +4 -4
  21. package/dist/lib/browser/{intent-resolver-PG473BRV.mjs → intent-resolver-RWU6ZE4H.mjs} +66 -45
  22. package/dist/lib/browser/intent-resolver-RWU6ZE4H.mjs.map +7 -0
  23. package/dist/lib/browser/meta.json +1 -1
  24. package/dist/lib/browser/{react-root-FRDC4UXB.mjs → react-root-QIKHSNT2.mjs} +5 -5
  25. package/dist/lib/browser/{react-surface-QOP7T66K.mjs → react-surface-W56UD53I.mjs} +79 -19
  26. package/dist/lib/browser/react-surface-W56UD53I.mjs.map +7 -0
  27. package/dist/lib/browser/{schema-defs-JMN74RNK.mjs → schema-defs-WREJNMIC.mjs} +2 -2
  28. package/dist/lib/browser/{schema-tools-JIEMHUXV.mjs → schema-tools-ILTVSSS3.mjs} +7 -6
  29. package/dist/lib/browser/schema-tools-ILTVSSS3.mjs.map +7 -0
  30. package/dist/lib/browser/{settings-2IN2WLUK.mjs → settings-K54STC5A.mjs} +4 -4
  31. package/dist/lib/browser/settings-K54STC5A.mjs.map +7 -0
  32. package/dist/lib/browser/{spaces-ready-L4QAGTDE.mjs → spaces-ready-3PDRDHPC.mjs} +12 -13
  33. package/dist/lib/browser/spaces-ready-3PDRDHPC.mjs.map +7 -0
  34. package/dist/lib/browser/{state-6HOSHLIN.mjs → state-HRZ4VRXU.mjs} +2 -2
  35. package/dist/lib/browser/types/index.mjs +1 -3
  36. package/dist/lib/node/{app-graph-builder-WC445X77.cjs → app-graph-builder-6LK5HLLE.cjs} +79 -43
  37. package/dist/lib/node/app-graph-builder-6LK5HLLE.cjs.map +7 -0
  38. package/dist/lib/node/{app-graph-serializer-UPQOQVMJ.cjs → app-graph-serializer-HKHBNHA3.cjs} +24 -23
  39. package/dist/lib/node/app-graph-serializer-HKHBNHA3.cjs.map +7 -0
  40. package/dist/lib/node/chunk-3X4EA4XL.cjs +37 -0
  41. package/dist/lib/node/chunk-3X4EA4XL.cjs.map +7 -0
  42. package/dist/lib/node/{chunk-DXL5TDFP.cjs → chunk-DOC5XEZ4.cjs} +32 -18
  43. package/dist/lib/node/chunk-DOC5XEZ4.cjs.map +7 -0
  44. package/dist/lib/node/{chunk-USFHJG7C.cjs → chunk-NCHF433F.cjs} +207 -190
  45. package/dist/lib/node/chunk-NCHF433F.cjs.map +7 -0
  46. package/dist/lib/node/{chunk-7GQGM4ZF.cjs → chunk-NL5Y4EDX.cjs} +5 -4
  47. package/dist/lib/node/chunk-NL5Y4EDX.cjs.map +7 -0
  48. package/dist/lib/node/chunk-ULJZPATP.cjs +312 -0
  49. package/dist/lib/node/chunk-ULJZPATP.cjs.map +7 -0
  50. package/dist/lib/node/{chunk-COQYISES.cjs → chunk-XHWVT7LW.cjs} +137 -67
  51. package/dist/lib/node/chunk-XHWVT7LW.cjs.map +7 -0
  52. package/dist/lib/node/{identity-created-UXEAUGC7.cjs → identity-created-FF4WZ2WY.cjs} +8 -10
  53. package/dist/lib/node/identity-created-FF4WZ2WY.cjs.map +7 -0
  54. package/dist/lib/node/index.cjs +130 -119
  55. package/dist/lib/node/index.cjs.map +4 -4
  56. package/dist/lib/node/{intent-resolver-VPVZSSIL.cjs → intent-resolver-AV4CMM3Z.cjs} +99 -79
  57. package/dist/lib/node/intent-resolver-AV4CMM3Z.cjs.map +7 -0
  58. package/dist/lib/node/meta.json +1 -1
  59. package/dist/lib/node/{react-root-JXLRINF3.cjs → react-root-RQUU3A45.cjs} +10 -10
  60. package/dist/lib/node/{react-surface-ZIYDBL3C.cjs → react-surface-AZFJLE72.cjs} +119 -58
  61. package/dist/lib/node/react-surface-AZFJLE72.cjs.map +7 -0
  62. package/dist/lib/node/{schema-defs-XLFBG3XK.cjs → schema-defs-OB2X2HBH.cjs} +6 -6
  63. package/dist/lib/node/{schema-tools-ZG6Z2QRC.cjs → schema-tools-IYREN4IH.cjs} +9 -8
  64. package/dist/lib/node/schema-tools-IYREN4IH.cjs.map +7 -0
  65. package/dist/lib/node/{settings-FOH7EB5C.cjs → settings-P2EQ7VKQ.cjs} +7 -7
  66. package/dist/lib/node/settings-P2EQ7VKQ.cjs.map +7 -0
  67. package/dist/lib/node/{spaces-ready-VXQYCBII.cjs → spaces-ready-DXPOHYV7.cjs} +26 -27
  68. package/dist/lib/node/spaces-ready-DXPOHYV7.cjs.map +7 -0
  69. package/dist/lib/node/{state-ZT3MTZXB.cjs → state-M35DK75Z.cjs} +6 -6
  70. package/dist/lib/node/types/index.cjs +11 -13
  71. package/dist/lib/node/types/index.cjs.map +2 -2
  72. package/dist/lib/node-esm/{app-graph-builder-E7CCGPQJ.mjs → app-graph-builder-BCHVZ4OM.mjs} +49 -14
  73. package/dist/lib/node-esm/app-graph-builder-BCHVZ4OM.mjs.map +7 -0
  74. package/dist/lib/node-esm/{app-graph-serializer-UCMSLPIA.mjs → app-graph-serializer-TXRGGNP2.mjs} +13 -13
  75. package/dist/lib/node-esm/app-graph-serializer-TXRGGNP2.mjs.map +7 -0
  76. package/dist/lib/node-esm/chunk-3CP67AYY.mjs +19 -0
  77. package/dist/lib/node-esm/chunk-3CP67AYY.mjs.map +7 -0
  78. package/dist/lib/node-esm/{chunk-4X4Y63ND.mjs → chunk-BSLREHIX.mjs} +2 -1
  79. package/dist/lib/node-esm/chunk-BSLREHIX.mjs.map +7 -0
  80. package/dist/lib/node-esm/chunk-D4QMPPS7.mjs +285 -0
  81. package/dist/lib/node-esm/chunk-D4QMPPS7.mjs.map +7 -0
  82. package/dist/lib/node-esm/{chunk-XAZNQ3QN.mjs → chunk-HO7AIKQS.mjs} +112 -43
  83. package/dist/lib/node-esm/chunk-HO7AIKQS.mjs.map +7 -0
  84. package/dist/lib/node-esm/{chunk-OSPEGYX3.mjs → chunk-JBQKU4K5.mjs} +29 -17
  85. package/dist/lib/node-esm/chunk-JBQKU4K5.mjs.map +7 -0
  86. package/dist/lib/node-esm/{chunk-BE2BLE7K.mjs → chunk-LA6AVVH6.mjs} +157 -141
  87. package/dist/lib/node-esm/chunk-LA6AVVH6.mjs.map +7 -0
  88. package/dist/lib/node-esm/{identity-created-ZECO4NH3.mjs → identity-created-35CTAQWI.mjs} +5 -9
  89. package/dist/lib/node-esm/identity-created-35CTAQWI.mjs.map +7 -0
  90. package/dist/lib/node-esm/index.mjs +61 -51
  91. package/dist/lib/node-esm/index.mjs.map +4 -4
  92. package/dist/lib/node-esm/{intent-resolver-SK5LP5ZK.mjs → intent-resolver-JO6L2VXC.mjs} +66 -45
  93. package/dist/lib/node-esm/intent-resolver-JO6L2VXC.mjs.map +7 -0
  94. package/dist/lib/node-esm/meta.json +1 -1
  95. package/dist/lib/node-esm/{react-root-K2KRGIT7.mjs → react-root-YFGL3B4J.mjs} +5 -5
  96. package/dist/lib/node-esm/{react-surface-XNUWZCSH.mjs → react-surface-CVAPDLEZ.mjs} +79 -19
  97. package/dist/lib/node-esm/react-surface-CVAPDLEZ.mjs.map +7 -0
  98. package/dist/lib/node-esm/{schema-defs-QZJS6UXN.mjs → schema-defs-4MEJETVX.mjs} +2 -2
  99. package/dist/lib/node-esm/{schema-tools-2Y4D42PD.mjs → schema-tools-SRLCRZ3B.mjs} +7 -6
  100. package/dist/lib/node-esm/schema-tools-SRLCRZ3B.mjs.map +7 -0
  101. package/dist/lib/node-esm/{settings-Q4XDFSYD.mjs → settings-TD76LTQS.mjs} +4 -4
  102. package/dist/lib/node-esm/settings-TD76LTQS.mjs.map +7 -0
  103. package/dist/lib/node-esm/{spaces-ready-JHKPD4PH.mjs → spaces-ready-FJMGPAVV.mjs} +12 -13
  104. package/dist/lib/node-esm/spaces-ready-FJMGPAVV.mjs.map +7 -0
  105. package/dist/lib/node-esm/{state-4ATRHSKA.mjs → state-XQNDCN37.mjs} +2 -2
  106. package/dist/lib/node-esm/types/index.mjs +1 -3
  107. package/dist/types/src/SpacePlugin.d.ts.map +1 -1
  108. package/dist/types/src/capabilities/app-graph-builder.d.ts.map +1 -1
  109. package/dist/types/src/capabilities/app-graph-serializer.d.ts.map +1 -1
  110. package/dist/types/src/capabilities/capabilities.d.ts +8 -1
  111. package/dist/types/src/capabilities/capabilities.d.ts.map +1 -1
  112. package/dist/types/src/capabilities/identity-created.d.ts.map +1 -1
  113. package/dist/types/src/capabilities/intent-resolver.d.ts.map +1 -1
  114. package/dist/types/src/capabilities/react-surface.d.ts.map +1 -1
  115. package/dist/types/src/capabilities/schema-tools.d.ts.map +1 -1
  116. package/dist/types/src/capabilities/settings.d.ts.map +1 -1
  117. package/dist/types/src/capabilities/spaces-ready.d.ts.map +1 -1
  118. package/dist/types/src/components/CollectionMain.d.ts +2 -2
  119. package/dist/types/src/components/CollectionMain.d.ts.map +1 -1
  120. package/dist/types/src/components/CollectionSection.d.ts +2 -2
  121. package/dist/types/src/components/CollectionSection.d.ts.map +1 -1
  122. package/dist/types/src/components/CreateDialog/CreateObjectDialog.d.ts +3 -3
  123. package/dist/types/src/components/CreateDialog/CreateObjectDialog.d.ts.map +1 -1
  124. package/dist/types/src/components/CreateDialog/CreateObjectDialog.stories.d.ts.map +1 -1
  125. package/dist/types/src/components/CreateDialog/CreateObjectPanel.d.ts +8 -7
  126. package/dist/types/src/components/CreateDialog/CreateObjectPanel.d.ts.map +1 -1
  127. package/dist/types/src/components/CreateDialog/CreateSpaceDialog.d.ts.map +1 -1
  128. package/dist/types/src/components/MembersContainer.d.ts.map +1 -1
  129. package/dist/types/src/components/MenuFooter.d.ts +2 -2
  130. package/dist/types/src/components/MenuFooter.d.ts.map +1 -1
  131. package/dist/types/src/components/ObjectSettings/AdvancedObjectSettings.d.ts +2 -2
  132. package/dist/types/src/components/ObjectSettings/AdvancedObjectSettings.d.ts.map +1 -1
  133. package/dist/types/src/components/ObjectSettings/BaseObjectSettings.d.ts +2 -2
  134. package/dist/types/src/components/ObjectSettings/BaseObjectSettings.d.ts.map +1 -1
  135. package/dist/types/src/components/ObjectSettings/ObjectSettingsContainer.d.ts +2 -2
  136. package/dist/types/src/components/ObjectSettings/ObjectSettingsContainer.d.ts.map +1 -1
  137. package/dist/types/src/components/SchemaContainer.d.ts +2 -2
  138. package/dist/types/src/components/SchemaContainer.d.ts.map +1 -1
  139. package/dist/types/src/components/SpacePluginSettings.d.ts.map +1 -1
  140. package/dist/types/src/components/SpacePresence.d.ts +2 -2
  141. package/dist/types/src/components/SpacePresence.d.ts.map +1 -1
  142. package/dist/types/src/components/SpaceSettings/SpaceSettingsContainer.d.ts.map +1 -1
  143. package/dist/types/src/events.d.ts +1 -3
  144. package/dist/types/src/events.d.ts.map +1 -1
  145. package/dist/types/src/translations.d.ts +275 -2
  146. package/dist/types/src/translations.d.ts.map +1 -1
  147. package/dist/types/src/types/index.d.ts +0 -1
  148. package/dist/types/src/types/index.d.ts.map +1 -1
  149. package/dist/types/src/types/types.d.ts +81 -12
  150. package/dist/types/src/types/types.d.ts.map +1 -1
  151. package/dist/types/src/util.d.ts +16 -11
  152. package/dist/types/src/util.d.ts.map +1 -1
  153. package/package.json +45 -45
  154. package/src/{SpacePlugin.tsx → SpacePlugin.ts} +30 -10
  155. package/src/capabilities/app-graph-builder.ts +74 -20
  156. package/src/capabilities/app-graph-serializer.ts +11 -8
  157. package/src/capabilities/capabilities.ts +6 -1
  158. package/src/capabilities/identity-created.ts +5 -4
  159. package/src/capabilities/intent-resolver.ts +60 -36
  160. package/src/capabilities/react-surface.tsx +105 -29
  161. package/src/capabilities/schema-tools.ts +3 -2
  162. package/src/capabilities/settings.ts +6 -2
  163. package/src/capabilities/spaces-ready.ts +7 -8
  164. package/src/components/CollectionMain.tsx +3 -3
  165. package/src/components/CollectionSection.tsx +2 -2
  166. package/src/components/CreateDialog/CreateObjectDialog.stories.tsx +7 -6
  167. package/src/components/CreateDialog/CreateObjectDialog.tsx +31 -25
  168. package/src/components/CreateDialog/CreateObjectPanel.tsx +45 -52
  169. package/src/components/CreateDialog/CreateSpaceDialog.tsx +6 -5
  170. package/src/components/MembersContainer.tsx +4 -2
  171. package/src/components/MenuFooter.tsx +3 -2
  172. package/src/components/ObjectSettings/AdvancedObjectSettings.tsx +12 -4
  173. package/src/components/ObjectSettings/BaseObjectSettings.tsx +7 -7
  174. package/src/components/ObjectSettings/ObjectSettingsContainer.tsx +4 -4
  175. package/src/components/SchemaContainer.tsx +3 -3
  176. package/src/components/SpacePluginSettings.tsx +24 -19
  177. package/src/components/SpacePresence.tsx +22 -15
  178. package/src/components/SpaceSettings/SpaceSettingsContainer.tsx +2 -1
  179. package/src/events.ts +1 -5
  180. package/src/translations.ts +30 -14
  181. package/src/types/index.ts +0 -1
  182. package/src/types/types.ts +32 -11
  183. package/src/util.tsx +136 -57
  184. package/dist/lib/browser/app-graph-builder-DCWUULKX.mjs.map +0 -7
  185. package/dist/lib/browser/app-graph-serializer-MLU7XI2P.mjs.map +0 -7
  186. package/dist/lib/browser/chunk-3LN4LJN6.mjs.map +0 -7
  187. package/dist/lib/browser/chunk-N5QMRLKI.mjs.map +0 -7
  188. package/dist/lib/browser/chunk-VEBKN45O.mjs.map +0 -7
  189. package/dist/lib/browser/chunk-W46VVHFM.mjs +0 -288
  190. package/dist/lib/browser/chunk-W46VVHFM.mjs.map +0 -7
  191. package/dist/lib/browser/chunk-ZQEIXWBK.mjs.map +0 -7
  192. package/dist/lib/browser/identity-created-O63SIYOF.mjs.map +0 -7
  193. package/dist/lib/browser/intent-resolver-PG473BRV.mjs.map +0 -7
  194. package/dist/lib/browser/react-surface-QOP7T66K.mjs.map +0 -7
  195. package/dist/lib/browser/schema-tools-JIEMHUXV.mjs.map +0 -7
  196. package/dist/lib/browser/settings-2IN2WLUK.mjs.map +0 -7
  197. package/dist/lib/browser/spaces-ready-L4QAGTDE.mjs.map +0 -7
  198. package/dist/lib/node/app-graph-builder-WC445X77.cjs.map +0 -7
  199. package/dist/lib/node/app-graph-serializer-UPQOQVMJ.cjs.map +0 -7
  200. package/dist/lib/node/chunk-7GQGM4ZF.cjs.map +0 -7
  201. package/dist/lib/node/chunk-COQYISES.cjs.map +0 -7
  202. package/dist/lib/node/chunk-DXL5TDFP.cjs.map +0 -7
  203. package/dist/lib/node/chunk-FXHI7JNY.cjs +0 -315
  204. package/dist/lib/node/chunk-FXHI7JNY.cjs.map +0 -7
  205. package/dist/lib/node/chunk-USFHJG7C.cjs.map +0 -7
  206. package/dist/lib/node/identity-created-UXEAUGC7.cjs.map +0 -7
  207. package/dist/lib/node/intent-resolver-VPVZSSIL.cjs.map +0 -7
  208. package/dist/lib/node/react-surface-ZIYDBL3C.cjs.map +0 -7
  209. package/dist/lib/node/schema-tools-ZG6Z2QRC.cjs.map +0 -7
  210. package/dist/lib/node/settings-FOH7EB5C.cjs.map +0 -7
  211. package/dist/lib/node/spaces-ready-VXQYCBII.cjs.map +0 -7
  212. package/dist/lib/node-esm/app-graph-builder-E7CCGPQJ.mjs.map +0 -7
  213. package/dist/lib/node-esm/app-graph-serializer-UCMSLPIA.mjs.map +0 -7
  214. package/dist/lib/node-esm/chunk-4X4Y63ND.mjs.map +0 -7
  215. package/dist/lib/node-esm/chunk-BE2BLE7K.mjs.map +0 -7
  216. package/dist/lib/node-esm/chunk-FTELJGEG.mjs +0 -289
  217. package/dist/lib/node-esm/chunk-FTELJGEG.mjs.map +0 -7
  218. package/dist/lib/node-esm/chunk-OSPEGYX3.mjs.map +0 -7
  219. package/dist/lib/node-esm/chunk-XAZNQ3QN.mjs.map +0 -7
  220. package/dist/lib/node-esm/identity-created-ZECO4NH3.mjs.map +0 -7
  221. package/dist/lib/node-esm/intent-resolver-SK5LP5ZK.mjs.map +0 -7
  222. package/dist/lib/node-esm/react-surface-XNUWZCSH.mjs.map +0 -7
  223. package/dist/lib/node-esm/schema-tools-2Y4D42PD.mjs.map +0 -7
  224. package/dist/lib/node-esm/settings-Q4XDFSYD.mjs.map +0 -7
  225. package/dist/lib/node-esm/spaces-ready-JHKPD4PH.mjs.map +0 -7
  226. package/dist/types/src/types/collection.d.ts +0 -15
  227. package/dist/types/src/types/collection.d.ts.map +0 -1
  228. package/src/types/collection.ts +0 -18
  229. /package/dist/lib/browser/{react-root-FRDC4UXB.mjs.map → react-root-QIKHSNT2.mjs.map} +0 -0
  230. /package/dist/lib/browser/{schema-defs-JMN74RNK.mjs.map → schema-defs-WREJNMIC.mjs.map} +0 -0
  231. /package/dist/lib/browser/{state-6HOSHLIN.mjs.map → state-HRZ4VRXU.mjs.map} +0 -0
  232. /package/dist/lib/node/{react-root-JXLRINF3.cjs.map → react-root-RQUU3A45.cjs.map} +0 -0
  233. /package/dist/lib/node/{schema-defs-XLFBG3XK.cjs.map → schema-defs-OB2X2HBH.cjs.map} +0 -0
  234. /package/dist/lib/node/{state-ZT3MTZXB.cjs.map → state-M35DK75Z.cjs.map} +0 -0
  235. /package/dist/lib/node-esm/{react-root-K2KRGIT7.mjs.map → react-root-YFGL3B4J.mjs.map} +0 -0
  236. /package/dist/lib/node-esm/{schema-defs-QZJS6UXN.mjs.map → schema-defs-4MEJETVX.mjs.map} +0 -0
  237. /package/dist/lib/node-esm/{state-4ATRHSKA.mjs.map → state-XQNDCN37.mjs.map} +0 -0
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/capabilities/schema-tools.ts"],
4
- "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { Schema, SchemaAST } from 'effect';\n\nimport { createTool, ToolResult } from '@dxos/ai';\nimport { Capabilities, contributes, type PromiseIntentDispatcher } from '@dxos/app-framework';\nimport { type Space } from '@dxos/client/echo';\nimport { FormatEnum, FormatEnums, SelectOptionSchema, GeoPoint, toJsonSchema } from '@dxos/echo-schema';\nimport { invariant } from '@dxos/invariant';\nimport { hues } from '@dxos/react-ui-theme';\nimport { getSchemaFromPropertyDefinitions } from '@dxos/schema';\n\n// TODO(burdon): Factor out.\ndeclare global {\n interface ToolContextExtensions {\n space?: Space;\n dispatch?: PromiseIntentDispatcher;\n }\n}\n\n// TODO(ZaymonFC): Move this somewhere common.\nexport const TypeNameSchema = Schema.String.pipe(\n Schema.pattern(/^\\w+\\.\\w{2,}\\/[\\w/]+$/i),\n Schema.annotations({\n title: 'TypeName',\n description:\n 'Domain-style type name path. Dashes are not allowed. Use camel case for the final component of the type name.',\n [SchemaAST.ExamplesAnnotationId]: ['example.com/type/Document', 'example.com/type/FlightList'],\n }),\n);\n\nconst formatDescription = `The format of the property. Additional information:\n ${FormatEnum.GeoPoint}: ${JSON.stringify(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 = Schema.Struct({\n name: Schema.String.annotations({ description: 'The name of the property.' }),\n format: Schema.Union(...FormatEnums.map((format) => Schema.Literal(format))).annotations({\n description: formatDescription,\n }),\n config: Schema.optional(\n Schema.Struct({\n options: Schema.optional(\n Schema.Array(SelectOptionSchema)\n .annotations({\n description: `Options for SingleSelect/MultiSelect formats. Available colors: ${hues.join(', ')}`,\n })\n .pipe(Schema.mutable),\n ),\n }),\n ),\n}).pipe(Schema.mutable);\n\nconst SYSTEM_NAMESPACE = 'dxos.org/echo/schema';\n\nexport default () =>\n contributes(Capabilities.Tools, [\n createTool(SYSTEM_NAMESPACE, {\n name: 'list',\n description: 'List registered schemas in the space.',\n caption: 'Listing registered schemas...',\n schema: Schema.Struct({}),\n execute: async (_input, { extensions }) => {\n invariant(extensions?.space, 'No space.');\n const space = extensions.space;\n\n const schemas = await space.db.schemaRegistry.query({}).run();\n return ToolResult.Success(\n schemas.map((schema) => ({\n typename: schema.typename,\n version: schema.version,\n })),\n );\n },\n }),\n createTool(SYSTEM_NAMESPACE, {\n name: 'get',\n description: 'Get a specific schema by its typename.',\n caption: 'Getting schema...',\n schema: Schema.Struct({\n typename: Schema.String.annotations({\n description: 'The fully qualified typename of the schema.',\n }),\n }),\n execute: async ({ typename }, { extensions }) => {\n invariant(extensions?.space, 'No space.');\n const space = extensions.space;\n\n const schema = await space.db.schemaRegistry.query({ typename }).firstOrUndefined();\n if (!schema) {\n return ToolResult.Error(`Schema not found: ${typename}`);\n }\n\n return ToolResult.Success(schema);\n },\n }),\n createTool(SYSTEM_NAMESPACE, {\n name: 'create',\n description: 'Create a new schema with the provided definition.',\n caption: 'Creating schema...',\n schema: Schema.Struct({\n typename: TypeNameSchema.annotations({\n description:\n 'The fully qualified schema typename. Must start with a domain, and then one or more path components (e.g., \"example.com/type/TypeName\").',\n }),\n properties: Schema.Array(PropertyDefinitionSchema).pipe(\n Schema.annotations({ description: 'Array of property definitions for the schema.' }),\n Schema.mutable,\n ),\n }),\n execute: async ({ typename, properties }, { extensions }) => {\n invariant(extensions?.space, 'No space.');\n const space = extensions.space;\n\n const schema = getSchemaFromPropertyDefinitions(typename, properties);\n const [registeredSchema] = await space.db.schemaRegistry.register([schema]);\n\n return ToolResult.Success(registeredSchema);\n },\n }),\n ]);\n"],
5
- "mappings": "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",
6
- "names": ["Schema", "SchemaAST", "createTool", "ToolResult", "Capabilities", "contributes", "FormatEnum", "FormatEnums", "SelectOptionSchema", "GeoPoint", "toJsonSchema", "invariant", "hues", "getSchemaFromPropertyDefinitions", "TypeNameSchema", "String", "pipe", "pattern", "annotations", "title", "description", "ExamplesAnnotationId", "formatDescription", "JSON", "stringify", "PropertyDefinitionSchema", "Struct", "name", "format", "Union", "map", "Literal", "config", "optional", "options", "Array", "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,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/capabilities/settings.ts"],
4
- "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { Capabilities, contributes } from '@dxos/app-framework';\nimport { live } from '@dxos/live-object';\n\nimport { SPACE_PLUGIN } from '../meta';\nimport { type SpaceSettingsProps, SpaceSettingsSchema } from '../types';\n\nexport default () => {\n const settings = live<SpaceSettingsProps>({\n showHidden: false,\n });\n\n return contributes(Capabilities.Settings, { schema: SpaceSettingsSchema, prefix: SPACE_PLUGIN, value: settings });\n};\n"],
5
- "mappings": ";;;;;;;;;AAIA,SAASA,cAAcC,mBAAmB;AAC1C,SAASC,YAAY;AAKrB,IAAA,mBAAe,MAAA;AACb,QAAMC,WAAWC,KAAyB;IACxCC,YAAY;EACd,CAAA;AAEA,SAAOC,YAAYC,aAAaC,UAAU;IAAEC,QAAQC;IAAqBC,QAAQC;IAAcC,OAAOV;EAAS,CAAA;AACjH;",
6
- "names": ["Capabilities", "contributes", "live", "settings", "live", "showHidden", "contributes", "Capabilities", "Settings", "schema", "SpaceSettingsSchema", "prefix", "SPACE_PLUGIN", "value"]
7
- }
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/capabilities/spaces-ready.ts"],
4
- "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { Option } from 'effect';\n\nimport { contributes, createIntent, type PluginContext, Capabilities, LayoutAction } from '@dxos/app-framework';\nimport { SubscriptionList } from '@dxos/async';\nimport { Expando } from '@dxos/echo-schema';\nimport { scheduledEffect } from '@dxos/echo-signals/core';\nimport { live } from '@dxos/live-object';\nimport { log } from '@dxos/log';\nimport { AttentionCapabilities } from '@dxos/plugin-attention';\nimport { ClientCapabilities } from '@dxos/plugin-client';\nimport { DeckCapabilities } from '@dxos/plugin-deck';\nimport { EdgeReplicationSetting } from '@dxos/protocols/proto/dxos/echo/metadata';\nimport { PublicKey } from '@dxos/react-client';\nimport { Filter, FQ_ID_LENGTH, parseFullyQualifiedId, SpaceState } from '@dxos/react-client/echo';\nimport { ComplexMap, reduceGroupBy } from '@dxos/util';\n\nimport { SpaceCapabilities } from './capabilities';\nimport { SpaceAction } from '../types';\nimport { COMPOSER_SPACE_LOCK, SHARED } from '../util';\n\nconst ACTIVE_NODE_BROADCAST_INTERVAL = 30_000;\nconst WAIT_FOR_OBJECT_TIMEOUT = 5_000;\n\nexport default async (context: PluginContext) => {\n const subscriptions = new SubscriptionList();\n const spaceSubscriptions = new SubscriptionList();\n\n const { dispatchPromise: dispatch } = context.getCapability(Capabilities.IntentDispatcher);\n const { graph } = context.getCapability(Capabilities.AppGraph);\n const layout = context.getCapability(Capabilities.Layout);\n const deck = context.getCapability(DeckCapabilities.DeckState);\n const attention = context.getCapability(AttentionCapabilities.Attention);\n const state = context.getCapability(SpaceCapabilities.MutableState);\n const client = context.getCapability(ClientCapabilities.Client);\n\n const defaultSpace = client.spaces.default;\n await defaultSpace.waitUntilReady();\n\n if (deck.activeDeck === 'default') {\n await dispatch(createIntent(LayoutAction.SwitchWorkspace, { part: 'workspace', subject: defaultSpace.id }));\n }\n\n // Initialize space sharing lock in default space.\n if (typeof defaultSpace.properties[COMPOSER_SPACE_LOCK] !== 'boolean') {\n defaultSpace.properties[COMPOSER_SPACE_LOCK] = true;\n }\n\n const {\n objects: [spacesOrder],\n } = await defaultSpace.db.query(Filter.type(Expando, { key: SHARED })).run();\n if (!spacesOrder) {\n // TODO(wittjosiah): Cannot be a Folder because Spaces are not TypedObjects so can't be saved in the database.\n // Instead, we store order as an array of space ids.\n defaultSpace.db.add(live({ key: SHARED, order: [] }));\n }\n\n // Await missing objects.\n subscriptions.add(\n scheduledEffect(\n () => ({ active: layout.active }),\n ({ active }) => {\n if (active.length !== 1) {\n return;\n }\n\n const node = graph.getNode(active[0]).pipe(Option.getOrNull);\n if (!node && active[0].length === FQ_ID_LENGTH) {\n const timeout = setTimeout(async () => {\n const node = graph.getNode(active[0]).pipe(Option.getOrNull);\n if (!node) {\n await dispatch(createIntent(SpaceAction.WaitForObject, { id: active[0] }));\n }\n }, WAIT_FOR_OBJECT_TIMEOUT);\n\n return () => clearTimeout(timeout);\n }\n },\n ),\n );\n\n // Cache space names.\n subscriptions.add(\n client.spaces.subscribe(async (spaces) => {\n // TODO(wittjosiah): Remove. This is a hack to be able to migrate the default space properties.\n if (defaultSpace.state.get() === SpaceState.SPACE_REQUIRES_MIGRATION) {\n await defaultSpace.internal.migrate();\n }\n\n spaces\n .filter((space) => space.state.get() === SpaceState.SPACE_READY)\n .forEach((space) => {\n subscriptions.add(\n scheduledEffect(\n () => ({ name: space.properties.name }),\n ({ name }) => (state.spaceNames[space.id] = name),\n ),\n );\n });\n }).unsubscribe,\n );\n\n // Broadcast active node to other peers in the space.\n subscriptions.add(\n scheduledEffect(\n () => ({ current: attention.current, active: layout.active, inactive: layout.inactive }),\n ({ current, active, inactive }) => {\n const send = () => {\n const spaces = client.spaces.get();\n const identity = client.halo.identity.get();\n if (identity) {\n // Group parts by space for efficient messaging.\n const idsBySpace = reduceGroupBy(active, (id) => {\n try {\n const [spaceId] = parseFullyQualifiedId(id);\n return spaceId;\n } catch {\n return null;\n }\n });\n\n const removedBySpace = reduceGroupBy(inactive, (id) => {\n try {\n const [spaceId] = parseFullyQualifiedId(id);\n return spaceId;\n } catch {\n return null;\n }\n });\n\n // NOTE: Ensure all spaces are included so that we send the correct `removed` object arrays.\n for (const space of spaces) {\n if (!idsBySpace.has(space.id)) {\n idsBySpace.set(space.id, []);\n }\n }\n\n for (const [spaceId, added] of idsBySpace) {\n const removed = removedBySpace.get(spaceId) ?? [];\n const space = spaces.find((space) => space.id === spaceId);\n if (!space) {\n continue;\n }\n\n void space\n .postMessage('viewing', {\n identityKey: identity.identityKey.toHex(),\n attended: current,\n added,\n removed,\n })\n // TODO(burdon): This seems defensive; why would this fail? Backoff interval.\n .catch((err) => {\n log.warn('Failed to broadcast active node for presence.', { err: err.message });\n });\n }\n }\n };\n\n send();\n // Send at interval to allow peers to expire entries if they become disconnected.\n const interval = setInterval(() => send(), ACTIVE_NODE_BROADCAST_INTERVAL);\n return () => clearInterval(interval);\n },\n ),\n );\n\n // Listen for active nodes from other peers in the space.\n subscriptions.add(\n client.spaces.subscribe((spaces) => {\n spaceSubscriptions.clear();\n spaces.forEach((space) => {\n spaceSubscriptions.add(\n space.listen('viewing', (message) => {\n const { added, removed, attended } = message.payload;\n\n const identityKey = PublicKey.safeFrom(message.payload.identityKey);\n const currentIdentity = client.halo.identity.get();\n if (\n identityKey &&\n !currentIdentity?.identityKey.equals(identityKey) &&\n Array.isArray(added) &&\n Array.isArray(removed)\n ) {\n added.forEach((id) => {\n if (typeof id === 'string') {\n if (!(id in state.viewersByObject)) {\n state.viewersByObject[id] = new ComplexMap(PublicKey.hash);\n }\n state.viewersByObject[id]!.set(identityKey, {\n lastSeen: Date.now(),\n currentlyAttended: new Set(attended).has(id),\n });\n if (!state.viewersByIdentity.has(identityKey)) {\n state.viewersByIdentity.set(identityKey, new Set());\n }\n state.viewersByIdentity.get(identityKey)!.add(id);\n }\n });\n\n removed.forEach((id) => {\n if (typeof id === 'string') {\n state.viewersByObject[id]?.delete(identityKey);\n state.viewersByIdentity.get(identityKey)?.delete(id);\n // It’s okay for these to be empty sets/maps, reduces churn.\n }\n });\n }\n }),\n );\n });\n }).unsubscribe,\n );\n\n // Enable edge replication for all spaces.\n try {\n await Promise.all(\n client.spaces.get().map((space) => space.internal.setEdgeReplicationPreference(EdgeReplicationSetting.ENABLED)),\n );\n state.enabledEdgeReplication = true;\n } catch (err) {\n log.catch(err);\n }\n\n return contributes(Capabilities.Null, null, () => {\n spaceSubscriptions.clear();\n subscriptions.clear();\n });\n};\n"],
5
- "mappings": "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",
6
- "names": ["Option", "contributes", "createIntent", "Capabilities", "LayoutAction", "SubscriptionList", "Expando", "scheduledEffect", "live", "log", "AttentionCapabilities", "ClientCapabilities", "DeckCapabilities", "EdgeReplicationSetting", "PublicKey", "Filter", "FQ_ID_LENGTH", "parseFullyQualifiedId", "SpaceState", "ComplexMap", "reduceGroupBy", "ACTIVE_NODE_BROADCAST_INTERVAL", "WAIT_FOR_OBJECT_TIMEOUT", "context", "subscriptions", "SubscriptionList", "spaceSubscriptions", "dispatchPromise", "dispatch", "getCapability", "Capabilities", "IntentDispatcher", "graph", "AppGraph", "layout", "Layout", "deck", "DeckCapabilities", "DeckState", "attention", "AttentionCapabilities", "Attention", "state", "SpaceCapabilities", "MutableState", "client", "ClientCapabilities", "Client", "defaultSpace", "spaces", "default", "waitUntilReady", "activeDeck", "createIntent", "LayoutAction", "SwitchWorkspace", "part", "subject", "id", "properties", "COMPOSER_SPACE_LOCK", "objects", "spacesOrder", "db", "query", "Filter", "type", "Expando", "key", "SHARED", "run", "add", "live", "order", "scheduledEffect", "active", "length", "node", "getNode", "pipe", "Option", "getOrNull", "FQ_ID_LENGTH", "timeout", "setTimeout", "SpaceAction", "WaitForObject", "clearTimeout", "subscribe", "get", "SpaceState", "SPACE_REQUIRES_MIGRATION", "internal", "migrate", "filter", "space", "SPACE_READY", "forEach", "name", "spaceNames", "unsubscribe", "current", "inactive", "send", "identity", "halo", "idsBySpace", "reduceGroupBy", "spaceId", "parseFullyQualifiedId", "removedBySpace", "has", "set", "added", "removed", "find", "postMessage", "identityKey", "toHex", "attended", "catch", "err", "log", "warn", "message", "interval", "setInterval", "clearInterval", "clear", "listen", "payload", "PublicKey", "safeFrom", "currentIdentity", "equals", "Array", "isArray", "viewersByObject", "ComplexMap", "hash", "lastSeen", "Date", "now", "currentlyAttended", "Set", "viewersByIdentity", "delete", "Promise", "all", "map", "setEdgeReplicationPreference", "EdgeReplicationSetting", "ENABLED", "enabledEdgeReplication", "contributes", "Null"]
7
- }
@@ -1,15 +0,0 @@
1
- import { Schema } from 'effect';
2
- import { Expando } from '@dxos/echo-schema';
3
- declare const CollectionType_base: import("@dxos/echo-schema").TypedObjectPrototype<import("@dxos/echo-schema").TypedObjectFields<{
4
- name: Schema.optional<typeof Schema.String>;
5
- objects: Schema.mutable<Schema.Array$<import("@dxos/echo-schema").Ref$<Expando>>>;
6
- views: Schema.mutable<Schema.Record$<typeof Schema.String, import("@dxos/echo-schema").Ref$<Expando>>>;
7
- }, import("@dxos/echo-schema").TypedObjectOptions>, Schema.Struct.Encoded<{
8
- name: Schema.optional<typeof Schema.String>;
9
- objects: Schema.mutable<Schema.Array$<import("@dxos/echo-schema").Ref$<Expando>>>;
10
- views: Schema.mutable<Schema.Record$<typeof Schema.String, import("@dxos/echo-schema").Ref$<Expando>>>;
11
- }>>;
12
- export declare class CollectionType extends CollectionType_base {
13
- }
14
- export {};
15
- //# sourceMappingURL=collection.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"collection.d.ts","sourceRoot":"","sources":["../../../../src/types/collection.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAEhC,OAAO,EAAE,OAAO,EAAoB,MAAM,mBAAmB,CAAC;;;;;;;;;;AAE9D,qBAAa,cAAe,SAAQ,mBASlC;CAAG"}
@@ -1,18 +0,0 @@
1
- //
2
- // Copyright 2024 DXOS.org
3
- //
4
-
5
- import { Schema } from 'effect';
6
-
7
- import { Expando, Ref, TypedObject } from '@dxos/echo-schema';
8
-
9
- export class CollectionType extends TypedObject({ typename: 'dxos.org/type/Collection', version: '0.1.0' })({
10
- name: Schema.optional(Schema.String),
11
- objects: Schema.mutable(Schema.Array(Ref(Expando))),
12
- // Key is schema typename and value is reference to a view object of the associated schema.
13
- // Having collection reference the views rather than vice versa ensures that the state converges to a single view per key (i.e. type).
14
- // This also leaves open a future where this key could be changed to allow for multiple stack views per section.
15
- // TODO(wittjosiah): Any way to make this more type safe?
16
- // TODO(wittjosiah): Should the views be separate objects or just be schemas for view data in this record?
17
- views: Schema.mutable(Schema.Record({ key: Schema.String, value: Ref(Expando) })),
18
- }) {}