@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,64 +1,102 @@
1
- import "../chunk-4OIBYSXE.mjs";
2
- import "../chunk-BNCCGLJN.mjs";
3
- import "../chunk-YAHXAYOW.mjs";
4
- import "../chunk-UI6MWK5W.mjs";
5
- import "../chunk-ANHVGJI4.mjs";
6
- import "../chunk-WAK4DMFV.mjs";
7
- import "../chunk-YS6Q3XAD.mjs";
8
- import "../chunk-GZQTCRJB.mjs";
9
- import "../chunk-HBUZJNZO.mjs";
10
- import "../chunk-7RO7CPBZ.mjs";
11
- import "../chunk-OMUPQMLR.mjs";
12
- import "../chunk-EAMSSLZC.mjs";
13
- import "../chunk-TU3GW67D.mjs";
1
+ import "../chunk-UUP46KUQ.mjs";
2
+ import "../chunk-35INCYOE.mjs";
3
+ import "../chunk-QQIYS74I.mjs";
4
+ import "../chunk-5SMDBFVB.mjs";
5
+ import "../chunk-EVK6XBXO.mjs";
6
+ import "../chunk-7LOUAPYZ.mjs";
7
+ import "../chunk-RIVWNMSF.mjs";
8
+ import "../chunk-ZGNNFYHS.mjs";
9
+ import "../chunk-6YDI3J37.mjs";
10
+ import "../chunk-6M2Z6WBH.mjs";
11
+ import "../chunk-LWXVKPPW.mjs";
14
12
  import {
15
- Type_exports,
16
- object,
17
- relation
18
- } from "../chunk-ROG4RXXL.mjs";
19
- import "../chunk-V36VO5SS.mjs";
13
+ Service,
14
+ TypeId
15
+ } from "../chunk-WU3GIANS.mjs";
16
+ import "../chunk-WISOH2XH.mjs";
17
+ import "../chunk-IGK6FN65.mjs";
20
18
  import {
21
19
  Unknown
22
- } from "../chunk-B4BASU6W.mjs";
20
+ } from "../chunk-TYGKCRMK.mjs";
23
21
  import {
24
22
  Ref
25
- } from "../chunk-BVOFLCVF.mjs";
26
- import "../chunk-T6W2LEZU.mjs";
23
+ } from "../chunk-MZ7K3MLL.mjs";
24
+ import "../chunk-SBVFRTST.mjs";
25
+ import {
26
+ Type_exports,
27
+ makeObject as makeObject2,
28
+ makeRelation
29
+ } from "../chunk-T6E37YIP.mjs";
27
30
  import {
28
- EchoSchema,
29
- PersistentSchema,
31
+ TypeSchema,
30
32
  makeObject,
31
33
  subscribe
32
- } from "../chunk-MOR5ERFM.mjs";
33
- import "../chunk-OS35K56T.mjs";
34
+ } from "../chunk-7FPIAJIV.mjs";
35
+ import "../chunk-5SUJPHAE.mjs";
34
36
  import {
35
37
  toJsonSchema
36
- } from "../chunk-JUXPFOEI.mjs";
37
- import "../chunk-DQYLD2RB.mjs";
38
- import "../chunk-G3IQMKF7.mjs";
39
- import "../chunk-4P3IXBLT.mjs";
40
- import "../chunk-PHU22NLC.mjs";
38
+ } from "../chunk-7PI7C4EF.mjs";
39
+ import "../chunk-TFEWTY5A.mjs";
40
+ import "../chunk-3PBP4V4O.mjs";
41
+ import "../chunk-4ZUHOTCG.mjs";
42
+ import "../chunk-WTQJHC75.mjs";
41
43
  import {
42
44
  getSchemaTypename
43
- } from "../chunk-2KHZ36F5.mjs";
44
- import "../chunk-TBKX6JQO.mjs";
45
- import "../chunk-UBEZSGXY.mjs";
45
+ } from "../chunk-R5W6DXR4.mjs";
46
+ import {
47
+ getStaticTypeSchema
48
+ } from "../chunk-O6BH7EPN.mjs";
49
+ import "../chunk-BBFJWWAV.mjs";
46
50
  import "../chunk-J5LGTIGS.mjs";
47
51
 
52
+ // src/testing/registry.ts
53
+ import * as Atom from "@effect-atom/atom/Atom";
54
+ import * as Layer from "effect/Layer";
55
+ import { Event } from "@dxos/async";
56
+ var registryLayerNoop = Layer.succeed(Service, {
57
+ [TypeId]: TypeId,
58
+ id: "noop-registry",
59
+ changed: new Event(),
60
+ local: [],
61
+ add: () => {
62
+ },
63
+ remove: () => false,
64
+ clear: () => {
65
+ },
66
+ get: () => void 0,
67
+ getByURI: () => void 0,
68
+ list: () => [],
69
+ // QueryFn is an overloaded interface — a single generic function cannot satisfy both overload
70
+ // signatures without a cast. This is the intentional type-system boundary.
71
+ query: (_queryOrFilter) => ({
72
+ results: [],
73
+ entries: [],
74
+ run: async () => [],
75
+ runEntries: async () => [],
76
+ runSync: () => [],
77
+ runSyncEntries: () => [],
78
+ first: async () => {
79
+ throw new Error("registryLayerNoop: registry is empty");
80
+ },
81
+ firstOrUndefined: async () => void 0,
82
+ subscribe: () => () => {
83
+ },
84
+ atom: Atom.make(() => [])
85
+ })
86
+ });
87
+
48
88
  // src/testing/test-data.ts
49
- import { DatabaseDirectory, ObjectStructure } from "@dxos/echo-protocol";
50
- import { DXN, ObjectId, PublicKey } from "@dxos/keys";
89
+ import { DatabaseDirectory, EntityStructure } from "@dxos/echo-protocol";
90
+ import { EID, EntityId, PublicKey } from "@dxos/keys";
51
91
 
52
92
  // src/testing/test-schema.ts
53
93
  import * as Schema from "effect/Schema";
94
+ import { DXN } from "@dxos/keys";
54
95
  (function(TestSchema2) {
55
96
  TestSchema2.Expando = Schema.Struct({}, {
56
97
  key: Schema.String,
57
98
  value: Schema.Any
58
- }).pipe(object({
59
- typename: "com.example.type.expando",
60
- version: "0.1.0"
61
- }));
99
+ }).pipe(makeObject2(DXN.make("com.example.type.expando", "0.1.0")));
62
100
  const Nested = Schema.Struct({
63
101
  field: Schema.String
64
102
  });
@@ -87,29 +125,20 @@ import * as Schema from "effect/Schema";
87
125
  classInstance: Schema.instanceOf(TestClass),
88
126
  other: Schema.Any
89
127
  }).pipe(Schema.partial);
90
- TestSchema2.Example = TestSchema2.ExampleSchema.pipe(object({
91
- typename: "com.example.type.example",
92
- version: "0.1.0"
93
- }));
128
+ TestSchema2.Example = TestSchema2.ExampleSchema.pipe(makeObject2(DXN.make("com.example.type.example", "0.1.0")));
94
129
  TestSchema2.MessageStruct = Schema.Struct({
95
130
  // TODO(burdon): Support S.Date; Custom Timestamp (with defaults).
96
131
  // TODO(burdon): Support defaults (update create and create).
97
132
  timestamp: Schema.String.pipe(Schema.propertySignature, Schema.withConstructorDefault(() => (/* @__PURE__ */ new Date()).toISOString()))
98
133
  });
99
- TestSchema2.Message = TestSchema2.MessageStruct.pipe(object({
100
- typename: "com.example.type.message",
101
- version: "0.1.0"
102
- }));
134
+ TestSchema2.Message = TestSchema2.MessageStruct.pipe(makeObject2(DXN.make("com.example.type.message", "0.1.0")));
103
135
  TestSchema2.Organization = Schema.Struct({
104
136
  name: Schema.String,
105
137
  properties: Schema.optional(Schema.Record({
106
138
  key: Schema.String,
107
139
  value: Schema.String
108
140
  }))
109
- }).pipe(object({
110
- typename: "com.example.type.organization",
111
- version: "0.1.0"
112
- }));
141
+ }).pipe(makeObject2(DXN.make("com.example.type.organization", "0.1.0")));
113
142
  TestSchema2.Person = Schema.Struct({
114
143
  name: Schema.String,
115
144
  username: Schema.String,
@@ -130,10 +159,7 @@ import * as Schema from "effect/Schema";
130
159
  label: Schema.String,
131
160
  value: Schema.String
132
161
  }).pipe(Schema.Array, Schema.optional)
133
- }).pipe(Schema.partial, object({
134
- typename: "com.example.type.person",
135
- version: "0.1.0"
136
- }));
162
+ }).pipe(Schema.partial, makeObject2(DXN.make("com.example.type.person", "0.1.0")));
137
163
  TestSchema2.Task = Schema.Struct({
138
164
  title: Schema.optional(Schema.String),
139
165
  deadline: Schema.optional(Schema.String),
@@ -142,22 +168,17 @@ import * as Schema from "effect/Schema";
142
168
  previous: Schema.optional(Schema.suspend(() => Ref(TestSchema2.Task))),
143
169
  subTasks: Schema.optional(Schema.Array(Schema.suspend(() => Ref(TestSchema2.Task)))),
144
170
  description: Schema.optional(Schema.String)
145
- }).pipe(Schema.partial, object({
146
- typename: "com.example.type.task",
147
- version: "0.1.0"
148
- }));
149
- TestSchema2.HasManager = Schema.Struct({}).pipe(relation({
150
- typename: "com.example.type.has-manager",
151
- version: "0.1.0",
171
+ }).pipe(Schema.partial, makeObject2(DXN.make("com.example.type.task", "0.1.0")));
172
+ TestSchema2.HasManager = Schema.Struct({}).pipe(makeRelation({
173
+ dxn: DXN.make("com.example.type.hasManager", "0.1.0"),
152
174
  source: TestSchema2.Person,
153
175
  target: TestSchema2.Person
154
176
  }));
155
177
  TestSchema2.EmployedBy = Schema.Struct({
156
178
  role: Schema.String,
157
179
  since: Schema.optional(Schema.String)
158
- }).pipe(relation({
159
- typename: "com.example.type.employed-by",
160
- version: "0.1.0",
180
+ }).pipe(makeRelation({
181
+ dxn: DXN.make("com.example.type.employedBy", "0.1.0"),
161
182
  source: TestSchema2.Person,
162
183
  target: TestSchema2.Organization
163
184
  }));
@@ -174,138 +195,201 @@ import * as Schema from "effect/Schema";
174
195
  contacts: Schema.Array(Ref(TestSchema2.Person)),
175
196
  type: Schema.Enums(TestSchema2.RecordType)
176
197
  })))
177
- }).pipe(Schema.partial, object({
178
- typename: "com.example.type.container",
179
- version: "0.1.0"
180
- }));
198
+ }).pipe(Schema.partial, makeObject2(DXN.make("com.example.type.container", "0.1.0")));
181
199
  })(TestSchema || (TestSchema = {}));
182
200
  var TestSchema;
183
201
 
184
202
  // src/testing/test-data.ts
185
- var spaceKey = PublicKey.random();
203
+ var cachedSpaceKeyHex;
204
+ var getSpaceKeyHex = () => {
205
+ if (cachedSpaceKeyHex === void 0) {
206
+ cachedSpaceKeyHex = PublicKey.random().toHex();
207
+ }
208
+ return cachedSpaceKeyHex;
209
+ };
210
+ var cachedPeopleAlice;
211
+ var cachedPeopleBob;
212
+ var cachedOrgsDxos;
213
+ var cachedOrgsCyberdyne;
214
+ var cachedWorksFredCyberdyne;
215
+ var cachedWorksAliceAperture;
216
+ var cachedTasksTask1;
217
+ var cachedTasksTask2;
186
218
  var PEOPLE = {
187
- alice: DatabaseDirectory.make({
188
- spaceKey: spaceKey.toHex(),
189
- objects: {
190
- [ObjectId.random()]: ObjectStructure.makeObject({
191
- type: Type_exports.getDXN(TestSchema.Person).toString(),
192
- data: {
193
- name: "Alice"
219
+ get alice() {
220
+ if (cachedPeopleAlice === void 0) {
221
+ cachedPeopleAlice = DatabaseDirectory.make({
222
+ spaceKey: getSpaceKeyHex(),
223
+ objects: {
224
+ [EntityId.random()]: EntityStructure.makeObject({
225
+ type: Type_exports.getURI(TestSchema.Person),
226
+ data: {
227
+ name: "Alice"
228
+ }
229
+ })
194
230
  }
195
- })
231
+ });
196
232
  }
197
- }),
198
- bob: DatabaseDirectory.make({
199
- spaceKey: spaceKey.toHex(),
200
- objects: {
201
- [ObjectId.random()]: ObjectStructure.makeObject({
202
- type: Type_exports.getDXN(TestSchema.Person).toString(),
203
- data: {
204
- name: "Bob"
233
+ return cachedPeopleAlice;
234
+ },
235
+ get bob() {
236
+ if (cachedPeopleBob === void 0) {
237
+ cachedPeopleBob = DatabaseDirectory.make({
238
+ spaceKey: getSpaceKeyHex(),
239
+ objects: {
240
+ [EntityId.random()]: EntityStructure.makeObject({
241
+ type: Type_exports.getURI(TestSchema.Person),
242
+ data: {
243
+ name: "Bob"
244
+ }
245
+ })
205
246
  }
206
- })
247
+ });
207
248
  }
208
- })
249
+ return cachedPeopleBob;
250
+ }
209
251
  };
210
252
  var ORGS = {
211
- dxos: DatabaseDirectory.make({
212
- spaceKey: spaceKey.toHex(),
213
- objects: {
214
- [ObjectId.random()]: ObjectStructure.makeObject({
215
- type: Type_exports.getDXN(TestSchema.Organization).toString(),
216
- data: {
217
- name: "DXOS",
218
- founded: "2023"
253
+ get dxos() {
254
+ if (cachedOrgsDxos === void 0) {
255
+ cachedOrgsDxos = DatabaseDirectory.make({
256
+ spaceKey: getSpaceKeyHex(),
257
+ objects: {
258
+ [EntityId.random()]: EntityStructure.makeObject({
259
+ type: Type_exports.getURI(TestSchema.Organization),
260
+ data: {
261
+ name: "DXOS",
262
+ founded: "2023"
263
+ }
264
+ })
219
265
  }
220
- })
266
+ });
221
267
  }
222
- }),
223
- cyberdyne: DatabaseDirectory.make({
224
- spaceKey: spaceKey.toHex(),
225
- objects: {
226
- [ObjectId.random()]: ObjectStructure.makeObject({
227
- type: Type_exports.getDXN(TestSchema.Organization).toString(),
228
- data: {
229
- name: "Cyberdyne Systems",
230
- founded: "1984"
268
+ return cachedOrgsDxos;
269
+ },
270
+ get cyberdyne() {
271
+ if (cachedOrgsCyberdyne === void 0) {
272
+ cachedOrgsCyberdyne = DatabaseDirectory.make({
273
+ spaceKey: getSpaceKeyHex(),
274
+ objects: {
275
+ [EntityId.random()]: EntityStructure.makeObject({
276
+ type: Type_exports.getURI(TestSchema.Organization),
277
+ data: {
278
+ name: "Cyberdyne Systems",
279
+ founded: "1984"
280
+ }
281
+ })
231
282
  }
232
- })
283
+ });
233
284
  }
234
- })
285
+ return cachedOrgsCyberdyne;
286
+ }
235
287
  };
236
288
  var WORKS_FOR = {
237
- fredWorksForCyberdyne: DatabaseDirectory.make({
238
- spaceKey: spaceKey.toHex(),
239
- objects: {
240
- [ObjectId.random()]: ObjectStructure.makeRelation({
241
- type: Type_exports.getDXN(TestSchema.EmployedBy).toString(),
242
- source: {
243
- "/": DXN.fromLocalObjectId(Object.keys(PEOPLE.bob.objects)[0]).toString()
244
- },
245
- target: {
246
- "/": DXN.fromLocalObjectId(Object.keys(ORGS.cyberdyne.objects)[0]).toString()
247
- },
248
- data: {
249
- since: "2020",
250
- position: "Engineer"
289
+ get fredWorksForCyberdyne() {
290
+ if (cachedWorksFredCyberdyne === void 0) {
291
+ cachedWorksFredCyberdyne = DatabaseDirectory.make({
292
+ spaceKey: getSpaceKeyHex(),
293
+ objects: {
294
+ [EntityId.random()]: EntityStructure.makeRelation({
295
+ type: Type_exports.getURI(TestSchema.EmployedBy),
296
+ source: {
297
+ "/": EID.make({
298
+ entityId: Object.keys(PEOPLE.bob.objects)[0]
299
+ })
300
+ },
301
+ target: {
302
+ "/": EID.make({
303
+ entityId: Object.keys(ORGS.cyberdyne.objects)[0]
304
+ })
305
+ },
306
+ data: {
307
+ since: "2020",
308
+ position: "Engineer"
309
+ }
310
+ })
251
311
  }
252
- })
312
+ });
253
313
  }
254
- }),
255
- aliceWorksForAperture: DatabaseDirectory.make({
256
- spaceKey: spaceKey.toHex(),
257
- objects: {
258
- [ObjectId.random()]: ObjectStructure.makeRelation({
259
- type: Type_exports.getDXN(TestSchema.EmployedBy).toString(),
260
- source: {
261
- "/": DXN.fromLocalObjectId(Object.keys(PEOPLE.alice.objects)[0]).toString()
262
- },
263
- target: {
264
- "/": DXN.fromLocalObjectId(Object.keys(ORGS.dxos.objects)[0]).toString()
265
- },
266
- data: {
267
- since: "2018",
268
- position: "Research Scientist"
314
+ return cachedWorksFredCyberdyne;
315
+ },
316
+ get aliceWorksForAperture() {
317
+ if (cachedWorksAliceAperture === void 0) {
318
+ cachedWorksAliceAperture = DatabaseDirectory.make({
319
+ spaceKey: getSpaceKeyHex(),
320
+ objects: {
321
+ [EntityId.random()]: EntityStructure.makeRelation({
322
+ type: Type_exports.getURI(TestSchema.EmployedBy),
323
+ source: {
324
+ "/": EID.make({
325
+ entityId: Object.keys(PEOPLE.alice.objects)[0]
326
+ })
327
+ },
328
+ target: {
329
+ "/": EID.make({
330
+ entityId: Object.keys(ORGS.dxos.objects)[0]
331
+ })
332
+ },
333
+ data: {
334
+ since: "2018",
335
+ position: "Research Scientist"
336
+ }
337
+ })
269
338
  }
270
- })
339
+ });
271
340
  }
272
- })
341
+ return cachedWorksAliceAperture;
342
+ }
273
343
  };
274
344
  var TASKS = {
275
- task1: DatabaseDirectory.make({
276
- spaceKey: spaceKey.toHex(),
277
- objects: {
278
- [ObjectId.random()]: ObjectStructure.makeObject({
279
- type: Type_exports.getDXN(TestSchema.Task).toString(),
280
- data: {
281
- title: "Complete project documentation",
282
- description: "Write comprehensive documentation for the new system",
283
- status: "in-progress",
284
- dueDate: "2023-12-31",
285
- assignee: {
286
- "/": DXN.fromLocalObjectId(Object.keys(PEOPLE.bob.objects)[0]).toString()
287
- }
345
+ get task1() {
346
+ if (cachedTasksTask1 === void 0) {
347
+ cachedTasksTask1 = DatabaseDirectory.make({
348
+ spaceKey: getSpaceKeyHex(),
349
+ objects: {
350
+ [EntityId.random()]: EntityStructure.makeObject({
351
+ type: Type_exports.getURI(TestSchema.Task),
352
+ data: {
353
+ title: "Complete project documentation",
354
+ description: "Write comprehensive documentation for the new system",
355
+ status: "in-progress",
356
+ dueDate: "2023-12-31",
357
+ assignee: {
358
+ "/": EID.make({
359
+ entityId: Object.keys(PEOPLE.bob.objects)[0]
360
+ })
361
+ }
362
+ }
363
+ })
288
364
  }
289
- })
365
+ });
290
366
  }
291
- }),
292
- task2: DatabaseDirectory.make({
293
- spaceKey: spaceKey.toHex(),
294
- objects: {
295
- [ObjectId.random()]: ObjectStructure.makeObject({
296
- type: Type_exports.getDXN(TestSchema.Task).toString(),
297
- data: {
298
- title: "Run experiments",
299
- description: "Conduct series of experiments on the portal device",
300
- status: "pending",
301
- dueDate: "2023-11-15",
302
- assignee: {
303
- "/": DXN.fromLocalObjectId(Object.keys(PEOPLE.alice.objects)[0]).toString()
304
- }
367
+ return cachedTasksTask1;
368
+ },
369
+ get task2() {
370
+ if (cachedTasksTask2 === void 0) {
371
+ cachedTasksTask2 = DatabaseDirectory.make({
372
+ spaceKey: getSpaceKeyHex(),
373
+ objects: {
374
+ [EntityId.random()]: EntityStructure.makeObject({
375
+ type: Type_exports.getURI(TestSchema.Task),
376
+ data: {
377
+ title: "Run experiments",
378
+ description: "Conduct series of experiments on the portal device",
379
+ status: "pending",
380
+ dueDate: "2023-11-15",
381
+ assignee: {
382
+ "/": EID.make({
383
+ entityId: Object.keys(PEOPLE.alice.objects)[0]
384
+ })
385
+ }
386
+ }
387
+ })
305
388
  }
306
- })
389
+ });
307
390
  }
308
- })
391
+ return cachedTasksTask2;
392
+ }
309
393
  };
310
394
 
311
395
  // src/testing/util.ts
@@ -315,15 +399,13 @@ var createEchoSchema = (schema, version = "0.1.0") => {
315
399
  const jsonSchema = toJsonSchema(schema);
316
400
  const typename = getSchemaTypename(schema);
317
401
  assertArgument(typename, "typename", "Schema does not have a typename.");
318
- const echoSchema = new EchoSchema(makeObject(PersistentSchema, {
319
- typename,
320
- version,
402
+ return makeObject(getStaticTypeSchema(TypeSchema), {
321
403
  jsonSchema
322
- }));
323
- subscribe(echoSchema.persistentSchema, () => {
324
- echoSchema._invalidate();
325
- });
326
- return echoSchema;
404
+ }, {
405
+ keys: [],
406
+ key: typename,
407
+ version
408
+ }, TypeSchema);
327
409
  };
328
410
  var prepareAstForCompare = (obj) => deepMapValues(obj, (value, recurse) => {
329
411
  if (typeof value === "function") {
@@ -370,6 +452,7 @@ export {
370
452
  WORKS_FOR,
371
453
  createEchoSchema,
372
454
  prepareAstForCompare,
455
+ registryLayerNoop,
373
456
  updateCounter
374
457
  };
375
458
  //# sourceMappingURL=index.mjs.map