@dxos/echo 0.8.4-main.d05539e30a → 0.8.4-main.d9fc60f731

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 (378) hide show
  1. package/README.md +4 -4
  2. package/dist/lib/neutral/Annotation.mjs +27 -6
  3. package/dist/lib/neutral/Database.mjs +6 -11
  4. package/dist/lib/neutral/Entity.mjs +25 -16
  5. package/dist/lib/neutral/Err.mjs +3 -3
  6. package/dist/lib/neutral/Feed.mjs +19 -17
  7. package/dist/lib/neutral/Filter.mjs +13 -13
  8. package/dist/lib/neutral/Format.mjs +23 -3
  9. package/dist/lib/neutral/JsonSchema.mjs +7 -8
  10. package/dist/lib/neutral/Key.mjs +9 -5
  11. package/dist/lib/neutral/Migration.mjs +11 -10
  12. package/dist/lib/neutral/Obj.mjs +21 -18
  13. package/dist/lib/neutral/Query.mjs +17 -17
  14. package/dist/lib/neutral/QueryResult.mjs +1 -1
  15. package/dist/lib/neutral/Ref.mjs +10 -11
  16. package/dist/lib/neutral/Registry.mjs +14 -0
  17. package/dist/lib/neutral/Relation.mjs +24 -23
  18. package/dist/lib/neutral/Scope.mjs +12 -0
  19. package/dist/lib/neutral/Tag.mjs +17 -14
  20. package/dist/lib/neutral/Type.mjs +52 -26
  21. package/dist/lib/neutral/chunk-3DKP2EIN.mjs +31 -0
  22. package/dist/lib/neutral/chunk-3DKP2EIN.mjs.map +7 -0
  23. package/dist/lib/neutral/chunk-4BB4MFCN.mjs +154 -0
  24. package/dist/lib/neutral/chunk-4BB4MFCN.mjs.map +7 -0
  25. package/dist/lib/neutral/{chunk-PT37DG2F.mjs → chunk-4SFPZJVA.mjs} +82 -74
  26. package/dist/lib/neutral/chunk-4SFPZJVA.mjs.map +7 -0
  27. package/dist/lib/neutral/{chunk-APHSOTIX.mjs → chunk-4Z6GET2X.mjs} +3 -3
  28. package/dist/lib/neutral/{chunk-APHSOTIX.mjs.map → chunk-4Z6GET2X.mjs.map} +2 -2
  29. package/dist/lib/neutral/{chunk-7RVZT53K.mjs → chunk-7LOUAPYZ.mjs} +9 -5
  30. package/dist/lib/neutral/chunk-7LOUAPYZ.mjs.map +7 -0
  31. package/dist/lib/neutral/{chunk-BMB7IHGB.mjs → chunk-7OAFN3OX.mjs} +70 -57
  32. package/dist/lib/neutral/chunk-7OAFN3OX.mjs.map +7 -0
  33. package/dist/lib/neutral/{chunk-MLS7U7AT.mjs → chunk-7PRCIDHH.mjs} +41 -28
  34. package/dist/lib/neutral/chunk-7PRCIDHH.mjs.map +7 -0
  35. package/dist/lib/neutral/{chunk-ZISMEVKD.mjs → chunk-BBFJWWAV.mjs} +6 -6
  36. package/dist/lib/neutral/chunk-BBFJWWAV.mjs.map +7 -0
  37. package/dist/lib/neutral/{chunk-ZFACXBY6.mjs → chunk-BDQGMDIX.mjs} +30 -34
  38. package/dist/lib/neutral/chunk-BDQGMDIX.mjs.map +7 -0
  39. package/dist/lib/neutral/chunk-CGTI5MXO.mjs +36 -0
  40. package/dist/lib/neutral/chunk-CGTI5MXO.mjs.map +7 -0
  41. package/dist/lib/neutral/{chunk-V72DY6LU.mjs → chunk-DKLUHO4T.mjs} +1 -1
  42. package/dist/lib/neutral/chunk-DKLUHO4T.mjs.map +7 -0
  43. package/dist/lib/neutral/chunk-DMN2CKPX.mjs +93 -0
  44. package/dist/lib/neutral/chunk-DMN2CKPX.mjs.map +7 -0
  45. package/dist/lib/neutral/{chunk-QRZ2I3ZM.mjs → chunk-G6CFWUYH.mjs} +2 -2
  46. package/dist/lib/neutral/chunk-H26LSXVJ.mjs +653 -0
  47. package/dist/lib/neutral/chunk-H26LSXVJ.mjs.map +7 -0
  48. package/dist/lib/neutral/{chunk-N7VOEPSV.mjs → chunk-J3MNM65T.mjs} +9 -9
  49. package/dist/lib/neutral/chunk-J3MNM65T.mjs.map +7 -0
  50. package/dist/lib/neutral/chunk-JE7AOSWF.mjs +247 -0
  51. package/dist/lib/neutral/chunk-JE7AOSWF.mjs.map +7 -0
  52. package/dist/lib/neutral/chunk-LAF3LSWI.mjs +379 -0
  53. package/dist/lib/neutral/chunk-LAF3LSWI.mjs.map +7 -0
  54. package/dist/lib/neutral/chunk-LMNRFOVB.mjs +108 -0
  55. package/dist/lib/neutral/chunk-LMNRFOVB.mjs.map +7 -0
  56. package/dist/lib/neutral/{chunk-N4B7FHQT.mjs → chunk-O6BH7EPN.mjs} +30 -3
  57. package/dist/lib/neutral/chunk-O6BH7EPN.mjs.map +7 -0
  58. package/dist/lib/neutral/{chunk-Q7ZL2P5H.mjs → chunk-OIYW7R2G.mjs} +62 -46
  59. package/dist/lib/neutral/chunk-OIYW7R2G.mjs.map +7 -0
  60. package/dist/lib/neutral/{chunk-G54OX4IX.mjs → chunk-OYUG4FHF.mjs} +527 -847
  61. package/dist/lib/neutral/chunk-OYUG4FHF.mjs.map +7 -0
  62. package/dist/lib/neutral/{chunk-J54QMAKF.mjs → chunk-Q5FKCVBC.mjs} +64 -59
  63. package/dist/lib/neutral/chunk-Q5FKCVBC.mjs.map +7 -0
  64. package/dist/lib/neutral/{chunk-FIWO2FZK.mjs → chunk-Q62IHV2N.mjs} +12 -7
  65. package/dist/lib/neutral/chunk-Q62IHV2N.mjs.map +7 -0
  66. package/dist/lib/neutral/{chunk-SCPFDS2E.mjs → chunk-QVJDDG44.mjs} +65 -34
  67. package/dist/lib/neutral/chunk-QVJDDG44.mjs.map +7 -0
  68. package/dist/lib/neutral/{chunk-TRPZU2HV.mjs → chunk-TFEWTY5A.mjs} +155 -129
  69. package/dist/lib/neutral/chunk-TFEWTY5A.mjs.map +7 -0
  70. package/dist/lib/neutral/{chunk-44HT3MEC.mjs → chunk-VKWOFXT2.mjs} +22 -2
  71. package/dist/lib/neutral/{chunk-44HT3MEC.mjs.map → chunk-VKWOFXT2.mjs.map} +1 -1
  72. package/dist/lib/neutral/{chunk-APJKDGFL.mjs → chunk-ZACMEAYV.mjs} +24 -24
  73. package/dist/lib/neutral/chunk-ZACMEAYV.mjs.map +7 -0
  74. package/dist/lib/neutral/index.mjs +50 -40
  75. package/dist/lib/neutral/internal/index.mjs +125 -64
  76. package/dist/lib/neutral/meta.json +1 -1
  77. package/dist/lib/neutral/testing/index.mjs +88 -99
  78. package/dist/lib/neutral/testing/index.mjs.map +3 -3
  79. package/dist/types/src/Annotation.d.ts +108 -4
  80. package/dist/types/src/Annotation.d.ts.map +1 -1
  81. package/dist/types/src/Annotation.test.d.ts +2 -0
  82. package/dist/types/src/Annotation.test.d.ts.map +1 -0
  83. package/dist/types/src/Collection.d.ts +2 -3
  84. package/dist/types/src/Collection.d.ts.map +1 -1
  85. package/dist/types/src/Database.d.ts +50 -30
  86. package/dist/types/src/Database.d.ts.map +1 -1
  87. package/dist/types/src/Dataset.d.ts +16 -6
  88. package/dist/types/src/Dataset.d.ts.map +1 -1
  89. package/dist/types/src/Entity.d.ts +89 -19
  90. package/dist/types/src/Entity.d.ts.map +1 -1
  91. package/dist/types/src/Err.d.ts +9 -9
  92. package/dist/types/src/Err.d.ts.map +1 -1
  93. package/dist/types/src/Feed.d.ts +35 -12
  94. package/dist/types/src/Feed.d.ts.map +1 -1
  95. package/dist/types/src/Filter.d.ts +21 -8
  96. package/dist/types/src/Filter.d.ts.map +1 -1
  97. package/dist/types/src/Hypergraph.d.ts +13 -8
  98. package/dist/types/src/Hypergraph.d.ts.map +1 -1
  99. package/dist/types/src/Json.d.ts.map +1 -1
  100. package/dist/types/src/JsonSchema.d.ts +1 -1
  101. package/dist/types/src/JsonSchema.d.ts.map +1 -1
  102. package/dist/types/src/Key.d.ts +1 -1
  103. package/dist/types/src/Key.d.ts.map +1 -1
  104. package/dist/types/src/Migration.d.ts +15 -12
  105. package/dist/types/src/Migration.d.ts.map +1 -1
  106. package/dist/types/src/Obj.d.ts +69 -40
  107. package/dist/types/src/Obj.d.ts.map +1 -1
  108. package/dist/types/src/Query.d.ts +24 -10
  109. package/dist/types/src/Query.d.ts.map +1 -1
  110. package/dist/types/src/QueryResult.d.ts +9 -0
  111. package/dist/types/src/QueryResult.d.ts.map +1 -1
  112. package/dist/types/src/Ref.d.ts +15 -8
  113. package/dist/types/src/Ref.d.ts.map +1 -1
  114. package/dist/types/src/Registry.d.ts +131 -0
  115. package/dist/types/src/Registry.d.ts.map +1 -0
  116. package/dist/types/src/Relation.d.ts +55 -26
  117. package/dist/types/src/Relation.d.ts.map +1 -1
  118. package/dist/types/src/Scope.d.ts +34 -0
  119. package/dist/types/src/Scope.d.ts.map +1 -0
  120. package/dist/types/src/StateMap.d.ts +32 -0
  121. package/dist/types/src/StateMap.d.ts.map +1 -0
  122. package/dist/types/src/StateMap.test.d.ts +2 -0
  123. package/dist/types/src/StateMap.test.d.ts.map +1 -0
  124. package/dist/types/src/Tag.d.ts +19 -3
  125. package/dist/types/src/Tag.d.ts.map +1 -1
  126. package/dist/types/src/TagIndex.d.ts +36 -0
  127. package/dist/types/src/TagIndex.d.ts.map +1 -0
  128. package/dist/types/src/TagIndex.test.d.ts +2 -0
  129. package/dist/types/src/TagIndex.test.d.ts.map +1 -0
  130. package/dist/types/src/Tagging.d.ts +31 -0
  131. package/dist/types/src/Tagging.d.ts.map +1 -0
  132. package/dist/types/src/Type.d.ts +356 -95
  133. package/dist/types/src/Type.d.ts.map +1 -1
  134. package/dist/types/src/View.d.ts +1 -4
  135. package/dist/types/src/View.d.ts.map +1 -1
  136. package/dist/types/src/index.d.ts +6 -3
  137. package/dist/types/src/index.d.ts.map +1 -1
  138. package/dist/types/src/internal/Annotation/annotations.d.ts +68 -36
  139. package/dist/types/src/internal/Annotation/annotations.d.ts.map +1 -1
  140. package/dist/types/src/internal/Annotation/dictionary.d.ts +24 -0
  141. package/dist/types/src/internal/Annotation/dictionary.d.ts.map +1 -0
  142. package/dist/types/src/internal/Annotation/entity-dictionary.d.ts +14 -0
  143. package/dist/types/src/internal/Annotation/entity-dictionary.d.ts.map +1 -0
  144. package/dist/types/src/internal/Annotation/index.d.ts +4 -2
  145. package/dist/types/src/internal/Annotation/index.d.ts.map +1 -1
  146. package/dist/types/src/internal/Annotation/util.d.ts +13 -4
  147. package/dist/types/src/internal/Annotation/util.d.ts.map +1 -1
  148. package/dist/types/src/internal/Entity/api.d.ts +3 -3
  149. package/dist/types/src/internal/Entity/api.d.ts.map +1 -1
  150. package/dist/types/src/internal/Entity/entity.d.ts +72 -8
  151. package/dist/types/src/internal/Entity/entity.d.ts.map +1 -1
  152. package/dist/types/src/internal/Entity/guard.d.ts +10 -0
  153. package/dist/types/src/internal/Entity/guard.d.ts.map +1 -0
  154. package/dist/types/src/internal/Entity/index.d.ts +2 -0
  155. package/dist/types/src/internal/Entity/index.d.ts.map +1 -1
  156. package/dist/types/src/internal/Entity/model.d.ts +18 -17
  157. package/dist/types/src/internal/Entity/model.d.ts.map +1 -1
  158. package/dist/types/src/internal/Entity/object.d.ts +3 -3
  159. package/dist/types/src/internal/Entity/object.d.ts.map +1 -1
  160. package/dist/types/src/internal/Entity/relation.d.ts +30 -7
  161. package/dist/types/src/internal/Entity/relation.d.ts.map +1 -1
  162. package/dist/types/src/internal/Entity/type-kind.d.ts +24 -0
  163. package/dist/types/src/internal/Entity/type-kind.d.ts.map +1 -0
  164. package/dist/types/src/internal/Entity/type-uri.d.ts +25 -0
  165. package/dist/types/src/internal/Entity/type-uri.d.ts.map +1 -0
  166. package/dist/types/src/internal/Format/date.d.ts.map +1 -1
  167. package/dist/types/src/internal/Format/format.d.ts +3 -2
  168. package/dist/types/src/internal/Format/format.d.ts.map +1 -1
  169. package/dist/types/src/internal/Format/index.d.ts +2 -2
  170. package/dist/types/src/internal/Format/index.d.ts.map +1 -1
  171. package/dist/types/src/internal/Format/object.d.ts +3 -1
  172. package/dist/types/src/internal/Format/object.d.ts.map +1 -1
  173. package/dist/types/src/internal/JsonSchema/json-schema.d.ts +2 -1
  174. package/dist/types/src/internal/JsonSchema/json-schema.d.ts.map +1 -1
  175. package/dist/types/src/internal/Obj/clone.d.ts.map +1 -1
  176. package/dist/types/src/internal/Obj/create-object.d.ts +11 -12
  177. package/dist/types/src/internal/Obj/create-object.d.ts.map +1 -1
  178. package/dist/types/src/internal/Obj/index.d.ts +0 -1
  179. package/dist/types/src/internal/Obj/index.d.ts.map +1 -1
  180. package/dist/types/src/internal/Obj/json-serializer.d.ts +8 -8
  181. package/dist/types/src/internal/Obj/json-serializer.d.ts.map +1 -1
  182. package/dist/types/src/internal/Obj/snapshot.d.ts.map +1 -1
  183. package/dist/types/src/internal/Obj/typed-object.d.ts +1 -1
  184. package/dist/types/src/internal/Query.d.ts.map +1 -1
  185. package/dist/types/src/internal/Ref/ref-array.d.ts +2 -2
  186. package/dist/types/src/internal/Ref/ref.d.ts +29 -19
  187. package/dist/types/src/internal/Ref/ref.d.ts.map +1 -1
  188. package/dist/types/src/internal/Type/index.d.ts +1 -2
  189. package/dist/types/src/internal/Type/index.d.ts.map +1 -1
  190. package/dist/types/src/internal/Type/manipulation.d.ts +0 -1
  191. package/dist/types/src/internal/Type/manipulation.d.ts.map +1 -1
  192. package/dist/types/src/internal/Type/type-schema.d.ts +52 -0
  193. package/dist/types/src/internal/Type/type-schema.d.ts.map +1 -0
  194. package/dist/types/src/internal/common/api/meta.d.ts +11 -8
  195. package/dist/types/src/internal/common/api/meta.d.ts.map +1 -1
  196. package/dist/types/src/internal/common/proxy/json-serializer.d.ts.map +1 -1
  197. package/dist/types/src/internal/common/proxy/make-object.d.ts +11 -5
  198. package/dist/types/src/internal/common/proxy/make-object.d.ts.map +1 -1
  199. package/dist/types/src/internal/common/proxy/typed-handler.d.ts +18 -2
  200. package/dist/types/src/internal/common/proxy/typed-handler.d.ts.map +1 -1
  201. package/dist/types/src/internal/common/types/base.d.ts +4 -4
  202. package/dist/types/src/internal/common/types/entity.d.ts +59 -2
  203. package/dist/types/src/internal/common/types/entity.d.ts.map +1 -1
  204. package/dist/types/src/internal/common/types/index.d.ts +1 -1
  205. package/dist/types/src/internal/common/types/index.d.ts.map +1 -1
  206. package/dist/types/src/internal/common/types/meta.d.ts +13 -7
  207. package/dist/types/src/internal/common/types/meta.d.ts.map +1 -1
  208. package/dist/types/src/internal/common/types/model-symbols.d.ts +8 -4
  209. package/dist/types/src/internal/common/types/model-symbols.d.ts.map +1 -1
  210. package/dist/types/src/internal/common/types/typename.d.ts +7 -0
  211. package/dist/types/src/internal/common/types/typename.d.ts.map +1 -1
  212. package/dist/types/src/internal/common/types/well-known-types.d.ts +11 -0
  213. package/dist/types/src/internal/common/types/well-known-types.d.ts.map +1 -0
  214. package/dist/types/src/internal/index.d.ts +1 -0
  215. package/dist/types/src/internal/index.d.ts.map +1 -1
  216. package/dist/types/src/testing/test-schema.d.ts +32 -38
  217. package/dist/types/src/testing/test-schema.d.ts.map +1 -1
  218. package/dist/types/src/testing/util.d.ts +5 -3
  219. package/dist/types/src/testing/util.d.ts.map +1 -1
  220. package/dist/types/tsconfig.tsbuildinfo +1 -1
  221. package/package.json +21 -23
  222. package/src/Annotation.test.ts +439 -0
  223. package/src/Annotation.ts +151 -4
  224. package/src/Collection.ts +5 -9
  225. package/src/Database.ts +86 -61
  226. package/src/Dataset.ts +10 -2
  227. package/src/Entity.test.ts +116 -6
  228. package/src/Entity.ts +116 -23
  229. package/src/Err.ts +4 -4
  230. package/src/Feed.ts +57 -40
  231. package/src/Filter.ts +49 -27
  232. package/src/Hypergraph.ts +13 -8
  233. package/src/Json.test.ts +4 -4
  234. package/src/Json.ts +7 -6
  235. package/src/Key.ts +1 -1
  236. package/src/Migration.ts +27 -19
  237. package/src/Obj.test.ts +19 -8
  238. package/src/Obj.ts +131 -70
  239. package/src/Query.test.ts +147 -151
  240. package/src/Query.ts +133 -75
  241. package/src/QueryResult.ts +11 -0
  242. package/src/Ref.ts +21 -5
  243. package/src/Registry.ts +155 -0
  244. package/src/Relation.test.ts +10 -10
  245. package/src/Relation.ts +89 -52
  246. package/src/Scope.ts +50 -0
  247. package/src/StateMap.test.ts +56 -0
  248. package/src/StateMap.ts +99 -0
  249. package/src/Tag.md +88 -0
  250. package/src/Tag.ts +49 -6
  251. package/src/TagIndex.test.ts +57 -0
  252. package/src/TagIndex.ts +110 -0
  253. package/src/Tagging.ts +83 -0
  254. package/src/Type.test.ts +223 -18
  255. package/src/Type.ts +601 -131
  256. package/src/View.ts +10 -19
  257. package/src/index.ts +6 -4
  258. package/src/internal/Annotation/annotations.test.ts +31 -11
  259. package/src/internal/Annotation/annotations.ts +122 -103
  260. package/src/internal/Annotation/dictionary.ts +47 -0
  261. package/src/internal/Annotation/entity-dictionary.ts +40 -0
  262. package/src/internal/Annotation/index.ts +4 -2
  263. package/src/internal/Annotation/util.ts +17 -8
  264. package/src/internal/Entity/api.ts +7 -7
  265. package/src/internal/Entity/entity.ts +196 -47
  266. package/src/internal/Entity/guard.ts +26 -0
  267. package/src/internal/Entity/index.ts +2 -0
  268. package/src/internal/Entity/model.ts +35 -28
  269. package/src/internal/Entity/object.ts +21 -5
  270. package/src/internal/Entity/relation.ts +68 -34
  271. package/src/internal/Entity/type-kind.ts +75 -0
  272. package/src/internal/Entity/type-uri.ts +87 -0
  273. package/src/internal/Entity/util.ts +10 -9
  274. package/src/internal/Format/date.ts +0 -4
  275. package/src/internal/Format/format.test.ts +21 -0
  276. package/src/internal/Format/index.ts +2 -3
  277. package/src/internal/Format/object.ts +21 -4
  278. package/src/internal/Format/types.ts +1 -1
  279. package/src/internal/JsonSchema/annotations.ts +1 -1
  280. package/src/internal/JsonSchema/json-schema.test.ts +54 -140
  281. package/src/internal/JsonSchema/json-schema.ts +44 -30
  282. package/src/internal/Obj/clone.ts +9 -4
  283. package/src/internal/Obj/create-object.test.ts +12 -10
  284. package/src/internal/Obj/create-object.ts +67 -22
  285. package/src/internal/Obj/index.ts +0 -1
  286. package/src/internal/Obj/inspect.ts +4 -3
  287. package/src/internal/Obj/json-serializer.test.ts +100 -21
  288. package/src/internal/Obj/json-serializer.ts +93 -38
  289. package/src/internal/Obj/set-value.test.ts +7 -30
  290. package/src/internal/Obj/snapshot.ts +11 -4
  291. package/src/internal/Obj/typed-object.test.ts +9 -11
  292. package/src/internal/Obj/typed-object.ts +1 -1
  293. package/src/internal/Query.ts +14 -11
  294. package/src/internal/Ref/ref-array.ts +3 -3
  295. package/src/internal/Ref/ref.test.ts +17 -26
  296. package/src/internal/Ref/ref.ts +107 -59
  297. package/src/internal/Type/compose.test.ts +3 -1
  298. package/src/internal/Type/index.ts +1 -2
  299. package/src/internal/Type/manipulation.ts +0 -25
  300. package/src/internal/Type/type-schema.ts +60 -0
  301. package/src/internal/common/README.md +1 -1
  302. package/src/internal/common/api/meta.ts +16 -14
  303. package/src/internal/common/proxy/change.test.ts +35 -27
  304. package/src/internal/common/proxy/handler.test.ts +1 -1
  305. package/src/internal/common/proxy/json-serializer.ts +26 -16
  306. package/src/internal/common/proxy/make-object.ts +43 -20
  307. package/src/internal/common/proxy/ownership.ts +2 -2
  308. package/src/internal/common/proxy/schema.test.ts +48 -86
  309. package/src/internal/common/proxy/typed-handler.test.ts +12 -11
  310. package/src/internal/common/proxy/typed-handler.ts +71 -9
  311. package/src/internal/common/proxy/typed-object.test.ts +15 -27
  312. package/src/internal/common/types/base.ts +4 -4
  313. package/src/internal/common/types/entity.ts +80 -1
  314. package/src/internal/common/types/index.ts +6 -1
  315. package/src/internal/common/types/meta.ts +37 -14
  316. package/src/internal/common/types/model-symbols.ts +16 -4
  317. package/src/internal/common/types/typename.ts +39 -3
  318. package/src/internal/common/types/well-known-types.ts +15 -0
  319. package/src/internal/index.ts +5 -0
  320. package/src/testing/api.test.ts +15 -9
  321. package/src/testing/test-data.ts +24 -24
  322. package/src/testing/test-schema.ts +22 -58
  323. package/src/testing/util.ts +14 -11
  324. package/dist/lib/neutral/Extension.mjs +0 -18
  325. package/dist/lib/neutral/SchemaRegistry.mjs +0 -2
  326. package/dist/lib/neutral/chunk-5SL5LDLD.mjs +0 -47
  327. package/dist/lib/neutral/chunk-5SL5LDLD.mjs.map +0 -7
  328. package/dist/lib/neutral/chunk-7RVZT53K.mjs.map +0 -7
  329. package/dist/lib/neutral/chunk-APJKDGFL.mjs.map +0 -7
  330. package/dist/lib/neutral/chunk-BICZKPQG.mjs +0 -7
  331. package/dist/lib/neutral/chunk-BICZKPQG.mjs.map +0 -7
  332. package/dist/lib/neutral/chunk-BMB7IHGB.mjs.map +0 -7
  333. package/dist/lib/neutral/chunk-FIWO2FZK.mjs.map +0 -7
  334. package/dist/lib/neutral/chunk-G54OX4IX.mjs.map +0 -7
  335. package/dist/lib/neutral/chunk-GWFFC34K.mjs +0 -50
  336. package/dist/lib/neutral/chunk-GWFFC34K.mjs.map +0 -7
  337. package/dist/lib/neutral/chunk-I2DARWPX.mjs +0 -128
  338. package/dist/lib/neutral/chunk-I2DARWPX.mjs.map +0 -7
  339. package/dist/lib/neutral/chunk-J54QMAKF.mjs.map +0 -7
  340. package/dist/lib/neutral/chunk-MGSQGHOD.mjs +0 -206
  341. package/dist/lib/neutral/chunk-MGSQGHOD.mjs.map +0 -7
  342. package/dist/lib/neutral/chunk-MLS7U7AT.mjs.map +0 -7
  343. package/dist/lib/neutral/chunk-N4B7FHQT.mjs.map +0 -7
  344. package/dist/lib/neutral/chunk-N7VOEPSV.mjs.map +0 -7
  345. package/dist/lib/neutral/chunk-PSZBLH53.mjs +0 -81
  346. package/dist/lib/neutral/chunk-PSZBLH53.mjs.map +0 -7
  347. package/dist/lib/neutral/chunk-PT37DG2F.mjs.map +0 -7
  348. package/dist/lib/neutral/chunk-Q2KKKJSV.mjs +0 -56
  349. package/dist/lib/neutral/chunk-Q2KKKJSV.mjs.map +0 -7
  350. package/dist/lib/neutral/chunk-Q7ZL2P5H.mjs.map +0 -7
  351. package/dist/lib/neutral/chunk-SCPFDS2E.mjs.map +0 -7
  352. package/dist/lib/neutral/chunk-TNBK56IN.mjs +0 -350
  353. package/dist/lib/neutral/chunk-TNBK56IN.mjs.map +0 -7
  354. package/dist/lib/neutral/chunk-TRPZU2HV.mjs.map +0 -7
  355. package/dist/lib/neutral/chunk-V72DY6LU.mjs.map +0 -7
  356. package/dist/lib/neutral/chunk-ZFACXBY6.mjs.map +0 -7
  357. package/dist/lib/neutral/chunk-ZISMEVKD.mjs.map +0 -7
  358. package/dist/types/src/Extension.d.ts +0 -80
  359. package/dist/types/src/Extension.d.ts.map +0 -1
  360. package/dist/types/src/Extension.test.d.ts +0 -2
  361. package/dist/types/src/Extension.test.d.ts.map +0 -1
  362. package/dist/types/src/SchemaRegistry.d.ts +0 -84
  363. package/dist/types/src/SchemaRegistry.d.ts.map +0 -1
  364. package/dist/types/src/internal/Obj/ids.d.ts +0 -6
  365. package/dist/types/src/internal/Obj/ids.d.ts.map +0 -1
  366. package/dist/types/src/internal/Type/echo-schema.d.ts +0 -181
  367. package/dist/types/src/internal/Type/echo-schema.d.ts.map +0 -1
  368. package/dist/types/src/internal/Type/persistent-schema.d.ts +0 -20
  369. package/dist/types/src/internal/Type/persistent-schema.d.ts.map +0 -1
  370. package/src/Extension.test.ts +0 -235
  371. package/src/Extension.ts +0 -122
  372. package/src/SchemaRegistry.ts +0 -106
  373. package/src/internal/Obj/ids.ts +0 -12
  374. package/src/internal/Type/echo-schema.ts +0 -423
  375. package/src/internal/Type/persistent-schema.ts +0 -33
  376. /package/dist/lib/neutral/{Extension.mjs.map → Registry.mjs.map} +0 -0
  377. /package/dist/lib/neutral/{SchemaRegistry.mjs.map → Scope.mjs.map} +0 -0
  378. /package/dist/lib/neutral/{chunk-QRZ2I3ZM.mjs.map → chunk-G6CFWUYH.mjs.map} +0 -0
@@ -5,6 +5,8 @@
5
5
  import * as Schema from 'effect/Schema';
6
6
  import { describe, test } from 'vitest';
7
7
 
8
+ import { DXN } from '@dxos/keys';
9
+
8
10
  import * as Obj from '../../Obj';
9
11
  import { TestSchema } from '../../testing';
10
12
  import * as Type from '../../Type';
@@ -60,12 +62,7 @@ describe('Obj.setValue', () => {
60
62
  const Container = Schema.Struct({
61
63
  name: Schema.String,
62
64
  items: Schema.optional(Schema.Array(Item)),
63
- }).pipe(
64
- Type.object({
65
- typename: 'test.com/Container',
66
- version: '0.1.0',
67
- }),
68
- );
65
+ }).pipe(Type.makeObject(DXN.make('com.test.type.container', '0.1.0')));
69
66
 
70
67
  const container = Obj.make(Container, { name: 'box' });
71
68
 
@@ -151,12 +148,7 @@ describe('Obj.setValue', () => {
151
148
  test('handles two-dimensional arrays', ({ expect }) => {
152
149
  const Matrix = Schema.Struct({
153
150
  values: Schema.optional(Schema.Array(Schema.Array(Schema.Number))),
154
- }).pipe(
155
- Type.object({
156
- typename: 'test.com/Matrix',
157
- version: '0.1.0',
158
- }),
159
- );
151
+ }).pipe(Type.makeObject(DXN.make('com.test.type.matrix', '0.1.0')));
160
152
 
161
153
  const matrix = Obj.make(Matrix, {});
162
154
 
@@ -205,12 +197,7 @@ describe('Obj.setValue', () => {
205
197
  const Container = Schema.Struct({
206
198
  name: Schema.String,
207
199
  items: Schema.optional(Schema.Array(Item)),
208
- }).pipe(
209
- Type.object({
210
- typename: 'test.com/Container',
211
- version: '0.1.0',
212
- }),
213
- );
200
+ }).pipe(Type.makeObject(DXN.make('com.test.type.container', '0.1.0')));
214
201
 
215
202
  const container = Obj.make(Container, { name: 'box' });
216
203
 
@@ -232,12 +219,7 @@ describe('Obj.setValue', () => {
232
219
  const TodoList = Schema.Struct({
233
220
  name: Schema.String,
234
221
  tasks: Schema.optional(Schema.Array(Task)),
235
- }).pipe(
236
- Type.object({
237
- typename: 'test.com/TodoList',
238
- version: '0.1.0',
239
- }),
240
- );
222
+ }).pipe(Type.makeObject(DXN.make('com.test.type.todoList', '0.1.0')));
241
223
 
242
224
  const todoList = Obj.make(TodoList, { name: 'My Tasks' });
243
225
 
@@ -261,12 +243,7 @@ describe('Obj.setValue', () => {
261
243
  const Container = Schema.Struct({
262
244
  name: Schema.String,
263
245
  items: Schema.optional(Schema.Array(Item)),
264
- }).pipe(
265
- Type.object({
266
- typename: 'test.com/Container',
267
- version: '0.1.0',
268
- }),
269
- );
246
+ }).pipe(Type.makeObject(DXN.make('com.test.type.container', '0.1.0')));
270
247
 
271
248
  const container = Obj.make(Container, { name: 'box' });
272
249
 
@@ -7,18 +7,20 @@ import { deepMapValues } from '@dxos/util';
7
7
 
8
8
  import {
9
9
  KindId,
10
- MetaId,
11
10
  ObjectDatabaseId,
12
11
  ObjectDeletedId,
12
+ ParentId,
13
13
  RelationSourceDXNId,
14
14
  RelationSourceId,
15
15
  RelationTargetDXNId,
16
16
  RelationTargetId,
17
17
  SchemaId,
18
- SelfDXNId,
18
+ SelfURIId,
19
19
  SnapshotKindId,
20
+ TypeEntityId,
20
21
  TypeId,
21
22
  } from '../common/types';
23
+ import { MetaId } from '../common/types/meta';
22
24
 
23
25
  /**
24
26
  * Copy a Symbol-keyed property from source to target if it has a defined value.
@@ -83,16 +85,21 @@ export const getSnapshot = <T extends object>(obj: T): T => {
83
85
  // Type introspection symbols.
84
86
  copySymbolProperty(source, snapshot, TypeId);
85
87
  copySymbolProperty(source, snapshot, SchemaId);
86
- copySymbolProperty(source, snapshot, SelfDXNId);
88
+ copySymbolProperty(source, snapshot, TypeEntityId);
89
+ copySymbolProperty(source, snapshot, SelfURIId);
87
90
 
88
91
  // Database reference (required for Obj.getDatabase to work on snapshots).
89
92
  copySymbolProperty(source, snapshot, ObjectDatabaseId);
90
93
  copySymbolProperty(source, snapshot, ObjectDeletedId);
91
94
 
92
- // Metadata symbol. Copy arrays so the snapshot is not affected by mutations to the live meta's keys/tags.
95
+ // Parent reference (required for Obj.getParent to work on snapshots).
96
+ copySymbolProperty(source, snapshot, ParentId);
97
+
98
+ // Metadata symbol. Copy arrays/objects so the snapshot is not affected by mutations to the live meta.
93
99
  copySymbolProperty(source, snapshot, MetaId, (meta: any) => ({
94
100
  keys: [...(meta?.keys ?? [])],
95
101
  tags: [...(meta?.tags ?? [])],
102
+ ...(meta?.annotations ? { annotations: { ...meta.annotations } } : {}),
96
103
  }));
97
104
 
98
105
  // Relation endpoint symbols.
@@ -6,29 +6,27 @@ import * as Schema from 'effect/Schema';
6
6
  import * as SchemaAST from 'effect/SchemaAST';
7
7
  import { describe, expect, test } from 'vitest';
8
8
 
9
+ import { DXN } from '@dxos/keys';
10
+
11
+ import * as Type from '../../Type';
9
12
  import { EchoObjectSchema } from '../Entity';
10
13
 
11
14
  const Organization = Schema.Struct({
12
15
  name: Schema.String,
13
- }).pipe(
14
- EchoObjectSchema({
15
- typename: 'com.example.type.organization',
16
- version: '0.1.0',
17
- }),
18
- );
16
+ }).pipe(EchoObjectSchema(DXN.make('com.example.type.organization', '0.1.0')));
19
17
 
20
- interface Organization extends Schema.Schema.Type<typeof Organization> {}
18
+ type Organization = Type.InstanceType<typeof Organization>;
21
19
 
22
20
  describe('EchoObjectSchema DSL', () => {
23
- test('type is a valid schema', async () => {
24
- expect(Schema.isSchema(Organization)).to.be.true;
21
+ test('type is a Type.Type entity', async () => {
22
+ expect(Schema.isSchema(Type.getSchema(Organization))).to.be.true;
25
23
  });
26
24
 
27
25
  test('static typename accessor', async () => {
28
- expect(Organization.typename).to.eq('com.example.type.organization');
26
+ expect(Type.getTypename(Organization)).to.eq('com.example.type.organization');
29
27
  });
30
28
 
31
29
  test('expect schema', async () => {
32
- expect(SchemaAST.isTypeLiteral(Organization.ast)).to.be.true;
30
+ expect(SchemaAST.isTypeLiteral(Type.getSchema(Organization).ast)).to.be.true;
33
31
  });
34
32
  });
@@ -12,7 +12,7 @@ import { type AnyEntity } from '../common/types';
12
12
  * Implements effect schema to define object properties.
13
13
  * Has a typename and version.
14
14
  *
15
- * In contrast to {@link EchoSchema} this definition is not recorded in the database.
15
+ * In contrast to a stored `Type.Type` entity, this definition is not recorded in the database.
16
16
  *
17
17
  * @deprecated Use `Type.AnyObj` from `@dxos/echo` instead.
18
18
  */
@@ -135,18 +135,21 @@ export const prettyQuery = (query: QueryAST.Query): string => {
135
135
  }
136
136
  case 'from': {
137
137
  if (query.from._tag === 'scope') {
138
- const scope = query.from.scope;
139
- const parts: string[] = [];
140
- if (scope.spaceIds !== undefined) {
141
- parts.push(`spaceIds: [${scope.spaceIds.map((s) => JSON.stringify(s)).join(', ')}]`);
138
+ if (query.from.scopes.length === 0) {
139
+ return `${prettyQuery(query.query)}.from('all-accessible-spaces')`;
142
140
  }
143
- if (scope.feeds !== undefined) {
144
- parts.push(`feeds: [${scope.feeds.map(String).join(', ')}]`);
145
- }
146
- if (scope.allFeedsFromSpaces !== undefined) {
147
- parts.push(`allFeedsFromSpaces: ${scope.allFeedsFromSpaces}`);
148
- }
149
- return `${prettyQuery(query.query)}.from({ ${parts.join(', ')} })`;
141
+ const scopeStrs = query.from.scopes.map((scope) => {
142
+ if (scope._tag === 'space') {
143
+ return scope.includeAllFeeds
144
+ ? `{ space: ${JSON.stringify(scope.spaceId)}, includeAllFeeds: true }`
145
+ : `{ space: ${JSON.stringify(scope.spaceId)} }`;
146
+ }
147
+ if (scope._tag === 'feed') {
148
+ return `{ feed: ${JSON.stringify(String(scope.feedUri))} }`;
149
+ }
150
+ return `{ registry: ${JSON.stringify(scope.location)} }`;
151
+ });
152
+ return `${prettyQuery(query.query)}.from([${scopeStrs.join(', ')}])`;
150
153
  }
151
154
  return `${prettyQuery(query.query)}.from(${prettyQuery(query.from.query)})`;
152
155
  }
@@ -2,7 +2,7 @@
2
2
  // Copyright 2024 DXOS.org
3
3
  //
4
4
 
5
- import { type ObjectId } from '@dxos/keys';
5
+ import { type EntityId } from '@dxos/keys';
6
6
  import { isNonNullable } from '@dxos/util';
7
7
 
8
8
  import { type AnyEntity } from '../common/types';
@@ -29,8 +29,8 @@ export const RefArray = Object.freeze({
29
29
  /**
30
30
  * Removes the ref with the given id.
31
31
  */
32
- removeById: (refs: Ref<AnyEntity>[], id: ObjectId) => {
33
- const index = refs.findIndex(Ref.hasObjectId(id));
32
+ removeById: (refs: Ref<AnyEntity>[], id: EntityId) => {
33
+ const index = refs.findIndex(Ref.hasEntityId(id));
34
34
  if (index >= 0) {
35
35
  refs.splice(index, 1);
36
36
  }
@@ -5,46 +5,37 @@
5
5
  import * as Schema from 'effect/Schema';
6
6
  import { describe, expect, test } from 'vitest';
7
7
 
8
- import { DXN, ObjectId } from '@dxos/keys';
8
+ import { EID, EntityId, DXN } from '@dxos/keys';
9
9
 
10
- import { EchoObjectSchema, getObjectDXN } from '../Entity';
10
+ import * as Type from '../../Type';
11
+ import { EchoObjectSchema, getObjectEchoUri } from '../Entity';
11
12
  import { createObject } from '../Obj';
12
13
  import { Ref, getReferenceAst } from './ref';
13
14
 
14
15
  const Task = Schema.Struct({
15
16
  title: Schema.optional(Schema.String),
16
- }).pipe(
17
- EchoObjectSchema({
18
- typename: 'com.example.type.task',
19
- version: '0.1.0',
20
- }),
21
- );
17
+ }).pipe(EchoObjectSchema(DXN.make('com.example.type.task', '0.1.0')));
22
18
 
23
- type Task = Schema.Schema.Type<typeof Task>;
19
+ type Task = Type.InstanceType<typeof Task>;
24
20
 
25
21
  const Contact = Schema.Struct({
26
22
  name: Schema.String,
27
23
  email: Schema.optional(Schema.String),
28
24
  tasks: Schema.Array(Ref(Task)),
29
- }).pipe(
30
- EchoObjectSchema({
31
- typename: 'com.example.type.person',
32
- version: '0.1.0',
33
- }),
34
- );
25
+ }).pipe(EchoObjectSchema(DXN.make('com.example.type.person', '0.1.0')));
35
26
 
36
- type Contact = Schema.Schema.Type<typeof Contact>;
27
+ type Contact = Type.InstanceType<typeof Contact>;
37
28
 
38
29
  describe('Ref', () => {
39
30
  test('Schema is', () => {
40
- Ref(Contact).pipe(Schema.is)(Ref.fromDXN(DXN.parse(`dxn:echo:@:${ObjectId.random()}`)));
31
+ Ref(Contact).pipe(Schema.is)(Ref.fromURI(EID.make({ entityId: EntityId.random() })));
41
32
  });
42
33
 
43
34
  test('ref ast', () => {
44
35
  const ref = Ref(Task);
45
36
  expect(ref.ast._tag).toEqual('Declaration');
46
37
  const refAst = getReferenceAst(ref.ast);
47
- expect(refAst).toEqual({ typename: Task.typename, version: Task.version });
38
+ expect(refAst).toEqual({ typename: Type.getTypename(Task), version: Type.getVersion(Task) });
48
39
  });
49
40
 
50
41
  // TODO(dmaretskyi): Figure out how to expose this in the API.
@@ -55,14 +46,14 @@ describe('Ref', () => {
55
46
  const json = JSON.parse(JSON.stringify(contact));
56
47
  expect(json).toEqual({
57
48
  id: contact.id,
58
- '@type': `dxn:type:${Contact.typename}:${Contact.version}`,
49
+ '@type': `dxn:${Type.getTypename(Contact)}:${Type.getVersion(Contact)}`,
59
50
  '@meta': {
60
51
  keys: [],
61
52
  },
62
53
  name: 'John Doe',
63
54
  tasks: [
64
55
  {
65
- '/': getObjectDXN(task as any)!.toString(),
56
+ '/': getObjectEchoUri(task)!.toString(),
66
57
  target: JSON.parse(JSON.stringify(task)),
67
58
  },
68
59
  ],
@@ -76,25 +67,25 @@ describe('Ref', () => {
76
67
  const json = JSON.parse(JSON.stringify(contact));
77
68
  expect(json).toEqual({
78
69
  id: contact.id,
79
- '@type': `dxn:type:${Contact.typename}:${Contact.version}`,
70
+ '@type': `dxn:${Type.getTypename(Contact)}:${Type.getVersion(Contact)}`,
80
71
  '@meta': {
81
72
  keys: [],
82
73
  },
83
74
  name: 'John Doe',
84
- tasks: [{ '/': getObjectDXN(task)!.toString() }],
75
+ tasks: [{ '/': getObjectEchoUri(task)!.toString() }],
85
76
  });
86
77
  });
87
78
 
88
79
  test('decode object', () => {
89
- const id = ObjectId.random();
80
+ const id = EntityId.random();
90
81
  const contactData = {
91
- id: ObjectId.random(),
82
+ id: EntityId.random(),
92
83
  name: 'John Doe',
93
84
  tasks: [{ '/': `dxn:echo:@:${id}` }],
94
85
  };
95
86
 
96
- const contact = Contact.pipe(Schema.decodeUnknownSync)(contactData);
87
+ const contact = Type.getSchema(Contact).pipe(Schema.decodeUnknownSync)(contactData);
97
88
  expect(Ref.isRef(contact.tasks[0])).toEqual(true);
98
- expect(contact.tasks[0].dxn.toString()).toEqual(`dxn:echo:@:${id}`);
89
+ expect(contact.tasks[0].uri.toString()).toEqual(`dxn:echo:@:${id}`);
99
90
  });
100
91
  });