@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 +1 @@
1
- {"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../../../../../src/internal/Obj/common.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAMxC,MAAM,MAAM,kBAAkB,GAAG;IAE/B,OAAO,CAAC,EAAE,IAAI,CAAC;IAEf,MAAM,CAAC,EAAE,IAAI,CAAC;CACf,CAAC;AAEF;;GAEG;AAGH,KAAK,sBAAsB,CACzB,YAAY,SAAS,MAAM,CAAC,MAAM,CAAC,MAAM,EACzC,OAAO,SAAS,kBAAkB,IAChC,OAAO,CAAC,SAAS,CAAC,SAAS,OAAO,GAClC,MAAM,CAAC,eAAe,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,GACjE,MAAM,CAAC,eAAe,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC;AAE7D;;GAEG;AAGH,MAAM,MAAM,iBAAiB,CAC3B,YAAY,SAAS,MAAM,CAAC,MAAM,CAAC,MAAM,EACzC,OAAO,SAAS,kBAAkB,IAChC,sBAAsB,CAAC,YAAY,EAAE,OAAO,CAAC,GAAG;IAAE,EAAE,EAAE,MAAM,CAAA;CAAE,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,SAAS,OAAO,GACjG,MAAM,CAAC,eAAe,CAAC,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,GACjF,EAAE,CAAC,CAAC;AAEV,eAAO,MAAM,oBAAoB,GAC/B,UAAU,MAAM,EAChB,SAAS,MAAM,EACf,YAAY,MAAM,CAAC,MAAM,CAAC,YAAY,KACrC,MAAM,CAAC,WAAW,CAAC,GAAG,CAuBxB,CAAC"}
1
+ {"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../../../../../src/internal/Obj/common.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAMxC,MAAM,MAAM,kBAAkB,GAAG;IAE/B,OAAO,CAAC,EAAE,IAAI,CAAC;IAEf,MAAM,CAAC,EAAE,IAAI,CAAC;CACf,CAAC;AAEF;;GAEG;AAGH,KAAK,sBAAsB,CACzB,YAAY,SAAS,MAAM,CAAC,MAAM,CAAC,MAAM,EACzC,OAAO,SAAS,kBAAkB,IAChC,OAAO,CAAC,SAAS,CAAC,SAAS,OAAO,GAClC,MAAM,CAAC,eAAe,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,GACjE,MAAM,CAAC,eAAe,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC;AAE7D;;GAEG;AAGH,MAAM,MAAM,iBAAiB,CAC3B,YAAY,SAAS,MAAM,CAAC,MAAM,CAAC,MAAM,EACzC,OAAO,SAAS,kBAAkB,IAChC,sBAAsB,CAAC,YAAY,EAAE,OAAO,CAAC,GAAG;IAAE,EAAE,EAAE,MAAM,CAAA;CAAE,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,SAAS,OAAO,GACjG,MAAM,CAAC,eAAe,CAAC,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,GACjF,EAAE,CAAC,CAAC;AAEV,eAAO,MAAM,oBAAoB,aACrB,MAAM,WACP,MAAM,cACH,MAAM,CAAC,MAAM,CAAC,YAAY,KACrC,MAAM,CAAC,WAAW,CAAC,GAAG,CAuBxB,CAAC"}
@@ -1,10 +1,14 @@
1
- import type * as Schema from 'effect/Schema';
2
- import { EntityKind, KindId } from '../common/types';
3
- export type CreateObjectProps<T> = T extends {
1
+ import type * as Type from '../../Type';
2
+ import { KindId, SchemaKindId, StaticTypeSchemaSlot } from '../common/types';
3
+ import { type EntityMeta } from '../common/types/meta';
4
+ import { MetaId } from '../common/types/model-symbols';
5
+ export type CreateObjectProps<T> = (T extends {
4
6
  id: string;
5
- } ? Omit<T, 'id' | KindId> & {
7
+ } ? Omit<T, 'id' | KindId | SchemaKindId | StaticTypeSchemaSlot> & {
6
8
  id?: string;
7
- } : T;
9
+ } : Omit<T, KindId | SchemaKindId | StaticTypeSchemaSlot>) & {
10
+ readonly [MetaId]?: Partial<EntityMeta>;
11
+ };
8
12
  /**
9
13
  * Creates a new object instance from a schema and data, without signal reactivity.
10
14
  * This static version creates plain JavaScript objects that are not reactive/observable.
@@ -21,10 +25,7 @@ export type CreateObjectProps<T> = T extends {
21
25
  * const Contact = Schema.Struct({
22
26
  * name: Schema.String,
23
27
  * email: Schema.String,
24
- * }).pipe(Type.object({
25
- * typename: 'com.example.type.person',
26
- * version: '0.1.0',
27
- * }))
28
+ * }).pipe(Type.makeObject(DXN.make('com.example.type.person', '0.1.0')))
28
29
  *
29
30
  * const contact = createObject(Contact, {
30
31
  * name: "John",
@@ -32,8 +33,7 @@ export type CreateObjectProps<T> = T extends {
32
33
  * })
33
34
  * ```
34
35
  */
35
- export declare const createObject: <S extends Schema.Schema.AnyNoContext>(schema: S, props: CreateObjectProps<Schema.Schema.Type<S>>) => CreateObjectProps<Schema.Schema.Type<S>> & {
36
- id: string;
37
- [KindId]: EntityKind;
36
+ export declare const createObject: {
37
+ <T extends Type.AnyEntity>(input: T, props: NoInfer<CreateObjectProps<Type.InstanceType<T>>>): Type.InstanceType<T>;
38
38
  };
39
39
  //# sourceMappingURL=create-object.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"create-object.d.ts","sourceRoot":"","sources":["../../../../../src/internal/Obj/create-object.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,KAAK,MAAM,MAAM,eAAe,CAAC;AAQ7C,OAAO,EAAE,UAAU,EAAE,MAAM,EAAqB,MAAM,iBAAiB,CAAC;AAYxE,MAAM,MAAM,iBAAiB,CAAC,CAAC,IAAI,CAAC,SAAS;IAAE,EAAE,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAAC,CAAC,EAAE,IAAI,GAAG,MAAM,CAAC,GAAG;IAAE,EAAE,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,CAAC,CAAC;AAE3G;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAEH,eAAO,MAAM,YAAY,GAAI,CAAC,SAAS,MAAM,CAAC,MAAM,CAAC,YAAY,EAC/D,QAAQ,CAAC,EACT,OAAO,iBAAiB,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAC9C,iBAAiB,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,CAAC,MAAM,CAAC,EAAE,UAAU,CAAA;CAoC/E,CAAC"}
1
+ {"version":3,"file":"create-object.d.ts","sourceRoot":"","sources":["../../../../../src/internal/Obj/create-object.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,KAAK,IAAI,MAAM,YAAY,CAAC;AAGxC,OAAO,EAEL,MAAM,EACN,YAAY,EACZ,oBAAoB,EAIrB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,MAAM,EAAE,MAAM,+BAA+B,CAAC;AAiBvD,MAAM,MAAM,iBAAiB,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS;IAAE,EAAE,EAAE,MAAM,CAAA;CAAE,GACxD,IAAI,CAAC,CAAC,EAAE,IAAI,GAAG,MAAM,GAAG,YAAY,GAAG,oBAAoB,CAAC,GAAG;IAAE,EAAE,CAAC,EAAE,MAAM,CAAA;CAAE,GAC9E,IAAI,CAAC,CAAC,EAAE,MAAM,GAAG,YAAY,GAAG,oBAAoB,CAAC,CAAC,GAAG;IAC3D,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC;CACzC,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH,eAAO,MAAM,YAAY,EAAE;IACzB,CAAC,CAAC,SAAS,IAAI,CAAC,SAAS,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,iBAAiB,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;CAqErH,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"deleted.d.ts","sourceRoot":"","sources":["../../../../../src/internal/Obj/deleted.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAGrD;;GAEG;AACH,eAAO,MAAM,SAAS,GAAI,KAAK,aAAa,KAAG,OAQ9C,CAAC"}
1
+ {"version":3,"file":"deleted.d.ts","sourceRoot":"","sources":["../../../../../src/internal/Obj/deleted.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAGrD;;GAEG;AACH,eAAO,MAAM,SAAS,QAAS,aAAa,KAAG,OAQ9C,CAAC"}
@@ -1,11 +1,11 @@
1
1
  export * from './common';
2
2
  export * from './create-object';
3
3
  export * from './deleted';
4
- export * from './ids';
5
4
  export * from './json-serializer';
6
5
  export * from './schema-validator';
7
6
  export * from './set-value';
8
7
  export * from './snapshot';
9
8
  export * from './typed-object';
9
+ export * from './atoms';
10
10
  export * from './clone';
11
11
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/internal/Obj/index.ts"],"names":[],"mappings":"AAIA,cAAc,UAAU,CAAC;AACzB,cAAc,iBAAiB,CAAC;AAChC,cAAc,WAAW,CAAC;AAC1B,cAAc,OAAO,CAAC;AACtB,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AACnC,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,SAAS,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/internal/Obj/index.ts"],"names":[],"mappings":"AAIA,cAAc,UAAU,CAAC;AACzB,cAAc,iBAAiB,CAAC;AAChC,cAAc,WAAW,CAAC;AAC1B,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AACnC,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC"}
@@ -1,5 +1,5 @@
1
- import { type EncodedReference, ObjectStructure } from '@dxos/echo-protocol';
2
- import { DXN } from '@dxos/keys';
1
+ import { type EncodedReference, EntityStructure } from '@dxos/echo-protocol';
2
+ import { EntityId, URI } from '@dxos/keys';
3
3
  import type * as Database from '../../Database';
4
4
  import type * as Obj from '../../Obj';
5
5
  import { attachTypedJsonSerializer } from '../common/proxy';
@@ -27,19 +27,19 @@ export declare const objectToJSON: <T extends AnyEntity>(obj: T) => SerializedOb
27
27
  *
28
28
  * @param jsonData - JSON representation of the object.
29
29
  * @param options.refResolver - Resolver for references.
30
- * @param options.dxn - Override object DXN.
30
+ * @param options.uri - Override object URI.
31
31
  * @param options.database - Database to associate with the object.
32
32
  */
33
- export declare const objectFromJSON: (jsonData: unknown, { refResolver, dxn, database, parent, }?: {
33
+ export declare const objectFromJSON: (jsonData: unknown, { refResolver, uri, database, parent, }?: {
34
34
  refResolver?: RefResolver;
35
- dxn?: DXN;
35
+ uri?: URI.URI;
36
36
  database?: Database.Database;
37
37
  parent?: Obj.Unknown;
38
38
  }) => Promise<AnyEntity>;
39
39
  export declare const setRefResolverOnData: (obj: AnyEntity, refResolver: RefResolver) => void;
40
40
  /**
41
- * Convert ObjectStructure to JSON data for indexing.
42
- * Different from {@link objectToJSON} as it takes the internal {@link ObjectStructure} representation directly
41
+ * Convert EntityStructure to JSON data for indexing.
42
+ * Different from {@link objectToJSON} as it takes the internal {@link EntityStructure} representation directly
43
43
  */
44
- export declare const objectStructureToJson: (objectId: string, structure: ObjectStructure) => Obj.JSON;
44
+ export declare const objectStructureToJson: (objectId: EntityId, structure: EntityStructure) => Obj.JSON;
45
45
  //# sourceMappingURL=json-serializer.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"json-serializer.d.ts","sourceRoot":"","sources":["../../../../../src/internal/Obj/json-serializer.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,KAAK,gBAAgB,EAAE,eAAe,EAAsB,MAAM,qBAAqB,CAAC;AAEjG,OAAO,EAAE,GAAG,EAAY,MAAM,YAAY,CAAC;AAG3C,OAAO,KAAK,KAAK,QAAQ,MAAM,gBAAgB,CAAC;AAChD,OAAO,KAAK,KAAK,GAAG,MAAM,WAAW,CAAC;AAEtC,OAAO,EAAE,yBAAyB,EAA6C,MAAM,iBAAiB,CAAC;AACvG,OAAO,EAIL,KAAK,SAAS,EAOf,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAML,KAAK,UAAU,EAOhB,MAAM,WAAW,CAAC;AACnB,OAAO,EAAE,GAAG,EAAE,KAAK,WAAW,EAA2C,MAAM,QAAQ,CAAC;AAGxF,OAAO,EAAE,yBAAyB,EAAE,CAAC;AAErC,KAAK,cAAc,CAAC,CAAC,IACnB,CAAC,SAAS,GAAG,CAAC,GAAG,CAAC,GACd,gBAAgB,GAChB,CAAC,SAAS,MAAM,GACd;KACG,CAAC,IAAI,MAAM,CAAC,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;CACrC,GACD,CAAC,CAAC;AAEV,KAAK,gBAAgB,CAAC,CAAC,SAAS;IAAE,EAAE,EAAE,MAAM,CAAA;CAAE,IAAI;KAC/C,CAAC,IAAI,MAAM,CAAC,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;CACrC,GAAG,UAAU,CAAC;AAEf;;GAEG;AACH,eAAO,MAAM,YAAY,GAAI,CAAC,SAAS,SAAS,EAAE,KAAK,CAAC,KAAG,gBAAgB,CAAC,CAAC,CAI5E,CAAC;AAEF;;;;;;;;;;GAUG;AACH,eAAO,MAAM,cAAc,GACzB,UAAU,OAAO,EACjB,0CAKG;IAAE,WAAW,CAAC,EAAE,WAAW,CAAC;IAAC,GAAG,CAAC,EAAE,GAAG,CAAC;IAAC,QAAQ,CAAC,EAAE,QAAQ,CAAC,QAAQ,CAAC;IAAC,MAAM,CAAC,EAAE,GAAG,CAAC,OAAO,CAAA;CAAO,KACnG,OAAO,CAAC,SAAS,CA+EnB,CAAC;AA4BF,eAAO,MAAM,oBAAoB,GAAI,KAAK,SAAS,EAAE,aAAa,WAAW,SAU5E,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,qBAAqB,GAAI,UAAU,MAAM,EAAE,WAAW,eAAe,KAAG,GAAG,CAAC,IAUxF,CAAC"}
1
+ {"version":3,"file":"json-serializer.d.ts","sourceRoot":"","sources":["../../../../../src/internal/Obj/json-serializer.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,KAAK,gBAAgB,EAAE,eAAe,EAAsB,MAAM,qBAAqB,CAAC;AAEjG,OAAO,EAAO,QAAQ,EAAE,GAAG,EAAE,MAAM,YAAY,CAAC;AAGhD,OAAO,KAAK,KAAK,QAAQ,MAAM,gBAAgB,CAAC;AAChD,OAAO,KAAK,KAAK,GAAG,MAAM,WAAW,CAAC;AAEtC,OAAO,EAAE,yBAAyB,EAA6C,MAAM,iBAAiB,CAAC;AACvG,OAAO,EAGL,KAAK,SAAS,EAMf,MAAM,iBAAiB,CAAC;AAGzB,OAAO,EAOL,KAAK,UAAU,EAOhB,MAAM,WAAW,CAAC;AACnB,OAAO,EAAE,GAAG,EAAE,KAAK,WAAW,EAA2C,MAAM,QAAQ,CAAC;AAGxF,OAAO,EAAE,yBAAyB,EAAE,CAAC;AAErC,KAAK,cAAc,CAAC,CAAC,IACnB,CAAC,SAAS,GAAG,CAAC,GAAG,CAAC,GACd,gBAAgB,GAChB,CAAC,SAAS,MAAM,GACd;KACG,CAAC,IAAI,MAAM,CAAC,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;CACrC,GACD,CAAC,CAAC;AAEV,KAAK,gBAAgB,CAAC,CAAC,SAAS;IAAE,EAAE,EAAE,MAAM,CAAA;CAAE,IAAI;KAC/C,CAAC,IAAI,MAAM,CAAC,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;CACrC,GAAG,UAAU,CAAC;AAEf;;GAEG;AACH,eAAO,MAAM,YAAY,GAAI,CAAC,SAAS,SAAS,OAAO,CAAC,KAAG,gBAAgB,CAAC,CAAC,CAI5E,CAAC;AAEF;;;;;;;;;;GAUG;AACH,eAAO,MAAM,cAAc,aACf,OAAO,4CAMd;IAAE,WAAW,CAAC,EAAE,WAAW,CAAC;IAAC,GAAG,CAAC,EAAE,GAAG,CAAC,GAAG,CAAC;IAAC,QAAQ,CAAC,EAAE,QAAQ,CAAC,QAAQ,CAAC;IAAC,MAAM,CAAC,EAAE,GAAG,CAAC,OAAO,CAAA;CAAE,KAClG,OAAO,CAAC,SAAS,CAiGnB,CAAC;AA6DF,eAAO,MAAM,oBAAoB,QAAS,SAAS,eAAe,WAAW,SAU5E,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,qBAAqB,aAAc,QAAQ,aAAa,eAAe,KAAG,GAAG,CAAC,IAc1F,CAAC"}
@@ -1,7 +1,7 @@
1
1
  import { type Mutable } from '../common/proxy';
2
2
  /**
3
3
  * Set a deeply nested property on an object.
4
- * Must be called within an Obj.change or Relation.change callback.
4
+ * Must be called within an Obj.update or Relation.update callback.
5
5
  */
6
6
  export declare const setValue: (obj: Mutable<any>, path: readonly (string | number)[], value: any) => void;
7
7
  //# sourceMappingURL=set-value.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"set-value.d.ts","sourceRoot":"","sources":["../../../../../src/internal/Obj/set-value.ts"],"names":[],"mappings":"AAkBA,OAAO,EAAE,KAAK,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAG/C;;;GAGG;AACH,eAAO,MAAM,QAAQ,GAAI,KAAK,OAAO,CAAC,GAAG,CAAC,EAAE,MAAM,SAAS,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,EAAE,OAAO,GAAG,KAAG,IAqC5F,CAAC"}
1
+ {"version":3,"file":"set-value.d.ts","sourceRoot":"","sources":["../../../../../src/internal/Obj/set-value.ts"],"names":[],"mappings":"AAWA,OAAO,EAAE,KAAK,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAG/C;;;GAGG;AACH,eAAO,MAAM,QAAQ,QAAS,OAAO,CAAC,GAAG,CAAC,QAAQ,SAAS,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,SAAS,GAAG,KAAG,IAqC5F,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"snapshot.d.ts","sourceRoot":"","sources":["../../../../../src/internal/Obj/snapshot.ts"],"names":[],"mappings":"AAoDA;;;GAGG;AACH,eAAO,MAAM,WAAW,GAAI,CAAC,SAAS,MAAM,EAAE,KAAK,CAAC,KAAG,CAgDtD,CAAC"}
1
+ {"version":3,"file":"snapshot.d.ts","sourceRoot":"","sources":["../../../../../src/internal/Obj/snapshot.ts"],"names":[],"mappings":"AAsDA;;;GAGG;AACH,eAAO,MAAM,WAAW,GAAI,CAAC,SAAS,MAAM,OAAO,CAAC,KAAG,CAuDtD,CAAC"}
@@ -6,7 +6,7 @@ import { type AnyEntity } from '../common/types';
6
6
  * Implements effect schema to define object properties.
7
7
  * Has a typename and version.
8
8
  *
9
- * In contrast to {@link EchoSchema} this definition is not recorded in the database.
9
+ * In contrast to a stored `Type.Type` entity, this definition is not recorded in the database.
10
10
  *
11
11
  * @deprecated Use `Type.AnyObj` from `@dxos/echo` instead.
12
12
  */
@@ -0,0 +1,2 @@
1
+ export * from './pretty';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/internal/Query/index.ts"],"names":[],"mappings":"AAIA,cAAc,UAAU,CAAC"}
@@ -7,4 +7,4 @@ export declare const prettyFilter: (filter: QueryAST.Filter) => string;
7
7
  * Returns a human-readable string representation of a Query AST.
8
8
  */
9
9
  export declare const prettyQuery: (query: QueryAST.Query) => string;
10
- //# sourceMappingURL=Query.d.ts.map
10
+ //# sourceMappingURL=pretty.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pretty.d.ts","sourceRoot":"","sources":["../../../../../src/internal/Query/pretty.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAEpD;;GAEG;AACH,eAAO,MAAM,YAAY,WAAY,QAAQ,CAAC,MAAM,KAAG,MAgEtD,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,WAAW,UAAW,QAAQ,CAAC,KAAK,KAAG,MAmFnD,CAAC"}
@@ -0,0 +1,10 @@
1
+ import * as Atom from '@effect-atom/atom/Atom';
2
+ import type { Ref } from './ref';
3
+ /**
4
+ * Atom family for ECHO refs.
5
+ * Uses ref reference as key — same ref returns same atom.
6
+ * This atom only updates once when the ref loads — it does not subscribe to target object changes.
7
+ * Use `Obj.atom(ref)` if you need reactive snapshots of ECHO objects via a ref.
8
+ */
9
+ export declare const refSimpleFamily: <T>(arg: Ref<T>) => Atom.Atom<T | undefined>;
10
+ //# sourceMappingURL=atoms.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"atoms.d.ts","sourceRoot":"","sources":["../../../../../src/internal/Ref/atoms.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,IAAI,MAAM,wBAAwB,CAAC;AAE/C,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;AAGjC;;;;;GAKG;AACH,eAAO,MAAM,eAAe,GAAgB,CAAC,0CAI3C,CAAC"}
@@ -1,4 +1,4 @@
1
- import { type ObjectId } from '@dxos/keys';
1
+ import { type EntityId } from '@dxos/keys';
2
2
  import { type AnyEntity } from '../common/types';
3
3
  import { Ref } from './ref';
4
4
  /**
@@ -16,6 +16,6 @@ export declare const RefArray: Readonly<{
16
16
  /**
17
17
  * Removes the ref with the given id.
18
18
  */
19
- removeById: (refs: Ref<AnyEntity>[], id: ObjectId) => void;
19
+ removeById: (refs: Ref<AnyEntity>[], id: EntityId) => void;
20
20
  }>;
21
21
  //# sourceMappingURL=ref-array.d.ts.map
@@ -1,3 +1,4 @@
1
+ import type * as Atom from '@effect-atom/atom/Atom';
1
2
  import * as Equal from 'effect/Equal';
2
3
  import * as Hash from 'effect/Hash';
3
4
  import * as Pipeable from 'effect/Pipeable';
@@ -6,8 +7,9 @@ import * as SchemaAST from 'effect/SchemaAST';
6
7
  import type * as Types from 'effect/Types';
7
8
  import { type CustomInspectFunction, inspectCustom } from '@dxos/debug';
8
9
  import { EncodedReference } from '@dxos/echo-protocol';
9
- import { DXN, ObjectId } from '@dxos/keys';
10
- import type { AnyEntity, AnyProperties } from '../common/types';
10
+ import { EntityId, type URI } from '@dxos/keys';
11
+ import type * as Type from '../../Type';
12
+ import { type AnyEntity, type AnyProperties, type UnknownTypeSchema } from '../common/types';
11
13
  import { type JsonSchemaType } from '../JsonSchema';
12
14
  /**
13
15
  * The `$id` and `$ref` fields for an ECHO reference schema.
@@ -41,7 +43,7 @@ export interface RefSchema<T extends AnyEntity> extends Schema.SchemaClass<Ref<T
41
43
  * Type of the `Ref` function and extra methods attached to it.
42
44
  */
43
45
  export interface RefFn {
44
- <S extends Schema.Schema.Any>(schema: S): RefSchema<Schema.Schema.Type<S>>;
46
+ <S extends Type.AnyEntity | UnknownTypeSchema<any, any> = Type.AnyEntity>(schema: S): RefSchema<S extends Type.AnyType ? Type.AnyEntity : S extends Type.AnyObj | Type.AnyRelation ? Type.InstanceType<S> : S extends UnknownTypeSchema<infer A, any> ? A : never>;
45
47
  /**
46
48
  * @returns True if the object is a reference.
47
49
  */
@@ -49,7 +51,7 @@ export interface RefFn {
49
51
  /**
50
52
  * @returns True if the reference points to the given object id.
51
53
  */
52
- hasObjectId: (id: ObjectId) => (ref: Ref<any>) => boolean;
54
+ hasEntityId: (id: EntityId) => (ref: Ref<any>) => boolean;
53
55
  /**
54
56
  * @returns True if the schema is a reference schema.
55
57
  */
@@ -63,9 +65,10 @@ export interface RefFn {
63
65
  */
64
66
  make: <T extends AnyEntity>(object: T) => Ref<T>;
65
67
  /**
66
- * Constructs a reference that points to the object specified by the provided DXN.
68
+ * Constructs a reference that points to the object specified by the provided URI
69
+ * (either an `echo:` EID for an object reference or a `dxn:` DXN for a type reference).
67
70
  */
68
- fromDXN: (dxn: DXN) => Ref<any>;
71
+ fromURI: (uri: URI.URI) => Ref<any>;
69
72
  }
70
73
  /**
71
74
  * Schema builder for references.
@@ -77,9 +80,9 @@ export declare const Ref: RefFn;
77
80
  */
78
81
  export interface Ref<T> extends Pipeable.Pipeable {
79
82
  /**
80
- * Target object DXN.
83
+ * Target URI (either an `echo:` EID for an object reference or a `dxn:` DXN for a type reference).
81
84
  */
82
- get dxn(): DXN;
85
+ get uri(): URI.URI;
83
86
  /**
84
87
  * Returns true if the reference has a target available (inlined or resolver set).
85
88
  */
@@ -100,6 +103,15 @@ export interface Ref<T> extends Pipeable.Pipeable {
100
103
  * @returns Promise that will resolves with the target object or undefined if the object is not loaded locally.
101
104
  */
102
105
  tryLoad(): Promise<T | undefined>;
106
+ /**
107
+ * Subscribe to the ref's resolution event.
108
+ * The callback fires when the target object becomes available in the working set
109
+ * (e.g. when its document is loaded after sibling-client mutation).
110
+ * Note: the resolver only schedules a notification when the target is requested
111
+ * via {@link target} while it is not yet loaded.
112
+ * @returns Function that unsubscribes the callback.
113
+ */
114
+ onResolved(callback: () => void): () => void;
103
115
  /**
104
116
  * Do not inline the target object in the reference.
105
117
  * Makes .target unavailable unless the reference is connected to a database context.
@@ -112,6 +124,12 @@ export interface Ref<T> extends Pipeable.Pipeable {
112
124
  * Clones the reference object.
113
125
  */
114
126
  noInline(): Ref<T>;
127
+ /**
128
+ * Read-only atom for the ref target.
129
+ * Resolves once when the target loads; does NOT subscribe to target object mutations.
130
+ * Use `Obj.atom(ref)` if you need reactive snapshots that update on every object mutation.
131
+ */
132
+ get atom(): Atom.Atom<T | undefined>;
115
133
  /**
116
134
  * Serializes the reference to a JSON object.
117
135
  * The serialization format is compatible with the IPLD-style encoded references.
@@ -146,24 +164,32 @@ export interface RefResolver {
146
164
  /**
147
165
  * Resolve ref synchronously from the objects in the working set.
148
166
  *
149
- * @param dxn
167
+ * @param uri
150
168
  * @param load If true the resolver should attempt to load the object from disk.
151
169
  * @param onLoad Callback to call when the object is loaded.
152
170
  */
153
- resolveSync(dxn: DXN, load: boolean, onLoad?: () => void): AnyProperties | undefined;
171
+ resolveSync(uri: URI.URI, load: boolean, onLoad?: () => void): AnyProperties | undefined;
154
172
  /**
155
173
  * Resolver ref asynchronously.
156
174
  */
157
- resolve(dxn: DXN): Promise<AnyProperties | undefined>;
158
- resolveSchema(dxn: DXN): Promise<Schema.Schema.AnyNoContext | undefined>;
175
+ resolve(uri: URI.URI): Promise<AnyProperties | undefined>;
176
+ resolveSchema(uri: URI.URI): Promise<Schema.Schema.AnyNoContext | undefined>;
177
+ /**
178
+ * Resolve the source `Type.AnyEntity` entity for a type URI. Used by
179
+ * deserialization paths (`Obj.fromJSON`) to set the back-reference accessed
180
+ * via `Obj.getType` / `Entity.getType`. Optional — resolvers that only
181
+ * carry raw schemas may leave this unimplemented; the deserializer falls
182
+ * back to leaving the type entity unset.
183
+ */
184
+ resolveType?(uri: URI.URI): Promise<unknown | undefined>;
159
185
  }
160
186
  export declare class RefImpl<T> implements Ref<T> {
161
187
  #private;
162
- constructor(dxn: DXN, target?: T);
188
+ constructor(uri: URI.URI, target?: T);
163
189
  /**
164
190
  * @inheritdoc
165
191
  */
166
- get dxn(): DXN;
192
+ get uri(): URI.URI;
167
193
  /**
168
194
  * @inheritdoc
169
195
  */
@@ -180,6 +206,10 @@ export declare class RefImpl<T> implements Ref<T> {
180
206
  * @inheritdoc
181
207
  */
182
208
  tryLoad(): Promise<T | undefined>;
209
+ /**
210
+ * @inheritdoc
211
+ */
212
+ onResolved(callback: () => void): () => void;
183
213
  /**
184
214
  * Do not inline the target object in the reference.
185
215
  * Makes .target unavailable unless the reference is connected to a database context.
@@ -208,6 +238,7 @@ export declare class RefImpl<T> implements Ref<T> {
208
238
  [Hash.symbol](): number;
209
239
  /** Effect Equal trait. See {@link Hash.symbol} for rationale. */
210
240
  [Equal.symbol](that: Equal.Equal): boolean;
241
+ get atom(): Atom.Atom<T | undefined>;
211
242
  pipe(): unknown;
212
243
  }
213
244
  /**
@@ -221,11 +252,11 @@ export declare const getRefSavedTarget: (ref: Ref<any>) => AnyProperties | undef
221
252
  export declare const refFromEncodedReference: (encodedReference: EncodedReference, resolver?: RefResolver) => Ref<any>;
222
253
  export declare class StaticRefResolver implements RefResolver {
223
254
  objects: Map<string, AnyProperties>;
224
- schemas: Map<DXN.String, Schema.Schema.AnyNoContext>;
255
+ schemas: Map<URI.URI, Schema.Schema.AnyNoContext>;
225
256
  addObject(obj: AnyProperties): this;
226
- addSchema(schema: Schema.Schema.AnyNoContext): this;
227
- resolveSync(dxn: DXN, _load: boolean, _onLoad?: () => void): AnyProperties | undefined;
228
- resolve(dxn: DXN): Promise<AnyProperties | undefined>;
229
- resolveSchema(dxn: DXN): Promise<Schema.Schema.AnyNoContext | undefined>;
257
+ addSchema(input: Type.AnyEntity): this;
258
+ resolveSync(uri: URI.URI, _load: boolean, _onLoad?: () => void): AnyProperties | undefined;
259
+ resolve(uri: URI.URI): Promise<AnyProperties | undefined>;
260
+ resolveSchema(uri: URI.URI): Promise<Schema.Schema.AnyNoContext | undefined>;
230
261
  }
231
262
  //# sourceMappingURL=ref.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ref.d.ts","sourceRoot":"","sources":["../../../../../src/internal/Ref/ref.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ref.d.ts","sourceRoot":"","sources":["../../../../../src/internal/Ref/ref.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ import type * as Atom from '@effect-atom/atom/Atom';
2
+ import type { Ref } from './ref';
3
+ /**
4
+ * Internal helper for loading ref targets in atoms.
5
+ * Handles the common pattern of checking for loaded target and triggering async load.
6
+ */
7
+ export declare const loadRefTarget: <T, R>(ref: Ref<T>, get: Atom.Context, onTargetAvailable: (target: T) => R) => R | undefined;
8
+ //# sourceMappingURL=utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../../src/internal/Ref/utils.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,KAAK,IAAI,MAAM,wBAAwB,CAAC;AAEpD,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;AAEjC;;;GAGG;AACH,eAAO,MAAM,aAAa,GAAI,CAAC,EAAE,CAAC,OAC3B,GAAG,CAAC,CAAC,CAAC,OACN,IAAI,CAAC,OAAO,qBACE,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,KAClC,CAAC,GAAG,SA4BN,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"compose.d.ts","sourceRoot":"","sources":["../../../../../src/internal/Type/compose.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,KAAK,KAAK,MAAM,cAAc,CAAC;AAI3C,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,eAAe,CAAC;AAEpD;;GAEG;AAGH,eAAO,MAAM,aAAa,GACxB,QAAQ,KAAK,CAAC,OAAO,CAAC,cAAc,CAAC,EACrC,QAAQ,KAAK,CAAC,OAAO,CAAC,cAAc,CAAC,KACpC,KAAK,CAAC,OAAO,CAAC,cAAc,CAsB9B,CAAC"}
1
+ {"version":3,"file":"compose.d.ts","sourceRoot":"","sources":["../../../../../src/internal/Type/compose.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,KAAK,KAAK,MAAM,cAAc,CAAC;AAI3C,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,eAAe,CAAC;AAEpD;;GAEG;AAGH,eAAO,MAAM,aAAa,WAChB,KAAK,CAAC,OAAO,CAAC,cAAc,CAAC,UAC7B,KAAK,CAAC,OAAO,CAAC,cAAc,CAAC,KACpC,KAAK,CAAC,OAAO,CAAC,cAAc,CAsB9B,CAAC"}
@@ -1,4 +1,3 @@
1
- export * from './echo-schema';
2
1
  export * from './manipulation';
3
- export * from './persistent-schema';
2
+ export * from './type-schema';
4
3
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/internal/Type/index.ts"],"names":[],"mappings":"AAIA,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,qBAAqB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/internal/Type/index.ts"],"names":[],"mappings":"AAIA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,eAAe,CAAC"}
@@ -6,5 +6,4 @@ export declare const updateFieldNameInSchema: (schema: Schema.Schema.AnyNoContex
6
6
  before: PropertyKey;
7
7
  after: PropertyKey;
8
8
  }) => Schema.Schema.AnyNoContext;
9
- export declare const setTypenameInSchema: (schema: Schema.Schema.AnyNoContext, typename: string) => Schema.Schema.AnyNoContext;
10
9
  //# sourceMappingURL=manipulation.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"manipulation.d.ts","sourceRoot":"","sources":["../../../../../src/internal/Type/manipulation.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AASxC,eAAO,MAAM,iBAAiB,GAC5B,QAAQ,MAAM,CAAC,MAAM,CAAC,YAAY,EAClC,QAAQ,MAAM,CAAC,MAAM,CAAC,MAAM,KAC3B,MAAM,CAAC,MAAM,CAAC,YAKhB,CAAC;AAEF,eAAO,MAAM,oBAAoB,GAC/B,QAAQ,MAAM,CAAC,MAAM,CAAC,YAAY,EAClC,QAAQ,MAAM,CAAC,MAAM,CAAC,MAAM,KAC3B,MAAM,CAAC,MAAM,CAAC,YAgBhB,CAAC;AAEF,eAAO,MAAM,sBAAsB,GACjC,QAAQ,MAAM,CAAC,MAAM,CAAC,YAAY,EAClC,YAAY,MAAM,EAAE,KACnB,MAAM,CAAC,MAAM,CAAC,YAEhB,CAAC;AAEF,eAAO,MAAM,uBAAuB,GAClC,QAAQ,MAAM,CAAC,MAAM,CAAC,YAAY,EAClC,mBAAmB;IAAE,MAAM,EAAE,WAAW,CAAC;IAAC,KAAK,EAAE,WAAW,CAAA;CAAE,KAC7D,MAAM,CAAC,MAAM,CAAC,YAehB,CAAC;AAEF,eAAO,MAAM,mBAAmB,GAC9B,QAAQ,MAAM,CAAC,MAAM,CAAC,YAAY,EAClC,UAAU,MAAM,KACf,MAAM,CAAC,MAAM,CAAC,YAiBhB,CAAC"}
1
+ {"version":3,"file":"manipulation.d.ts","sourceRoot":"","sources":["../../../../../src/internal/Type/manipulation.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAMxC,eAAO,MAAM,iBAAiB,WACpB,MAAM,CAAC,MAAM,CAAC,YAAY,UAC1B,MAAM,CAAC,MAAM,CAAC,MAAM,KAC3B,MAAM,CAAC,MAAM,CAAC,YAKhB,CAAC;AAEF,eAAO,MAAM,oBAAoB,WACvB,MAAM,CAAC,MAAM,CAAC,YAAY,UAC1B,MAAM,CAAC,MAAM,CAAC,MAAM,KAC3B,MAAM,CAAC,MAAM,CAAC,YAgBhB,CAAC;AAEF,eAAO,MAAM,sBAAsB,WACzB,MAAM,CAAC,MAAM,CAAC,YAAY,cACtB,MAAM,EAAE,KACnB,MAAM,CAAC,MAAM,CAAC,YAEhB,CAAC;AAEF,eAAO,MAAM,uBAAuB,WAC1B,MAAM,CAAC,MAAM,CAAC,YAAY,qBACf;IAAE,MAAM,EAAE,WAAW,CAAC;IAAC,KAAK,EAAE,WAAW,CAAA;CAAE,KAC7D,MAAM,CAAC,MAAM,CAAC,YAehB,CAAC"}
@@ -0,0 +1,52 @@
1
+ import * as Schema from 'effect/Schema';
2
+ import { EntityKind, KindId, SchemaKindId, StaticTypeSchemaSlot } from '../common/types';
3
+ import { EchoTypeKindSchema } from '../Entity';
4
+ import { JsonSchemaType } from '../JsonSchema';
5
+ /**
6
+ * Raw struct backing {@link TypeSchema}. Exposed only so `TypeSchema`
7
+ * (the TS type) can derive its data fields via `Schema.Schema.Type<typeof ...>`;
8
+ * runtime callers should use {@link TypeSchema} (the piped, branded entity).
9
+ *
10
+ * `typename` and `version` are NOT data fields — they live in `EntityMeta.key` /
11
+ * `EntityMeta.version` (the canonical registry-provenance pair, queryable via
12
+ * `Filter.key(...)`). The same `jsonSchema` payload also embeds them so a
13
+ * standalone JSON-Schema export remains self-describing, but the schema-registry
14
+ * reads/writes them through meta.
15
+ */
16
+ declare const TypeSchemaStruct: Schema.Struct<{
17
+ name: Schema.optional<typeof Schema.String>;
18
+ jsonSchema: Schema.Schema<JsonSchemaType, JsonSchemaType, never>;
19
+ }>;
20
+ /**
21
+ * Persistent representation of a schema.
22
+ */
23
+ export declare const TypeSchema: EchoTypeKindSchema<Schema.Struct<{
24
+ name: Schema.optional<typeof Schema.String>;
25
+ jsonSchema: Schema.Schema<JsonSchemaType, JsonSchemaType, never>;
26
+ }>, Readonly<{
27
+ name: Schema.optional<typeof Schema.String>;
28
+ jsonSchema: Schema.Schema<JsonSchemaType, JsonSchemaType, never>;
29
+ }>>;
30
+ /**
31
+ * Persistent representation of a schema — the runtime shape that
32
+ * `db.addType(Type.makeObjectFromJsonSchema(...))` produces
33
+ * and `Filter.type(Type.Type).run()` returns.
34
+ *
35
+ * Structurally identical to a static `Type.Type` entity: the entity-handler's
36
+ * `get` trap exposes `[SchemaKindId]` (derived from `system.kind` and
37
+ * `data.jsonSchema.entityKind`) and rebuilds `[StaticTypeSchemaSlot]` lazily
38
+ * from `jsonSchema`, so a persisted instance satisfies the public `Type<A>`
39
+ * interface without casting.
40
+ */
41
+ export type TypeSchema = Schema.Schema.Type<typeof TypeSchemaStruct> & {
42
+ /** Object identifier — injected by `EchoTypeKindSchema` and stamped at construction. */
43
+ readonly id: string;
44
+ /** Entity-kind discriminator (object/relation/type) carried on every entity instance. */
45
+ readonly [KindId]: EntityKind.Type;
46
+ /** Kind of schema described by this meta-instance — always `EntityKind.Type` for `Type.Type` itself. */
47
+ readonly [SchemaKindId]: EntityKind.Type;
48
+ /** Effect Schema rebuilt lazily from `jsonSchema`; satisfies `Type.getSchema(...)` without an extra cast. */
49
+ readonly [StaticTypeSchemaSlot]: Schema.Schema.AnyNoContext;
50
+ };
51
+ export {};
52
+ //# sourceMappingURL=type-schema.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"type-schema.d.ts","sourceRoot":"","sources":["../../../../../src/internal/Type/type-schema.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAGxC,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,YAAY,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AACzF,OAAO,EAAE,kBAAkB,EAAqB,MAAM,WAAW,CAAC;AAClE,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAE/C;;;;;;;;;;GAUG;AACH,QAAA,MAAM,gBAAgB;;;EAGpB,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,UAAU;;;;;;GAOtB,CAAC;AAEF;;;;;;;;;;GAUG;AACH,MAAM,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,gBAAgB,CAAC,GAAG;IACrE,wFAAwF;IACxF,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,yFAAyF;IACzF,QAAQ,CAAC,CAAC,MAAM,CAAC,EAAE,UAAU,CAAC,IAAI,CAAC;IACnC,wGAAwG;IACxG,QAAQ,CAAC,CAAC,YAAY,CAAC,EAAE,UAAU,CAAC,IAAI,CAAC;IACzC,6GAA6G;IAC7G,QAAQ,CAAC,CAAC,oBAAoB,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC;CAC7D,CAAC"}
@@ -1,15 +1,18 @@
1
1
  import type { ForeignKey } from '@dxos/echo-protocol';
2
2
  import type { DeepReadonly } from '@dxos/util';
3
+ import type * as Tag from '../../../Tag';
4
+ import type { Ref } from '../../Ref/ref';
3
5
  import { type Mutable } from '../proxy';
4
- import { type AnyProperties, type ObjectMeta } from '../types';
6
+ import { type AnyProperties } from '../types';
7
+ import { type EntityMeta } from '../types/meta';
5
8
  /**
6
- * Deeply read-only version of ObjectMeta.
9
+ * Deeply read-only version of EntityMeta.
7
10
  */
8
- export type ReadonlyMeta = DeepReadonly<ObjectMeta>;
11
+ export type ReadonlyMeta = DeepReadonly<EntityMeta>;
9
12
  /**
10
13
  * Mutable meta type received in meta mutation callbacks.
11
14
  */
12
- export type Meta = Mutable<ObjectMeta>;
15
+ export type Meta = Mutable<EntityMeta>;
13
16
  /**
14
17
  * Get the metadata for an entity with validation.
15
18
  * Returns mutable meta when passed a mutable entity (inside change callback).
@@ -26,17 +29,17 @@ export declare function getMetaChecked(entity: AnyProperties): ReadonlyMeta;
26
29
  export declare const getKeys: (entity: AnyProperties, source: string) => ForeignKey[];
27
30
  /**
28
31
  * Delete all keys from the entity for the specified source.
29
- * Must be called within an Obj.change or Relation.change callback.
32
+ * Must be called within an Obj.update or Relation.update callback.
30
33
  */
31
34
  export declare const deleteKeys: (entity: Mutable<AnyProperties>, source: string) => void;
32
35
  /**
33
- * Add a tag to the entity.
34
- * Must be called within an Obj.change or Relation.change callback.
36
+ * Add a tag (a reference to a {@link Tag} object) to the entity. Idempotent.
37
+ * Must be called within an Obj.update or Relation.update callback.
35
38
  */
36
- export declare const addTag: (entity: Mutable<AnyProperties>, tag: string) => void;
39
+ export declare const addTag: (entity: Mutable<AnyProperties>, tag: Ref<Tag.Tag>) => void;
37
40
  /**
38
- * Remove a tag from the entity.
39
- * Must be called within an Obj.change or Relation.change callback.
41
+ * Remove a tag (a reference to a {@link Tag} object) from the entity. No-op when not present.
42
+ * Must be called within an Obj.update or Relation.update callback.
40
43
  */
41
- export declare const removeTag: (entity: Mutable<AnyProperties>, tag: string) => void;
44
+ export declare const removeTag: (entity: Mutable<AnyProperties>, tag: Ref<Tag.Tag>) => void;
42
45
  //# sourceMappingURL=meta.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"meta.d.ts","sourceRoot":"","sources":["../../../../../../src/internal/common/api/meta.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAEtD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE/C,OAAO,EAAE,KAAK,OAAO,EAAE,MAAM,UAAU,CAAC;AACxC,OAAO,EAAE,KAAK,aAAa,EAAE,KAAK,UAAU,EAAuB,MAAM,UAAU,CAAC;AAEpF;;GAEG;AACH,MAAM,MAAM,YAAY,GAAG,YAAY,CAAC,UAAU,CAAC,CAAC;AAEpD;;GAEG;AACH,MAAM,MAAM,IAAI,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;AAEvC;;;;;;GAMG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,OAAO,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC;AACrE,wBAAgB,cAAc,CAAC,MAAM,EAAE,aAAa,GAAG,YAAY,CAAC;AAQpE;;;GAGG;AACH,eAAO,MAAM,OAAO,GAAI,QAAQ,aAAa,EAAE,QAAQ,MAAM,KAAG,UAAU,EAKzE,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,UAAU,GAAI,QAAQ,OAAO,CAAC,aAAa,CAAC,EAAE,QAAQ,MAAM,SAQxE,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,MAAM,GAAI,QAAQ,OAAO,CAAC,aAAa,CAAC,EAAE,KAAK,MAAM,SAIjE,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,SAAS,GAAI,QAAQ,OAAO,CAAC,aAAa,CAAC,EAAE,KAAK,MAAM,SAWpE,CAAC"}
1
+ {"version":3,"file":"meta.d.ts","sourceRoot":"","sources":["../../../../../../src/internal/common/api/meta.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAEtD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE/C,OAAO,KAAK,KAAK,GAAG,MAAM,cAAc,CAAC;AACzC,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,KAAK,OAAO,EAAE,MAAM,UAAU,CAAC;AACxC,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,UAAU,CAAC;AAC9C,OAAO,EAAE,KAAK,UAAU,EAAuB,MAAM,eAAe,CAAC;AAErE;;GAEG;AACH,MAAM,MAAM,YAAY,GAAG,YAAY,CAAC,UAAU,CAAC,CAAC;AAEpD;;GAEG;AACH,MAAM,MAAM,IAAI,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;AAEvC;;;;;;GAMG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,OAAO,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC;AACrE,wBAAgB,cAAc,CAAC,MAAM,EAAE,aAAa,GAAG,YAAY,CAAC;AAQpE;;;GAGG;AACH,eAAO,MAAM,OAAO,WAAY,aAAa,UAAU,MAAM,KAAG,UAAU,EAKzE,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,UAAU,WAAY,OAAO,CAAC,aAAa,CAAC,UAAU,MAAM,SAQxE,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,MAAM,WAAY,OAAO,CAAC,aAAa,CAAC,OAAO,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,SAMvE,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,SAAS,WAAY,OAAO,CAAC,aAAa,CAAC,OAAO,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,SAQ1E,CAAC"}
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * Enter a change context for the given key.
3
3
  * While in a change context, mutations are allowed on the associated object.
4
- * Nested Obj.change calls are not supported.
4
+ * Nested Obj.update calls are not supported.
5
5
  *
6
6
  * @param key - The key to enter the change context for (target object or ObjectCore).
7
7
  * @returns A cleanup function that exits the change context.
@@ -1 +1 @@
1
- {"version":3,"file":"change-context.d.ts","sourceRoot":"","sources":["../../../../../../src/internal/common/proxy/change-context.ts"],"names":[],"mappings":"AAkCA;;;;;;;GAOG;AACH,eAAO,MAAM,kBAAkB,GAAI,KAAK,MAAM,KAAG,CAAC,MAAM,IAAI,CAK3D,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,iBAAiB,GAAI,KAAK,MAAM,KAAG,OAE/C,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,iBAAiB,GAAI,KAAK,MAAM,KAAG,IAI/C,CAAC;AAEF;;;;;;;GAOG;AACH,eAAO,MAAM,sBAAsB,GAAI,QAAQ,MAAM,KAAG,IAKvD,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,uBAAuB,GAAI,KAAK,MAAM,KAAG,OAErD,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,yBAAyB,GAAI,KAAK,MAAM,KAAG,IAIvD,CAAC;AAEF;;;;;;;;GAQG;AACH,eAAO,MAAM,aAAa,GACxB,YAAY,MAAM,EAClB,aAAa,MAAM,EACnB,OAAO,GAAG,EACV,UAAU,CAAC,KAAK,EAAE,GAAG,KAAK,IAAI,KAC7B,IAiBF,CAAC"}
1
+ {"version":3,"file":"change-context.d.ts","sourceRoot":"","sources":["../../../../../../src/internal/common/proxy/change-context.ts"],"names":[],"mappings":"AAkCA;;;;;;;GAOG;AACH,eAAO,MAAM,kBAAkB,QAAS,MAAM,KAAG,CAAC,MAAM,IAAI,CAK3D,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,iBAAiB,QAAS,MAAM,KAAG,OAE/C,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,iBAAiB,QAAS,MAAM,KAAG,IAI/C,CAAC;AAEF;;;;;;;GAOG;AACH,eAAO,MAAM,sBAAsB,WAAY,MAAM,KAAG,IAKvD,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,uBAAuB,QAAS,MAAM,KAAG,OAErD,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,yBAAyB,QAAS,MAAM,KAAG,IAIvD,CAAC;AAEF;;;;;;;;GAQG;AACH,eAAO,MAAM,aAAa,eACZ,MAAM,eACL,MAAM,SACZ,GAAG,YACA,CAAC,KAAK,EAAE,GAAG,KAAK,IAAI,KAC7B,IAiBF,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"define-hidden-property.d.ts","sourceRoot":"","sources":["../../../../../../src/internal/common/proxy/define-hidden-property.ts"],"names":[],"mappings":"AAIA;;GAEG;AACH,eAAO,MAAM,oBAAoB,GAAI,QAAQ,GAAG,EAAE,KAAK,MAAM,GAAG,MAAM,EAAE,OAAO,GAAG,SAMjF,CAAC"}
1
+ {"version":3,"file":"define-hidden-property.d.ts","sourceRoot":"","sources":["../../../../../../src/internal/common/proxy/define-hidden-property.ts"],"names":[],"mappings":"AAIA;;GAEG;AACH,eAAO,MAAM,oBAAoB,WAAY,GAAG,OAAO,MAAM,GAAG,MAAM,SAAS,GAAG,SAMjF,CAAC"}
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Error thrown when attempting to mutate an object outside of an Obj.change() context.
2
+ * Error thrown when attempting to mutate an object outside of an Obj.update() context.
3
3
  */
4
4
  export declare class MutationOutsideChangeContextError extends Error {
5
5
  constructor(operation: string, suggestion: string);
@@ -1 +1 @@
1
- {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../../../../../src/internal/common/proxy/errors.ts"],"names":[],"mappings":"AAIA;;GAEG;AACH,qBAAa,iCAAkC,SAAQ,KAAK;gBAC9C,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM;CAMlD;AAED;;GAEG;AACH,eAAO,MAAM,sBAAsB,GAAI,MAAM,MAAM,GAAG,MAAM,KAAG,iCAK9D,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,yBAAyB,GAAI,MAAM,MAAM,GAAG,MAAM,KAAG,iCAKjE,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,sBAAsB,GAAI,QAAQ,MAAM,KAAG,iCAEvD,CAAC"}
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../../../../../src/internal/common/proxy/errors.ts"],"names":[],"mappings":"AAIA;;GAEG;AACH,qBAAa,iCAAkC,SAAQ,KAAK;IAC1D,YAAY,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAKhD;CACF;AAED;;GAEG;AACH,eAAO,MAAM,sBAAsB,SAAU,MAAM,GAAG,MAAM,KAAG,iCAK9D,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,yBAAyB,SAAU,MAAM,GAAG,MAAM,KAAG,iCAKjE,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,sBAAsB,WAAY,MAAM,KAAG,iCAEvD,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"event-batch.d.ts","sourceRoot":"","sources":["../../../../../../src/internal/common/proxy/event-batch.ts"],"names":[],"mappings":"AAcA;;;GAGG;AACH,eAAO,MAAM,WAAW,GAAI,UAAU,MAAM,IAAI,KAAG,IAclD,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,SAAS,GAAI,QAAQ,MAAM,KAAG,IAM1C,CAAC"}
1
+ {"version":3,"file":"event-batch.d.ts","sourceRoot":"","sources":["../../../../../../src/internal/common/proxy/event-batch.ts"],"names":[],"mappings":"AAcA;;;GAGG;AACH,eAAO,MAAM,WAAW,aAAc,MAAM,IAAI,KAAG,IAclD,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,SAAS,WAAY,MAAM,KAAG,IAM1C,CAAC"}