@dxos/echo 0.8.4-staging.ac66bdf99f → 0.9.0

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 (437) hide show
  1. package/LICENSE +102 -5
  2. package/README.md +7 -7
  3. package/dist/lib/neutral/Annotation.mjs +37 -6
  4. package/dist/lib/neutral/Database.mjs +6 -17
  5. package/dist/lib/neutral/Entity.mjs +31 -20
  6. package/dist/lib/neutral/Err.mjs +3 -3
  7. package/dist/lib/neutral/Feed.mjs +23 -19
  8. package/dist/lib/neutral/Filter.mjs +13 -15
  9. package/dist/lib/neutral/Format.mjs +23 -3
  10. package/dist/lib/neutral/JsonSchema.mjs +7 -8
  11. package/dist/lib/neutral/Key.mjs +9 -5
  12. package/dist/lib/neutral/Migration.mjs +11 -10
  13. package/dist/lib/neutral/Obj.mjs +29 -20
  14. package/dist/lib/neutral/Order.mjs +7 -3
  15. package/dist/lib/neutral/Query.mjs +17 -17
  16. package/dist/lib/neutral/QueryResult.mjs +1 -1
  17. package/dist/lib/neutral/Ref.mjs +10 -9
  18. package/dist/lib/neutral/Registry.mjs +14 -0
  19. package/dist/lib/neutral/Relation.mjs +28 -25
  20. package/dist/lib/neutral/Scope.mjs +12 -0
  21. package/dist/lib/neutral/Tag.mjs +17 -14
  22. package/dist/lib/neutral/Type.mjs +54 -26
  23. package/dist/lib/neutral/{chunk-OMUPQMLR.mjs → chunk-35INCYOE.mjs} +1 -1
  24. package/dist/lib/neutral/chunk-35INCYOE.mjs.map +7 -0
  25. package/dist/lib/neutral/chunk-3PBP4V4O.mjs +101 -0
  26. package/dist/lib/neutral/chunk-3PBP4V4O.mjs.map +7 -0
  27. package/dist/lib/neutral/chunk-4ZUHOTCG.mjs +184 -0
  28. package/dist/lib/neutral/chunk-4ZUHOTCG.mjs.map +7 -0
  29. package/dist/lib/neutral/chunk-5SMDBFVB.mjs +108 -0
  30. package/dist/lib/neutral/chunk-5SMDBFVB.mjs.map +7 -0
  31. package/dist/lib/neutral/{chunk-OS35K56T.mjs → chunk-5SUJPHAE.mjs} +3 -3
  32. package/dist/lib/neutral/{chunk-OS35K56T.mjs.map → chunk-5SUJPHAE.mjs.map} +2 -2
  33. package/dist/lib/neutral/{chunk-GZQTCRJB.mjs → chunk-6M2Z6WBH.mjs} +22 -2
  34. package/dist/lib/neutral/chunk-6M2Z6WBH.mjs.map +7 -0
  35. package/dist/lib/neutral/{chunk-V36VO5SS.mjs → chunk-6YDI3J37.mjs} +32 -40
  36. package/dist/lib/neutral/chunk-6YDI3J37.mjs.map +7 -0
  37. package/dist/lib/neutral/{chunk-MOR5ERFM.mjs → chunk-7FPIAJIV.mjs} +701 -1256
  38. package/dist/lib/neutral/chunk-7FPIAJIV.mjs.map +7 -0
  39. package/dist/lib/neutral/{chunk-ANHVGJI4.mjs → chunk-7LOUAPYZ.mjs} +9 -5
  40. package/dist/lib/neutral/chunk-7LOUAPYZ.mjs.map +7 -0
  41. package/dist/lib/neutral/{chunk-JUXPFOEI.mjs → chunk-7PI7C4EF.mjs} +48 -88
  42. package/dist/lib/neutral/chunk-7PI7C4EF.mjs.map +7 -0
  43. package/dist/lib/neutral/{chunk-UBEZSGXY.mjs → chunk-BBFJWWAV.mjs} +6 -6
  44. package/dist/lib/neutral/chunk-BBFJWWAV.mjs.map +7 -0
  45. package/dist/lib/neutral/{chunk-UI6MWK5W.mjs → chunk-EVK6XBXO.mjs} +16 -2
  46. package/dist/lib/neutral/chunk-EVK6XBXO.mjs.map +7 -0
  47. package/dist/lib/neutral/{chunk-7RO7CPBZ.mjs → chunk-IGK6FN65.mjs} +2 -2
  48. package/dist/lib/neutral/{chunk-HBUZJNZO.mjs → chunk-LWXVKPPW.mjs} +94 -99
  49. package/dist/lib/neutral/chunk-LWXVKPPW.mjs.map +7 -0
  50. package/dist/lib/neutral/{chunk-BVOFLCVF.mjs → chunk-MZ7K3MLL.mjs} +9 -6
  51. package/dist/lib/neutral/chunk-MZ7K3MLL.mjs.map +7 -0
  52. package/dist/lib/neutral/{chunk-TBKX6JQO.mjs → chunk-O6BH7EPN.mjs} +30 -3
  53. package/dist/lib/neutral/chunk-O6BH7EPN.mjs.map +7 -0
  54. package/dist/lib/neutral/{chunk-EAMSSLZC.mjs → chunk-QQIYS74I.mjs} +83 -46
  55. package/dist/lib/neutral/chunk-QQIYS74I.mjs.map +7 -0
  56. package/dist/lib/neutral/chunk-R5W6DXR4.mjs +678 -0
  57. package/dist/lib/neutral/chunk-R5W6DXR4.mjs.map +7 -0
  58. package/dist/lib/neutral/{chunk-WAK4DMFV.mjs → chunk-RIVWNMSF.mjs} +12 -7
  59. package/dist/lib/neutral/chunk-RIVWNMSF.mjs.map +7 -0
  60. package/dist/lib/neutral/{chunk-T6W2LEZU.mjs → chunk-SBVFRTST.mjs} +73 -38
  61. package/dist/lib/neutral/chunk-SBVFRTST.mjs.map +7 -0
  62. package/dist/lib/neutral/chunk-T6E37YIP.mjs +251 -0
  63. package/dist/lib/neutral/chunk-T6E37YIP.mjs.map +7 -0
  64. package/dist/lib/neutral/{chunk-DQYLD2RB.mjs → chunk-TFEWTY5A.mjs} +155 -129
  65. package/dist/lib/neutral/chunk-TFEWTY5A.mjs.map +7 -0
  66. package/dist/lib/neutral/{chunk-B4BASU6W.mjs → chunk-TYGKCRMK.mjs} +85 -76
  67. package/dist/lib/neutral/chunk-TYGKCRMK.mjs.map +7 -0
  68. package/dist/lib/neutral/{chunk-4OIBYSXE.mjs → chunk-UUP46KUQ.mjs} +78 -32
  69. package/dist/lib/neutral/chunk-UUP46KUQ.mjs.map +7 -0
  70. package/dist/lib/neutral/chunk-WISOH2XH.mjs +36 -0
  71. package/dist/lib/neutral/chunk-WISOH2XH.mjs.map +7 -0
  72. package/dist/lib/neutral/{chunk-G3IQMKF7.mjs → chunk-WTQJHC75.mjs} +111 -112
  73. package/dist/lib/neutral/chunk-WTQJHC75.mjs.map +7 -0
  74. package/dist/lib/neutral/chunk-WU3GIANS.mjs +31 -0
  75. package/dist/lib/neutral/chunk-WU3GIANS.mjs.map +7 -0
  76. package/dist/lib/neutral/{chunk-TU3GW67D.mjs → chunk-ZGNNFYHS.mjs} +40 -40
  77. package/dist/lib/neutral/chunk-ZGNNFYHS.mjs.map +7 -0
  78. package/dist/lib/neutral/index.mjs +47 -41
  79. package/dist/lib/neutral/internal/index.mjs +137 -72
  80. package/dist/lib/neutral/meta.json +1 -1
  81. package/dist/lib/neutral/testing/index.mjs +261 -178
  82. package/dist/lib/neutral/testing/index.mjs.map +4 -4
  83. package/dist/types/src/Annotation.d.ts +108 -4
  84. package/dist/types/src/Annotation.d.ts.map +1 -1
  85. package/dist/types/src/Annotation.test.d.ts +2 -0
  86. package/dist/types/src/Annotation.test.d.ts.map +1 -0
  87. package/dist/types/src/Collection.d.ts +2 -3
  88. package/dist/types/src/Collection.d.ts.map +1 -1
  89. package/dist/types/src/Database.d.ts +56 -49
  90. package/dist/types/src/Database.d.ts.map +1 -1
  91. package/dist/types/src/Dataset.d.ts +16 -6
  92. package/dist/types/src/Dataset.d.ts.map +1 -1
  93. package/dist/types/src/Entity.d.ts +101 -28
  94. package/dist/types/src/Entity.d.ts.map +1 -1
  95. package/dist/types/src/Err.d.ts +27 -27
  96. package/dist/types/src/Err.d.ts.map +1 -1
  97. package/dist/types/src/Feed.d.ts +66 -19
  98. package/dist/types/src/Feed.d.ts.map +1 -1
  99. package/dist/types/src/Filter.d.ts +38 -12
  100. package/dist/types/src/Filter.d.ts.map +1 -1
  101. package/dist/types/src/Format.d.ts +0 -2
  102. package/dist/types/src/Format.d.ts.map +1 -1
  103. package/dist/types/src/Hypergraph.d.ts +14 -9
  104. package/dist/types/src/Hypergraph.d.ts.map +1 -1
  105. package/dist/types/src/Json.d.ts +33 -0
  106. package/dist/types/src/Json.d.ts.map +1 -0
  107. package/dist/types/src/Json.test.d.ts +2 -0
  108. package/dist/types/src/Json.test.d.ts.map +1 -0
  109. package/dist/types/src/JsonSchema.d.ts +2 -2
  110. package/dist/types/src/JsonSchema.d.ts.map +1 -1
  111. package/dist/types/src/Key.d.ts +1 -1
  112. package/dist/types/src/Key.d.ts.map +1 -1
  113. package/dist/types/src/Migration.d.ts +26 -11
  114. package/dist/types/src/Migration.d.ts.map +1 -1
  115. package/dist/types/src/Obj.d.ts +104 -61
  116. package/dist/types/src/Obj.d.ts.map +1 -1
  117. package/dist/types/src/Order.d.ts +10 -0
  118. package/dist/types/src/Order.d.ts.map +1 -1
  119. package/dist/types/src/Query.d.ts +34 -12
  120. package/dist/types/src/Query.d.ts.map +1 -1
  121. package/dist/types/src/QueryResult.d.ts +21 -0
  122. package/dist/types/src/QueryResult.d.ts.map +1 -1
  123. package/dist/types/src/Ref.d.ts +15 -7
  124. package/dist/types/src/Ref.d.ts.map +1 -1
  125. package/dist/types/src/Registry.d.ts +131 -0
  126. package/dist/types/src/Registry.d.ts.map +1 -0
  127. package/dist/types/src/Relation.d.ts +73 -41
  128. package/dist/types/src/Relation.d.ts.map +1 -1
  129. package/dist/types/src/Scope.d.ts +35 -0
  130. package/dist/types/src/Scope.d.ts.map +1 -0
  131. package/dist/types/src/Tag.d.ts +21 -5
  132. package/dist/types/src/Tag.d.ts.map +1 -1
  133. package/dist/types/src/Type.d.ts +362 -95
  134. package/dist/types/src/Type.d.ts.map +1 -1
  135. package/dist/types/src/View.d.ts +9 -12
  136. package/dist/types/src/View.d.ts.map +1 -1
  137. package/dist/types/src/exemplars.test.d.ts +2 -0
  138. package/dist/types/src/exemplars.test.d.ts.map +1 -0
  139. package/dist/types/src/index.d.ts +4 -3
  140. package/dist/types/src/index.d.ts.map +1 -1
  141. package/dist/types/src/internal/Annotation/annotations.d.ts +79 -38
  142. package/dist/types/src/internal/Annotation/annotations.d.ts.map +1 -1
  143. package/dist/types/src/internal/Annotation/dictionary.d.ts +24 -0
  144. package/dist/types/src/internal/Annotation/dictionary.d.ts.map +1 -0
  145. package/dist/types/src/internal/Annotation/entity-dictionary.d.ts +14 -0
  146. package/dist/types/src/internal/Annotation/entity-dictionary.d.ts.map +1 -0
  147. package/dist/types/src/internal/Annotation/index.d.ts +4 -2
  148. package/dist/types/src/internal/Annotation/index.d.ts.map +1 -1
  149. package/dist/types/src/internal/Annotation/sorting.d.ts.map +1 -1
  150. package/dist/types/src/internal/Annotation/util.d.ts +14 -5
  151. package/dist/types/src/internal/Annotation/util.d.ts.map +1 -1
  152. package/dist/types/src/internal/Entity/api.d.ts +17 -3
  153. package/dist/types/src/internal/Entity/api.d.ts.map +1 -1
  154. package/dist/types/src/internal/Entity/entity.d.ts +72 -8
  155. package/dist/types/src/internal/Entity/entity.d.ts.map +1 -1
  156. package/dist/types/src/internal/Entity/guard.d.ts +10 -0
  157. package/dist/types/src/internal/Entity/guard.d.ts.map +1 -0
  158. package/dist/types/src/internal/Entity/index.d.ts +2 -0
  159. package/dist/types/src/internal/Entity/index.d.ts.map +1 -1
  160. package/dist/types/src/internal/Entity/model.d.ts +21 -17
  161. package/dist/types/src/internal/Entity/model.d.ts.map +1 -1
  162. package/dist/types/src/internal/Entity/object.d.ts +3 -3
  163. package/dist/types/src/internal/Entity/object.d.ts.map +1 -1
  164. package/dist/types/src/internal/Entity/relation.d.ts +30 -7
  165. package/dist/types/src/internal/Entity/relation.d.ts.map +1 -1
  166. package/dist/types/src/internal/Entity/type-kind.d.ts +24 -0
  167. package/dist/types/src/internal/Entity/type-kind.d.ts.map +1 -0
  168. package/dist/types/src/internal/Entity/type-uri.d.ts +24 -0
  169. package/dist/types/src/internal/Entity/type-uri.d.ts.map +1 -0
  170. package/dist/types/src/internal/Entity/version.d.ts.map +1 -1
  171. package/dist/types/src/internal/Format/date.d.ts.map +1 -1
  172. package/dist/types/src/internal/Format/format.d.ts +3 -2
  173. package/dist/types/src/internal/Format/format.d.ts.map +1 -1
  174. package/dist/types/src/internal/Format/index.d.ts +2 -2
  175. package/dist/types/src/internal/Format/index.d.ts.map +1 -1
  176. package/dist/types/src/internal/Format/number.d.ts.map +1 -1
  177. package/dist/types/src/internal/Format/object.d.ts +3 -1
  178. package/dist/types/src/internal/Format/object.d.ts.map +1 -1
  179. package/dist/types/src/internal/Format/types.d.ts.map +1 -1
  180. package/dist/types/src/internal/JsonSchema/json-schema-normalize.d.ts.map +1 -1
  181. package/dist/types/src/internal/JsonSchema/json-schema-type.d.ts +34 -34
  182. package/dist/types/src/internal/JsonSchema/json-schema-type.d.ts.map +1 -1
  183. package/dist/types/src/internal/JsonSchema/json-schema.d.ts +3 -2
  184. package/dist/types/src/internal/JsonSchema/json-schema.d.ts.map +1 -1
  185. package/dist/types/src/internal/Obj/atoms.d.ts +38 -0
  186. package/dist/types/src/internal/Obj/atoms.d.ts.map +1 -0
  187. package/dist/types/src/internal/Obj/clone.d.ts.map +1 -1
  188. package/dist/types/src/internal/Obj/common.d.ts.map +1 -1
  189. package/dist/types/src/internal/Obj/create-object.d.ts +12 -12
  190. package/dist/types/src/internal/Obj/create-object.d.ts.map +1 -1
  191. package/dist/types/src/internal/Obj/deleted.d.ts.map +1 -1
  192. package/dist/types/src/internal/Obj/index.d.ts +1 -1
  193. package/dist/types/src/internal/Obj/index.d.ts.map +1 -1
  194. package/dist/types/src/internal/Obj/json-serializer.d.ts +8 -8
  195. package/dist/types/src/internal/Obj/json-serializer.d.ts.map +1 -1
  196. package/dist/types/src/internal/Obj/set-value.d.ts +1 -1
  197. package/dist/types/src/internal/Obj/set-value.d.ts.map +1 -1
  198. package/dist/types/src/internal/Obj/snapshot.d.ts.map +1 -1
  199. package/dist/types/src/internal/Obj/typed-object.d.ts +1 -1
  200. package/dist/types/src/internal/Query/index.d.ts +2 -0
  201. package/dist/types/src/internal/Query/index.d.ts.map +1 -0
  202. package/dist/types/src/internal/{Query.d.ts → Query/pretty.d.ts} +1 -1
  203. package/dist/types/src/internal/Query/pretty.d.ts.map +1 -0
  204. package/dist/types/src/internal/Ref/atoms.d.ts +10 -0
  205. package/dist/types/src/internal/Ref/atoms.d.ts.map +1 -0
  206. package/dist/types/src/internal/Ref/ref-array.d.ts +2 -2
  207. package/dist/types/src/internal/Ref/ref.d.ts +50 -19
  208. package/dist/types/src/internal/Ref/ref.d.ts.map +1 -1
  209. package/dist/types/src/internal/Ref/utils.d.ts +8 -0
  210. package/dist/types/src/internal/Ref/utils.d.ts.map +1 -0
  211. package/dist/types/src/internal/Type/compose.d.ts.map +1 -1
  212. package/dist/types/src/internal/Type/index.d.ts +1 -2
  213. package/dist/types/src/internal/Type/index.d.ts.map +1 -1
  214. package/dist/types/src/internal/Type/manipulation.d.ts +0 -1
  215. package/dist/types/src/internal/Type/manipulation.d.ts.map +1 -1
  216. package/dist/types/src/internal/Type/type-schema.d.ts +52 -0
  217. package/dist/types/src/internal/Type/type-schema.d.ts.map +1 -0
  218. package/dist/types/src/internal/common/api/meta.d.ts +14 -11
  219. package/dist/types/src/internal/common/api/meta.d.ts.map +1 -1
  220. package/dist/types/src/internal/common/proxy/change-context.d.ts +1 -1
  221. package/dist/types/src/internal/common/proxy/change-context.d.ts.map +1 -1
  222. package/dist/types/src/internal/common/proxy/define-hidden-property.d.ts.map +1 -1
  223. package/dist/types/src/internal/common/proxy/errors.d.ts +1 -1
  224. package/dist/types/src/internal/common/proxy/errors.d.ts.map +1 -1
  225. package/dist/types/src/internal/common/proxy/event-batch.d.ts.map +1 -1
  226. package/dist/types/src/internal/common/proxy/json-serializer.d.ts.map +1 -1
  227. package/dist/types/src/internal/common/proxy/make-object.d.ts +11 -5
  228. package/dist/types/src/internal/common/proxy/make-object.d.ts.map +1 -1
  229. package/dist/types/src/internal/common/proxy/ownership.d.ts.map +1 -1
  230. package/dist/types/src/internal/common/proxy/proxy-utils.d.ts.map +1 -1
  231. package/dist/types/src/internal/common/proxy/reactive-array.d.ts +1 -1
  232. package/dist/types/src/internal/common/proxy/reactive.d.ts +1 -1
  233. package/dist/types/src/internal/common/proxy/reactive.d.ts.map +1 -1
  234. package/dist/types/src/internal/common/proxy/reactive.test.d.ts +2 -0
  235. package/dist/types/src/internal/common/proxy/reactive.test.d.ts.map +1 -0
  236. package/dist/types/src/internal/common/proxy/schema-validator.d.ts.map +1 -1
  237. package/dist/types/src/internal/common/proxy/typed-handler.d.ts +18 -2
  238. package/dist/types/src/internal/common/proxy/typed-handler.d.ts.map +1 -1
  239. package/dist/types/src/internal/common/types/base.d.ts +4 -4
  240. package/dist/types/src/internal/common/types/base.d.ts.map +1 -1
  241. package/dist/types/src/internal/common/types/entity.d.ts +62 -5
  242. package/dist/types/src/internal/common/types/entity.d.ts.map +1 -1
  243. package/dist/types/src/internal/common/types/index.d.ts +1 -1
  244. package/dist/types/src/internal/common/types/index.d.ts.map +1 -1
  245. package/dist/types/src/internal/common/types/meta.d.ts +33 -12
  246. package/dist/types/src/internal/common/types/meta.d.ts.map +1 -1
  247. package/dist/types/src/internal/common/types/model-symbols.d.ts +15 -4
  248. package/dist/types/src/internal/common/types/model-symbols.d.ts.map +1 -1
  249. package/dist/types/src/internal/common/types/typename.d.ts +7 -0
  250. package/dist/types/src/internal/common/types/typename.d.ts.map +1 -1
  251. package/dist/types/src/internal/common/types/version.d.ts +1 -1
  252. package/dist/types/src/internal/common/types/well-known-types.d.ts +11 -0
  253. package/dist/types/src/internal/common/types/well-known-types.d.ts.map +1 -0
  254. package/dist/types/src/internal/index.d.ts +2 -2
  255. package/dist/types/src/internal/index.d.ts.map +1 -1
  256. package/dist/types/src/testing/index.d.ts +1 -0
  257. package/dist/types/src/testing/index.d.ts.map +1 -1
  258. package/dist/types/src/testing/registry.d.ts +9 -0
  259. package/dist/types/src/testing/registry.d.ts.map +1 -0
  260. package/dist/types/src/testing/test-data.d.ts +8 -8
  261. package/dist/types/src/testing/test-data.d.ts.map +1 -1
  262. package/dist/types/src/testing/test-schema.d.ts +83 -89
  263. package/dist/types/src/testing/test-schema.d.ts.map +1 -1
  264. package/dist/types/src/testing/util.d.ts +5 -3
  265. package/dist/types/src/testing/util.d.ts.map +1 -1
  266. package/dist/types/tsconfig.tsbuildinfo +1 -1
  267. package/package.json +26 -24
  268. package/src/Annotation.test.ts +439 -0
  269. package/src/Annotation.ts +158 -4
  270. package/src/Collection.ts +5 -9
  271. package/src/Database.ts +93 -100
  272. package/src/Dataset.ts +10 -2
  273. package/src/Entity.test.ts +116 -6
  274. package/src/Entity.ts +134 -32
  275. package/src/Err.ts +4 -4
  276. package/src/Feed.ts +92 -44
  277. package/src/Filter.ts +70 -40
  278. package/src/Format.ts +0 -4
  279. package/src/Hypergraph.ts +14 -9
  280. package/src/Json.test.ts +175 -0
  281. package/src/Json.ts +103 -0
  282. package/src/Key.ts +1 -1
  283. package/src/Migration.ts +39 -19
  284. package/src/Obj.test.ts +122 -20
  285. package/src/Obj.ts +168 -91
  286. package/src/Order.ts +22 -0
  287. package/src/Query.test.ts +183 -154
  288. package/src/Query.ts +172 -85
  289. package/src/QueryResult.ts +26 -0
  290. package/src/Ref.ts +22 -4
  291. package/src/Registry.ts +155 -0
  292. package/src/Relation.test.ts +10 -10
  293. package/src/Relation.ts +116 -69
  294. package/src/Scope.ts +50 -0
  295. package/src/Tag.md +88 -0
  296. package/src/Tag.ts +49 -6
  297. package/src/Type.test.ts +223 -18
  298. package/src/Type.ts +609 -131
  299. package/src/View.ts +14 -23
  300. package/src/exemplars.test.ts +21 -0
  301. package/src/index.ts +4 -4
  302. package/src/internal/Annotation/annotations.test.ts +31 -11
  303. package/src/internal/Annotation/annotations.ts +143 -111
  304. package/src/internal/Annotation/dictionary.ts +47 -0
  305. package/src/internal/Annotation/entity-dictionary.ts +74 -0
  306. package/src/internal/Annotation/index.ts +4 -2
  307. package/src/internal/Annotation/util.ts +17 -8
  308. package/src/internal/Entity/api.ts +54 -7
  309. package/src/internal/Entity/entity.ts +196 -47
  310. package/src/internal/Entity/guard.ts +26 -0
  311. package/src/internal/Entity/index.ts +2 -0
  312. package/src/internal/Entity/model.ts +38 -28
  313. package/src/internal/Entity/object.ts +21 -5
  314. package/src/internal/Entity/relation.ts +68 -34
  315. package/src/internal/Entity/type-kind.ts +75 -0
  316. package/src/internal/Entity/type-uri.ts +92 -0
  317. package/src/internal/Entity/util.ts +9 -9
  318. package/src/internal/Format/date.ts +0 -4
  319. package/src/internal/Format/format.test.ts +21 -0
  320. package/src/internal/Format/index.ts +2 -3
  321. package/src/internal/Format/object.ts +21 -4
  322. package/src/internal/Format/types.ts +1 -1
  323. package/src/internal/JsonSchema/annotations.ts +1 -1
  324. package/src/internal/JsonSchema/json-schema-type.ts +4 -4
  325. package/src/internal/JsonSchema/json-schema.test.ts +71 -145
  326. package/src/internal/JsonSchema/json-schema.ts +49 -35
  327. package/src/internal/Obj/atoms.ts +244 -0
  328. package/src/internal/Obj/clone.ts +9 -4
  329. package/src/internal/Obj/create-object.test.ts +12 -10
  330. package/src/internal/Obj/create-object.ts +68 -22
  331. package/src/internal/Obj/index.ts +1 -1
  332. package/src/internal/Obj/inspect.ts +5 -3
  333. package/src/internal/Obj/json-serializer.test.ts +101 -22
  334. package/src/internal/Obj/json-serializer.ts +89 -33
  335. package/src/internal/Obj/set-value.test.ts +22 -45
  336. package/src/internal/Obj/set-value.ts +12 -19
  337. package/src/internal/Obj/snapshot.ts +13 -4
  338. package/src/internal/Obj/typed-object.test.ts +9 -11
  339. package/src/internal/Obj/typed-object.ts +1 -1
  340. package/src/internal/Query/index.ts +5 -0
  341. package/src/internal/{Query.ts → Query/pretty.ts} +40 -12
  342. package/src/internal/Ref/atoms.ts +20 -0
  343. package/src/internal/Ref/ref-array.ts +3 -3
  344. package/src/internal/Ref/ref.test.ts +18 -27
  345. package/src/internal/Ref/ref.ts +137 -59
  346. package/src/internal/Ref/utils.ts +45 -0
  347. package/src/internal/Type/compose.test.ts +3 -1
  348. package/src/internal/Type/index.ts +1 -2
  349. package/src/internal/Type/manipulation.ts +0 -25
  350. package/src/internal/Type/type-schema.ts +60 -0
  351. package/src/internal/common/README.md +2 -2
  352. package/src/internal/common/api/meta.ts +19 -17
  353. package/src/internal/common/proxy/change-context.ts +1 -1
  354. package/src/internal/common/proxy/change.test.ts +91 -83
  355. package/src/internal/common/proxy/errors.ts +2 -2
  356. package/src/internal/common/proxy/handler.test.ts +1 -1
  357. package/src/internal/common/proxy/json-serializer.ts +27 -16
  358. package/src/internal/common/proxy/make-object.ts +44 -20
  359. package/src/internal/common/proxy/ownership.ts +2 -2
  360. package/src/internal/common/proxy/reactive-array.ts +1 -1
  361. package/src/internal/common/proxy/reactive.test.ts +54 -0
  362. package/src/internal/common/proxy/reactive.ts +11 -2
  363. package/src/internal/common/proxy/schema.test.ts +48 -86
  364. package/src/internal/common/proxy/typed-handler.test.ts +12 -11
  365. package/src/internal/common/proxy/typed-handler.ts +78 -16
  366. package/src/internal/common/proxy/typed-object.test.ts +16 -28
  367. package/src/internal/common/types/base.ts +4 -4
  368. package/src/internal/common/types/entity.ts +80 -1
  369. package/src/internal/common/types/index.ts +6 -1
  370. package/src/internal/common/types/meta.ts +62 -20
  371. package/src/internal/common/types/model-symbols.ts +24 -4
  372. package/src/internal/common/types/typename.ts +39 -3
  373. package/src/internal/common/types/well-known-types.ts +15 -0
  374. package/src/internal/index.ts +6 -4
  375. package/src/testing/api.test.ts +15 -9
  376. package/src/testing/index.ts +1 -0
  377. package/src/testing/registry.ts +44 -0
  378. package/src/testing/test-data.ts +159 -99
  379. package/src/testing/test-schema.ts +22 -58
  380. package/src/testing/util.ts +14 -11
  381. package/dist/lib/neutral/Extension.mjs +0 -18
  382. package/dist/lib/neutral/SchemaRegistry.mjs +0 -2
  383. package/dist/lib/neutral/chunk-2KHZ36F5.mjs +0 -361
  384. package/dist/lib/neutral/chunk-2KHZ36F5.mjs.map +0 -7
  385. package/dist/lib/neutral/chunk-4OIBYSXE.mjs.map +0 -7
  386. package/dist/lib/neutral/chunk-4P3IXBLT.mjs +0 -45
  387. package/dist/lib/neutral/chunk-4P3IXBLT.mjs.map +0 -7
  388. package/dist/lib/neutral/chunk-ANHVGJI4.mjs.map +0 -7
  389. package/dist/lib/neutral/chunk-B4BASU6W.mjs.map +0 -7
  390. package/dist/lib/neutral/chunk-BNCCGLJN.mjs +0 -7
  391. package/dist/lib/neutral/chunk-BNCCGLJN.mjs.map +0 -7
  392. package/dist/lib/neutral/chunk-BVOFLCVF.mjs.map +0 -7
  393. package/dist/lib/neutral/chunk-DQYLD2RB.mjs.map +0 -7
  394. package/dist/lib/neutral/chunk-EAMSSLZC.mjs.map +0 -7
  395. package/dist/lib/neutral/chunk-G3IQMKF7.mjs.map +0 -7
  396. package/dist/lib/neutral/chunk-GZQTCRJB.mjs.map +0 -7
  397. package/dist/lib/neutral/chunk-HBUZJNZO.mjs.map +0 -7
  398. package/dist/lib/neutral/chunk-JUXPFOEI.mjs.map +0 -7
  399. package/dist/lib/neutral/chunk-MOR5ERFM.mjs.map +0 -7
  400. package/dist/lib/neutral/chunk-OMUPQMLR.mjs.map +0 -7
  401. package/dist/lib/neutral/chunk-PHU22NLC.mjs +0 -136
  402. package/dist/lib/neutral/chunk-PHU22NLC.mjs.map +0 -7
  403. package/dist/lib/neutral/chunk-ROG4RXXL.mjs +0 -97
  404. package/dist/lib/neutral/chunk-ROG4RXXL.mjs.map +0 -7
  405. package/dist/lib/neutral/chunk-T6W2LEZU.mjs.map +0 -7
  406. package/dist/lib/neutral/chunk-TBKX6JQO.mjs.map +0 -7
  407. package/dist/lib/neutral/chunk-TU3GW67D.mjs.map +0 -7
  408. package/dist/lib/neutral/chunk-UBEZSGXY.mjs.map +0 -7
  409. package/dist/lib/neutral/chunk-UI6MWK5W.mjs.map +0 -7
  410. package/dist/lib/neutral/chunk-V36VO5SS.mjs.map +0 -7
  411. package/dist/lib/neutral/chunk-WAK4DMFV.mjs.map +0 -7
  412. package/dist/lib/neutral/chunk-YAHXAYOW.mjs +0 -56
  413. package/dist/lib/neutral/chunk-YAHXAYOW.mjs.map +0 -7
  414. package/dist/lib/neutral/chunk-YS6Q3XAD.mjs +0 -50
  415. package/dist/lib/neutral/chunk-YS6Q3XAD.mjs.map +0 -7
  416. package/dist/types/src/Extension.d.ts +0 -80
  417. package/dist/types/src/Extension.d.ts.map +0 -1
  418. package/dist/types/src/Extension.test.d.ts +0 -2
  419. package/dist/types/src/Extension.test.d.ts.map +0 -1
  420. package/dist/types/src/SchemaRegistry.d.ts +0 -84
  421. package/dist/types/src/SchemaRegistry.d.ts.map +0 -1
  422. package/dist/types/src/internal/Obj/ids.d.ts +0 -6
  423. package/dist/types/src/internal/Obj/ids.d.ts.map +0 -1
  424. package/dist/types/src/internal/Query.d.ts.map +0 -1
  425. package/dist/types/src/internal/Type/echo-schema.d.ts +0 -181
  426. package/dist/types/src/internal/Type/echo-schema.d.ts.map +0 -1
  427. package/dist/types/src/internal/Type/persistent-schema.d.ts +0 -20
  428. package/dist/types/src/internal/Type/persistent-schema.d.ts.map +0 -1
  429. package/src/Extension.test.ts +0 -235
  430. package/src/Extension.ts +0 -122
  431. package/src/SchemaRegistry.ts +0 -106
  432. package/src/internal/Obj/ids.ts +0 -12
  433. package/src/internal/Type/echo-schema.ts +0 -423
  434. package/src/internal/Type/persistent-schema.ts +0 -33
  435. /package/dist/lib/neutral/{Extension.mjs.map → Registry.mjs.map} +0 -0
  436. /package/dist/lib/neutral/{SchemaRegistry.mjs.map → Scope.mjs.map} +0 -0
  437. /package/dist/lib/neutral/{chunk-7RO7CPBZ.mjs.map → chunk-IGK6FN65.mjs.map} +0 -0
@@ -1,235 +0,0 @@
1
- //
2
- // Copyright 2026 DXOS.org
3
- //
4
-
5
- import * as Option from 'effect/Option';
6
- import * as Schema from 'effect/Schema';
7
- import { describe, test } from 'vitest';
8
-
9
- import * as Extension from './Extension';
10
-
11
- describe('Extension', () => {
12
- describe('make', () => {
13
- test('creates an extension with a string schema', ({ expect }) => {
14
- const ColorExtension = Extension.make('color', Schema.String);
15
-
16
- expect(ColorExtension.key).toBe('color');
17
- expect(ColorExtension.valueSchema).toBe(Schema.String);
18
- expect(ColorExtension[Extension.TypeId]).toBeDefined();
19
- });
20
-
21
- test('creates an extension with a number schema', ({ expect }) => {
22
- const PriorityExtension = Extension.make('priority', Schema.Number);
23
-
24
- expect(PriorityExtension.key).toBe('priority');
25
- expect(PriorityExtension.valueSchema).toBe(Schema.Number);
26
- });
27
-
28
- test('creates an extension with a complex schema', ({ expect }) => {
29
- const MetadataSchema = Schema.Struct({
30
- author: Schema.String,
31
- version: Schema.Number,
32
- tags: Schema.Array(Schema.String),
33
- });
34
- const MetadataExtension = Extension.make('metadata', MetadataSchema);
35
-
36
- expect(MetadataExtension.key).toBe('metadata');
37
- expect(MetadataExtension.valueSchema).toBe(MetadataSchema);
38
- });
39
- });
40
-
41
- describe('get and set', () => {
42
- test('set and get a string value', ({ expect }) => {
43
- const ColorExtension = Extension.make('color', Schema.String);
44
- const values: Extension.Values = {};
45
-
46
- Extension.set(values, ColorExtension, 'red');
47
- const result = Extension.get(values, ColorExtension);
48
-
49
- expect(Option.isSome(result)).toBe(true);
50
- expect(Option.getOrThrow(result)).toBe('red');
51
- });
52
-
53
- test('set and get a number value', ({ expect }) => {
54
- const PriorityExtension = Extension.make('priority', Schema.Number);
55
- const values: Extension.Values = {};
56
-
57
- Extension.set(values, PriorityExtension, 42);
58
- const result = Extension.get(values, PriorityExtension);
59
-
60
- expect(Option.isSome(result)).toBe(true);
61
- expect(Option.getOrThrow(result)).toBe(42);
62
- });
63
-
64
- test('set and get a boolean value', ({ expect }) => {
65
- const EnabledExtension = Extension.make('enabled', Schema.Boolean);
66
- const values: Extension.Values = {};
67
-
68
- Extension.set(values, EnabledExtension, true);
69
- const result = Extension.get(values, EnabledExtension);
70
-
71
- expect(Option.isSome(result)).toBe(true);
72
- expect(Option.getOrThrow(result)).toBe(true);
73
- });
74
-
75
- test('set and get a complex object value', ({ expect }) => {
76
- const ConfigSchema = Schema.Struct({
77
- theme: Schema.String,
78
- fontSize: Schema.Number,
79
- darkMode: Schema.Boolean,
80
- });
81
- const ConfigExtension = Extension.make('config', ConfigSchema);
82
- const values: Extension.Values = {};
83
-
84
- const config = { theme: 'modern', fontSize: 14, darkMode: true };
85
- Extension.set(values, ConfigExtension, config);
86
- const result = Extension.get(values, ConfigExtension);
87
-
88
- expect(Option.isSome(result)).toBe(true);
89
- expect(Option.getOrThrow(result)).toEqual(config);
90
- });
91
-
92
- test('set and get an array value', ({ expect }) => {
93
- const TagsExtension = Extension.make('tags', Schema.Array(Schema.String));
94
- const values: Extension.Values = {};
95
-
96
- const tags = ['important', 'urgent', 'review'];
97
- Extension.set(values, TagsExtension, tags);
98
- const result = Extension.get(values, TagsExtension);
99
-
100
- expect(Option.isSome(result)).toBe(true);
101
- expect(Option.getOrThrow(result)).toEqual(tags);
102
- });
103
-
104
- test('get returns None for missing extension', ({ expect }) => {
105
- const ColorExtension = Extension.make('color', Schema.String);
106
- const values: Extension.Values = {};
107
-
108
- const result = Extension.get(values, ColorExtension);
109
-
110
- expect(Option.isNone(result)).toBe(true);
111
- });
112
-
113
- test('overwriting an extension value', ({ expect }) => {
114
- const ColorExtension = Extension.make('color', Schema.String);
115
- const values: Extension.Values = {};
116
-
117
- Extension.set(values, ColorExtension, 'red');
118
- Extension.set(values, ColorExtension, 'blue');
119
- const result = Extension.get(values, ColorExtension);
120
-
121
- expect(Option.isSome(result)).toBe(true);
122
- expect(Option.getOrThrow(result)).toBe('blue');
123
- });
124
-
125
- test('multiple extensions on the same values object', ({ expect }) => {
126
- const ColorExtension = Extension.make('color', Schema.String);
127
- const PriorityExtension = Extension.make('priority', Schema.Number);
128
- const EnabledExtension = Extension.make('enabled', Schema.Boolean);
129
- const values: Extension.Values = {};
130
-
131
- Extension.set(values, ColorExtension, 'green');
132
- Extension.set(values, PriorityExtension, 5);
133
- Extension.set(values, EnabledExtension, false);
134
-
135
- expect(Option.getOrThrow(Extension.get(values, ColorExtension))).toBe('green');
136
- expect(Option.getOrThrow(Extension.get(values, PriorityExtension))).toBe(5);
137
- expect(Option.getOrThrow(Extension.get(values, EnabledExtension))).toBe(false);
138
- });
139
- });
140
-
141
- describe('curried forms', () => {
142
- test('get curried form', ({ expect }) => {
143
- const ColorExtension = Extension.make('color', Schema.String);
144
- const values: Extension.Values = {};
145
- Extension.set(values, ColorExtension, 'purple');
146
-
147
- const getColor = Extension.get(ColorExtension);
148
- const result = getColor(values);
149
-
150
- expect(Option.isSome(result)).toBe(true);
151
- expect(Option.getOrThrow(result)).toBe('purple');
152
- });
153
-
154
- test('set curried form', ({ expect }) => {
155
- const ColorExtension = Extension.make('color', Schema.String);
156
- const values: Extension.Values = {};
157
-
158
- const setOrange = Extension.set(ColorExtension, 'orange');
159
- setOrange(values);
160
- const result = Extension.get(values, ColorExtension);
161
-
162
- expect(Option.isSome(result)).toBe(true);
163
- expect(Option.getOrThrow(result)).toBe('orange');
164
- });
165
-
166
- test('curried forms work in pipelines', ({ expect }) => {
167
- const ColorExtension = Extension.make('color', Schema.String);
168
- const values: Extension.Values = {};
169
-
170
- Extension.set(ColorExtension, 'cyan')(values);
171
- const result = Extension.get(ColorExtension)(values);
172
-
173
- expect(Option.isSome(result)).toBe(true);
174
- expect(Option.getOrThrow(result)).toBe('cyan');
175
- });
176
- });
177
-
178
- describe('Key', () => {
179
- test('Key.make creates a branded key', ({ expect }) => {
180
- const key = Extension.Key.make('my-extension');
181
-
182
- expect(key).toBe('my-extension');
183
- expect(typeof key).toBe('string');
184
- });
185
- });
186
-
187
- describe('Values schema', () => {
188
- test('Values can be used as a schema', ({ expect }) => {
189
- const PersonWithExtensions = Schema.Struct({
190
- name: Schema.String,
191
- extensions: Extension.Values,
192
- });
193
-
194
- const person = Schema.decodeUnknownSync(PersonWithExtensions)({
195
- name: 'Alice',
196
- extensions: {},
197
- });
198
-
199
- expect(person.name).toBe('Alice');
200
- expect(person.extensions).toEqual({});
201
- });
202
-
203
- test('Values schema accepts extension data', ({ expect }) => {
204
- const ColorExtension = Extension.make('color', Schema.String);
205
- const values: Extension.Values = {};
206
- Extension.set(values, ColorExtension, 'red');
207
-
208
- const PersonWithExtensions = Schema.Struct({
209
- name: Schema.String,
210
- extensions: Extension.Values,
211
- });
212
-
213
- const person = Schema.decodeUnknownSync(PersonWithExtensions)({
214
- name: 'Bob',
215
- extensions: values,
216
- });
217
-
218
- expect(person.name).toBe('Bob');
219
- const color = Extension.get(person.extensions, ColorExtension);
220
- expect(Option.getOrThrow(color)).toBe('red');
221
- });
222
- });
223
-
224
- describe('TypeId', () => {
225
- test('TypeId is a unique symbol-like string', ({ expect }) => {
226
- expect(Extension.TypeId).toBe('~@dxos/echo/Extension');
227
- });
228
-
229
- test('extensions have TypeId property', ({ expect }) => {
230
- const ColorExtension = Extension.make('color', Schema.String);
231
-
232
- expect(Extension.TypeId in ColorExtension).toBe(true);
233
- });
234
- });
235
- });
package/src/Extension.ts DELETED
@@ -1,122 +0,0 @@
1
- // @import-as-namespace
2
- //
3
- // Copyright 2026 DXOS.org
4
- //
5
-
6
- import * as Function from 'effect/Function';
7
- import * as Option from 'effect/Option';
8
- import * as Schema from 'effect/Schema';
9
- import type * as Types from 'effect/Types';
10
-
11
- // @import-as-namespace
12
-
13
- /**
14
- * Extensions allow objects to contain typed properties that are not part of the schema.
15
- */
16
-
17
- export const TypeId = '~@dxos/echo/Extension' as const;
18
- export type TypeId = typeof TypeId;
19
-
20
- export interface Extension<T> extends Record<
21
- TypeId,
22
- {
23
- _Type: T;
24
- }
25
- > {
26
- readonly [TypeId]: {
27
- _Type: T;
28
- };
29
-
30
- readonly key: Key;
31
- readonly valueSchema: Schema.Schema<T>;
32
- }
33
-
34
- /**
35
- * Create a new typed extension.
36
- *
37
- * ```ts
38
- * const ColorExtension = Extension.make('color', Schema.String);
39
- *
40
- * const obj = Obj.make(Person, {
41
- * [Obj.Meta]: { keys: [{ source: 'external', id: '123' }] },
42
- * name: 'John',
43
- * email: 'john@example.com',
44
- * });
45
- *
46
- * Obj.change(obj, (obj) => {
47
- * Extension.set(obj.extensions, ColorExtension, 'red');
48
- * });
49
- *
50
- * console.log(Extension.get(obj.extensions, ColorExtension)); // 'red'
51
- * ```
52
- */
53
- export const make = <S extends Schema.Schema.AnyNoContext>(
54
- key: string,
55
- valueSchema: S,
56
- ): Extension<Schema.Schema.Type<S>> => {
57
- return {
58
- [TypeId]: {} as any,
59
- key: Key.make(key),
60
- valueSchema,
61
- };
62
- };
63
-
64
- /**
65
- * Unique identifier for an extension.
66
- */
67
- // TODO(dmaretskyi): filter to be fully qualified: (e.g., org.dxos.extension.color)
68
- export const Key = Schema.String.pipe(Schema.brand('~@dxos/echo/ExtensionKey'));
69
- export type Key = Schema.Schema.Type<typeof Key>;
70
-
71
- /**
72
- * Set of extension values.
73
- *
74
- * Can be used inside an object/relation schema:
75
- *
76
- * ```ts
77
- * const Person = Schema.Struct({
78
- * name: Schema.String,
79
- * extensions: Extension.Values,
80
- * });
81
- * ```
82
- */
83
- export const Values = Schema.Record({ key: Key, value: Schema.Unknown });
84
- export interface Values extends Schema.Schema.Type<typeof Values> {}
85
-
86
- /**
87
- * Get the value of an extension from a set of values.
88
- */
89
- export const get: {
90
- <T>(extension: Extension<T>): (values: Values) => Option.Option<T>;
91
- <T>(values: Values, extension: Extension<T>): Option.Option<T>;
92
- } = Function.dual<
93
- <T>(extension: Extension<T>) => (values: Values) => Option.Option<T>,
94
- <T>(values: Values, extension: Extension<T>) => Option.Option<T>
95
- >(2, (values, extension) => {
96
- if (!(extension.key in values)) {
97
- return Option.none();
98
- }
99
-
100
- return Function.pipe(values[extension.key], Schema.decodeUnknownSync(extension.valueSchema), Option.some);
101
- });
102
-
103
- /**
104
- * Set the value of an extension in a set of values.
105
- *
106
- * Can also be used within Obj.change callback:
107
- *
108
- * ```ts
109
- * Obj.change(obj, (obj) => {
110
- * Extension.set(obj.extensions, ColorExtension, 'red');
111
- * });
112
- * ```
113
- */
114
- export const set: {
115
- <T>(extension: Extension<T>, value: T): (values: Values) => void;
116
- <T>(values: Types.Mutable<Values>, extension: Extension<T>, value: T): void;
117
- } = Function.dual<
118
- <T>(extension: Extension<T>, value: T) => (values: Values) => void,
119
- <T>(values: Types.Mutable<Values>, extension: Extension<T>, value: T) => void
120
- >(3, (values, extension, value) => {
121
- values[extension.key] = Schema.encodeSync(extension.valueSchema)(value);
122
- });
@@ -1,106 +0,0 @@
1
- //
2
- // Copyright 2025 DXOS.org
3
- //
4
-
5
- import type * as Types from 'effect/Types';
6
-
7
- import type * as JsonSchema from './JsonSchema';
8
- import type * as Key from './Key';
9
- import type * as QueryResult from './QueryResult';
10
- import type * as Type from './Type';
11
-
12
- // TODO(wittjosiah): Replace w/ Query.Query.
13
- export type Query = {
14
- /**
15
- * Filter by schema ID.
16
- * Schema id is a DXN with `echo` or `type` kind.
17
- */
18
- id?: string | string[];
19
-
20
- /**
21
- * Id of the backing ECHO object.
22
- */
23
- backingObjectId?: Key.ObjectId | Key.ObjectId[];
24
-
25
- /**
26
- * One or more typenames to filter by.
27
- */
28
- typename?: string | string[];
29
-
30
- /**
31
- * [Semver Range](https://docs.npmjs.com/cli/v6/using-npm/semver#ranges) for the schema version.
32
- */
33
- version?: string;
34
-
35
- /**
36
- * Where to look for the schema.
37
- *
38
- * Database schema are stored in the database of the current space.
39
- * Runtime schema are registered in the runtime.
40
- *
41
- * @default ['database']
42
- */
43
- location?: ('database' | 'runtime')[];
44
-
45
- /**
46
- * Include system schemas.
47
- * @default false
48
- *
49
- * The system schema include but are not limited to:
50
- * - org.dxos.type.schema
51
- */
52
- includeSystem?: boolean;
53
- };
54
-
55
- /**
56
- * Input for schema registration.
57
- * The typename, version and schema mutability metadata is read from the schema annotations.
58
- *
59
- * Accepts:
60
- * - Branded ECHO schemas created with Type.Obj() or Type.Relation()
61
- * - JSON schema with typename and version
62
- */
63
- export type RegisterSchemaInput =
64
- | Type.AnyEntity
65
- | {
66
- typename: string;
67
- version: string;
68
- jsonSchema: JsonSchema.JsonSchema;
69
- /**
70
- * Display name of the schema.
71
- */
72
- name?: string;
73
- };
74
-
75
- export type ExtractQueryResult<Query> = Query extends { location: ('database' | 'runtime')[] }
76
- ? Type.AnyEntity
77
- : Type.RuntimeType;
78
-
79
- // TODO(dmaretskyi): Rename TypeRegistry
80
- export interface SchemaRegistry {
81
- /**
82
- * Checks if the provided schema is registered.
83
- */
84
- // TODO(burdon): Type?
85
- hasSchema(schema: Type.AnyEntity): boolean;
86
-
87
- /**
88
- * Registers the provided schema.
89
- *
90
- * @returns Mutable runtime instances of schemas that were registered.
91
- *
92
- * The behavior of this method depends on the state of the database.
93
- * The general principle is that the schema will be upserted into the space.
94
- * If an equivalent schema with the same name and version already exists, the method does nothing.
95
- * If a different schema with the same name and version exists, the method throws an error.
96
- * If no schema with the same name and version exists, a new schema will be inserted based on semantic versioning rules.
97
- */
98
- register(input: RegisterSchemaInput[]): Promise<Type.RuntimeType[]>;
99
-
100
- /**
101
- *
102
- */
103
- query<Q extends Types.NoExcessProperties<Query, Q>>(
104
- query?: Q & Query,
105
- ): QueryResult.QueryResult<ExtractQueryResult<Q>>;
106
- }
@@ -1,12 +0,0 @@
1
- //
2
- // Copyright 2024 DXOS.org
3
- //
4
-
5
- import { DXN, ObjectId, QueueSubspaceTags, SpaceId } from '@dxos/keys';
6
-
7
- /**
8
- * @deprecated Use `db.queues.create()`
9
- */
10
- // TODO(burdon): Move to @dxos/keys.
11
- export const createQueueDXN = (spaceId = SpaceId.random(), queueId = ObjectId.random()) =>
12
- new DXN(DXN.kind.QUEUE, [QueueSubspaceTags.DATA, spaceId, queueId]);