@dxos/echo 0.8.4-main.66e292d → 0.8.4-main.69d29f4

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 (459) hide show
  1. package/README.md +1 -2
  2. package/dist/lib/browser/Annotation.mjs +33 -0
  3. package/dist/lib/browser/Annotation.mjs.map +7 -0
  4. package/dist/lib/browser/Database.mjs +18 -0
  5. package/dist/lib/browser/Database.mjs.map +7 -0
  6. package/dist/lib/browser/Entity.mjs +52 -0
  7. package/dist/lib/browser/Entity.mjs.map +7 -0
  8. package/dist/lib/browser/Err.mjs +11 -0
  9. package/dist/lib/browser/Err.mjs.map +7 -0
  10. package/dist/lib/browser/Filter.mjs +62 -0
  11. package/dist/lib/browser/Filter.mjs.map +7 -0
  12. package/dist/lib/browser/Format.mjs +67 -0
  13. package/dist/lib/browser/Format.mjs.map +7 -0
  14. package/dist/lib/browser/JsonSchema.mjs +20 -0
  15. package/dist/lib/browser/JsonSchema.mjs.map +7 -0
  16. package/dist/lib/browser/Key.mjs +13 -0
  17. package/dist/lib/browser/Key.mjs.map +7 -0
  18. package/dist/lib/browser/Obj.mjs +91 -0
  19. package/dist/lib/browser/Obj.mjs.map +7 -0
  20. package/dist/lib/browser/Order.mjs +13 -0
  21. package/dist/lib/browser/Order.mjs.map +7 -0
  22. package/dist/lib/browser/Query.mjs +27 -0
  23. package/dist/lib/browser/Query.mjs.map +7 -0
  24. package/dist/lib/browser/QueryResult.mjs +3 -0
  25. package/dist/lib/browser/QueryResult.mjs.map +7 -0
  26. package/dist/lib/browser/Ref.mjs +23 -0
  27. package/dist/lib/browser/Ref.mjs.map +7 -0
  28. package/dist/lib/browser/Relation.mjs +85 -0
  29. package/dist/lib/browser/Relation.mjs.map +7 -0
  30. package/dist/lib/browser/SchemaRegistry.mjs +3 -0
  31. package/dist/lib/browser/SchemaRegistry.mjs.map +7 -0
  32. package/dist/lib/browser/Tag.mjs +26 -0
  33. package/dist/lib/browser/Tag.mjs.map +7 -0
  34. package/dist/lib/browser/Type.mjs +48 -0
  35. package/dist/lib/browser/Type.mjs.map +7 -0
  36. package/dist/lib/browser/chunk-2RMVRVOB.mjs +250 -0
  37. package/dist/lib/browser/chunk-2RMVRVOB.mjs.map +7 -0
  38. package/dist/lib/browser/chunk-5RDNDPMX.mjs +74 -0
  39. package/dist/lib/browser/chunk-5RDNDPMX.mjs.map +7 -0
  40. package/dist/lib/browser/chunk-73M2G455.mjs +98 -0
  41. package/dist/lib/browser/chunk-73M2G455.mjs.map +7 -0
  42. package/dist/lib/browser/chunk-7STIBCP7.mjs +133 -0
  43. package/dist/lib/browser/chunk-7STIBCP7.mjs.map +7 -0
  44. package/dist/lib/browser/chunk-AFGYYVVQ.mjs +57 -0
  45. package/dist/lib/browser/chunk-AFGYYVVQ.mjs.map +7 -0
  46. package/dist/lib/browser/chunk-BC6R4CAF.mjs +24 -0
  47. package/dist/lib/browser/chunk-BC6R4CAF.mjs.map +7 -0
  48. package/dist/lib/browser/chunk-BPYFLHWO.mjs +158 -0
  49. package/dist/lib/browser/chunk-BPYFLHWO.mjs.map +7 -0
  50. package/dist/lib/browser/chunk-CBPFF3ZO.mjs +204 -0
  51. package/dist/lib/browser/chunk-CBPFF3ZO.mjs.map +7 -0
  52. package/dist/lib/browser/chunk-CGS2ULMK.mjs +11 -0
  53. package/dist/lib/browser/chunk-CGS2ULMK.mjs.map +7 -0
  54. package/dist/lib/browser/chunk-CJ5YELTO.mjs +39 -0
  55. package/dist/lib/browser/chunk-CJ5YELTO.mjs.map +7 -0
  56. package/dist/lib/browser/chunk-FPOISFQK.mjs +40 -0
  57. package/dist/lib/browser/chunk-FPOISFQK.mjs.map +7 -0
  58. package/dist/lib/browser/chunk-INHXFXY5.mjs +22 -0
  59. package/dist/lib/browser/chunk-INHXFXY5.mjs.map +7 -0
  60. package/dist/lib/browser/chunk-IXVWLTG7.mjs +9 -0
  61. package/dist/lib/browser/chunk-IXVWLTG7.mjs.map +7 -0
  62. package/dist/lib/browser/chunk-JMKVF2YQ.mjs +43 -0
  63. package/dist/lib/browser/chunk-JMKVF2YQ.mjs.map +7 -0
  64. package/dist/lib/browser/chunk-L4RXUJHJ.mjs +143 -0
  65. package/dist/lib/browser/chunk-L4RXUJHJ.mjs.map +7 -0
  66. package/dist/lib/browser/chunk-MYCCGG2T.mjs +15 -0
  67. package/dist/lib/browser/chunk-MYCCGG2T.mjs.map +7 -0
  68. package/dist/lib/browser/{chunk-7GH6RXJ3.mjs → chunk-PAM4KEXE.mjs} +2005 -1841
  69. package/dist/lib/browser/chunk-PAM4KEXE.mjs.map +7 -0
  70. package/dist/lib/browser/chunk-QIWDIPLR.mjs +41 -0
  71. package/dist/lib/browser/chunk-QIWDIPLR.mjs.map +7 -0
  72. package/dist/lib/browser/chunk-R3S54KRI.mjs +403 -0
  73. package/dist/lib/browser/chunk-R3S54KRI.mjs.map +7 -0
  74. package/dist/lib/browser/chunk-RK4Z4JUZ.mjs +283 -0
  75. package/dist/lib/browser/chunk-RK4Z4JUZ.mjs.map +7 -0
  76. package/dist/lib/browser/chunk-TPIL3G6Y.mjs +288 -0
  77. package/dist/lib/browser/chunk-TPIL3G6Y.mjs.map +7 -0
  78. package/dist/lib/browser/chunk-YKTSSMDS.mjs +69 -0
  79. package/dist/lib/browser/chunk-YKTSSMDS.mjs.map +7 -0
  80. package/dist/lib/browser/chunk-ZHXZGIXD.mjs +9 -0
  81. package/dist/lib/browser/chunk-ZHXZGIXD.mjs.map +7 -0
  82. package/dist/lib/browser/index.mjs +65 -25
  83. package/dist/lib/browser/internal/index.mjs +213 -92
  84. package/dist/lib/browser/meta.json +1 -1
  85. package/dist/lib/browser/testing/index.mjs +80 -41
  86. package/dist/lib/browser/testing/index.mjs.map +3 -3
  87. package/dist/lib/node-esm/Annotation.mjs +33 -0
  88. package/dist/lib/node-esm/Annotation.mjs.map +7 -0
  89. package/dist/lib/node-esm/Database.mjs +18 -0
  90. package/dist/lib/node-esm/Database.mjs.map +7 -0
  91. package/dist/lib/node-esm/Entity.mjs +52 -0
  92. package/dist/lib/node-esm/Entity.mjs.map +7 -0
  93. package/dist/lib/node-esm/Err.mjs +11 -0
  94. package/dist/lib/node-esm/Err.mjs.map +7 -0
  95. package/dist/lib/node-esm/Filter.mjs +62 -0
  96. package/dist/lib/node-esm/Filter.mjs.map +7 -0
  97. package/dist/lib/node-esm/Format.mjs +67 -0
  98. package/dist/lib/node-esm/Format.mjs.map +7 -0
  99. package/dist/lib/node-esm/JsonSchema.mjs +20 -0
  100. package/dist/lib/node-esm/JsonSchema.mjs.map +7 -0
  101. package/dist/lib/node-esm/Key.mjs +13 -0
  102. package/dist/lib/node-esm/Key.mjs.map +7 -0
  103. package/dist/lib/node-esm/Obj.mjs +91 -0
  104. package/dist/lib/node-esm/Obj.mjs.map +7 -0
  105. package/dist/lib/node-esm/Order.mjs +13 -0
  106. package/dist/lib/node-esm/Order.mjs.map +7 -0
  107. package/dist/lib/node-esm/Query.mjs +27 -0
  108. package/dist/lib/node-esm/Query.mjs.map +7 -0
  109. package/dist/lib/node-esm/QueryResult.mjs +3 -0
  110. package/dist/lib/node-esm/QueryResult.mjs.map +7 -0
  111. package/dist/lib/node-esm/Ref.mjs +23 -0
  112. package/dist/lib/node-esm/Ref.mjs.map +7 -0
  113. package/dist/lib/node-esm/Relation.mjs +85 -0
  114. package/dist/lib/node-esm/Relation.mjs.map +7 -0
  115. package/dist/lib/node-esm/SchemaRegistry.mjs +3 -0
  116. package/dist/lib/node-esm/SchemaRegistry.mjs.map +7 -0
  117. package/dist/lib/node-esm/Tag.mjs +26 -0
  118. package/dist/lib/node-esm/Tag.mjs.map +7 -0
  119. package/dist/lib/node-esm/Type.mjs +48 -0
  120. package/dist/lib/node-esm/Type.mjs.map +7 -0
  121. package/dist/lib/node-esm/chunk-2RIFBW3A.mjs +250 -0
  122. package/dist/lib/node-esm/chunk-2RIFBW3A.mjs.map +7 -0
  123. package/dist/lib/node-esm/chunk-5CB2ZW74.mjs +57 -0
  124. package/dist/lib/node-esm/chunk-5CB2ZW74.mjs.map +7 -0
  125. package/dist/lib/node-esm/{chunk-M4B6BMD2.mjs → chunk-5U5F4AWK.mjs} +2005 -1841
  126. package/dist/lib/node-esm/chunk-5U5F4AWK.mjs.map +7 -0
  127. package/dist/lib/node-esm/chunk-AJEMYSIR.mjs +22 -0
  128. package/dist/lib/node-esm/chunk-AJEMYSIR.mjs.map +7 -0
  129. package/dist/lib/node-esm/chunk-BKYE5IW6.mjs +158 -0
  130. package/dist/lib/node-esm/chunk-BKYE5IW6.mjs.map +7 -0
  131. package/dist/lib/node-esm/chunk-BYOD7EVP.mjs +98 -0
  132. package/dist/lib/node-esm/chunk-BYOD7EVP.mjs.map +7 -0
  133. package/dist/lib/node-esm/chunk-FWTSPIFF.mjs +133 -0
  134. package/dist/lib/node-esm/chunk-FWTSPIFF.mjs.map +7 -0
  135. package/dist/lib/node-esm/chunk-HSLMI22Q.mjs +11 -0
  136. package/dist/lib/node-esm/chunk-HSLMI22Q.mjs.map +7 -0
  137. package/dist/lib/node-esm/chunk-K37NA7PO.mjs +43 -0
  138. package/dist/lib/node-esm/chunk-K37NA7PO.mjs.map +7 -0
  139. package/dist/lib/node-esm/chunk-LIXUCQJM.mjs +41 -0
  140. package/dist/lib/node-esm/chunk-LIXUCQJM.mjs.map +7 -0
  141. package/dist/lib/node-esm/chunk-MOLNWFNL.mjs +9 -0
  142. package/dist/lib/node-esm/chunk-MOLNWFNL.mjs.map +7 -0
  143. package/dist/lib/node-esm/chunk-MOWUEW5P.mjs +15 -0
  144. package/dist/lib/node-esm/chunk-MOWUEW5P.mjs.map +7 -0
  145. package/dist/lib/node-esm/chunk-NBWL7UCZ.mjs +40 -0
  146. package/dist/lib/node-esm/chunk-NBWL7UCZ.mjs.map +7 -0
  147. package/dist/lib/node-esm/chunk-OZEDKT4R.mjs +204 -0
  148. package/dist/lib/node-esm/chunk-OZEDKT4R.mjs.map +7 -0
  149. package/dist/lib/node-esm/chunk-PW3VCWL5.mjs +24 -0
  150. package/dist/lib/node-esm/chunk-PW3VCWL5.mjs.map +7 -0
  151. package/dist/lib/node-esm/chunk-TSTKBFST.mjs +403 -0
  152. package/dist/lib/node-esm/chunk-TSTKBFST.mjs.map +7 -0
  153. package/dist/lib/node-esm/chunk-UKGVOINP.mjs +9 -0
  154. package/dist/lib/node-esm/chunk-UKGVOINP.mjs.map +7 -0
  155. package/dist/lib/node-esm/chunk-UV63HEHQ.mjs +143 -0
  156. package/dist/lib/node-esm/chunk-UV63HEHQ.mjs.map +7 -0
  157. package/dist/lib/node-esm/chunk-WXLVPCRJ.mjs +288 -0
  158. package/dist/lib/node-esm/chunk-WXLVPCRJ.mjs.map +7 -0
  159. package/dist/lib/node-esm/chunk-WZ6YBELW.mjs +74 -0
  160. package/dist/lib/node-esm/chunk-WZ6YBELW.mjs.map +7 -0
  161. package/dist/lib/node-esm/chunk-XHJRMQZD.mjs +69 -0
  162. package/dist/lib/node-esm/chunk-XHJRMQZD.mjs.map +7 -0
  163. package/dist/lib/node-esm/chunk-YOLH5KS4.mjs +283 -0
  164. package/dist/lib/node-esm/chunk-YOLH5KS4.mjs.map +7 -0
  165. package/dist/lib/node-esm/chunk-YQ2NWGL5.mjs +39 -0
  166. package/dist/lib/node-esm/chunk-YQ2NWGL5.mjs.map +7 -0
  167. package/dist/lib/node-esm/index.mjs +65 -25
  168. package/dist/lib/node-esm/internal/index.mjs +213 -92
  169. package/dist/lib/node-esm/meta.json +1 -1
  170. package/dist/lib/node-esm/testing/index.mjs +80 -41
  171. package/dist/lib/node-esm/testing/index.mjs.map +3 -3
  172. package/dist/types/src/Annotation.d.ts +1 -1
  173. package/dist/types/src/Annotation.d.ts.map +1 -1
  174. package/dist/types/src/Database.d.ts +117 -60
  175. package/dist/types/src/Database.d.ts.map +1 -1
  176. package/dist/types/src/Entity.d.ts +111 -5
  177. package/dist/types/src/Entity.d.ts.map +1 -1
  178. package/dist/types/src/Entity.test.d.ts +2 -0
  179. package/dist/types/src/Entity.test.d.ts.map +1 -0
  180. package/dist/types/src/{errors.d.ts → Err.d.ts} +13 -17
  181. package/dist/types/src/Err.d.ts.map +1 -0
  182. package/dist/types/src/Filter.d.ts +120 -0
  183. package/dist/types/src/Filter.d.ts.map +1 -0
  184. package/dist/types/src/Format.d.ts.map +1 -1
  185. package/dist/types/src/Hypergraph.d.ts +60 -0
  186. package/dist/types/src/Hypergraph.d.ts.map +1 -0
  187. package/dist/types/src/Obj.d.ts +268 -76
  188. package/dist/types/src/Obj.d.ts.map +1 -1
  189. package/dist/types/src/Obj.test.d.ts +2 -0
  190. package/dist/types/src/Obj.test.d.ts.map +1 -0
  191. package/dist/types/src/Order.d.ts +16 -0
  192. package/dist/types/src/Order.d.ts.map +1 -0
  193. package/dist/types/src/{query/query.d.ts → Query.d.ts} +53 -50
  194. package/dist/types/src/Query.d.ts.map +1 -0
  195. package/dist/types/src/Query.test.d.ts +2 -0
  196. package/dist/types/src/Query.test.d.ts.map +1 -0
  197. package/dist/types/src/QueryResult.d.ts +80 -0
  198. package/dist/types/src/QueryResult.d.ts.map +1 -0
  199. package/dist/types/src/Ref.d.ts +9 -7
  200. package/dist/types/src/Ref.d.ts.map +1 -1
  201. package/dist/types/src/Relation.d.ts +235 -18
  202. package/dist/types/src/Relation.d.ts.map +1 -1
  203. package/dist/types/src/Relation.test.d.ts +2 -0
  204. package/dist/types/src/Relation.test.d.ts.map +1 -0
  205. package/dist/types/src/SchemaRegistry.d.ts +84 -0
  206. package/dist/types/src/SchemaRegistry.d.ts.map +1 -0
  207. package/dist/types/src/Tag.d.ts +6 -6
  208. package/dist/types/src/Tag.d.ts.map +1 -1
  209. package/dist/types/src/Type.d.ts +213 -50
  210. package/dist/types/src/Type.d.ts.map +1 -1
  211. package/dist/types/src/Type.test.d.ts +2 -0
  212. package/dist/types/src/Type.test.d.ts.map +1 -0
  213. package/dist/types/src/index.d.ts +8 -2
  214. package/dist/types/src/index.d.ts.map +1 -1
  215. package/dist/types/src/internal/annotations/annotations.d.ts +23 -27
  216. package/dist/types/src/internal/annotations/annotations.d.ts.map +1 -1
  217. package/dist/types/src/internal/annotations/util.d.ts +1 -0
  218. package/dist/types/src/internal/annotations/util.d.ts.map +1 -1
  219. package/dist/types/src/internal/api/annotations.d.ts +23 -0
  220. package/dist/types/src/internal/api/annotations.d.ts.map +1 -0
  221. package/dist/types/src/internal/api/entity.d.ts +13 -0
  222. package/dist/types/src/internal/api/entity.d.ts.map +1 -0
  223. package/dist/types/src/internal/api/index.d.ts +15 -0
  224. package/dist/types/src/internal/api/index.d.ts.map +1 -0
  225. package/dist/types/src/internal/api/meta.d.ts +42 -0
  226. package/dist/types/src/internal/api/meta.d.ts.map +1 -0
  227. package/dist/types/src/internal/api/sorting.d.ts +24 -0
  228. package/dist/types/src/internal/api/sorting.d.ts.map +1 -0
  229. package/dist/types/src/internal/api/version.d.ts +42 -0
  230. package/dist/types/src/internal/api/version.d.ts.map +1 -0
  231. package/dist/types/src/internal/entities/entity.d.ts +13 -3
  232. package/dist/types/src/internal/entities/entity.d.ts.map +1 -1
  233. package/dist/types/src/internal/entities/index.d.ts +1 -1
  234. package/dist/types/src/internal/entities/index.d.ts.map +1 -1
  235. package/dist/types/src/internal/entities/model.d.ts +14 -7
  236. package/dist/types/src/internal/entities/model.d.ts.map +1 -1
  237. package/dist/types/src/internal/entities/object.d.ts +8 -1
  238. package/dist/types/src/internal/entities/object.d.ts.map +1 -1
  239. package/dist/types/src/internal/entities/relation.d.ts +8 -1
  240. package/dist/types/src/internal/entities/relation.d.ts.map +1 -1
  241. package/dist/types/src/internal/formats/format.d.ts +4 -4
  242. package/dist/types/src/internal/formats/format.d.ts.map +1 -1
  243. package/dist/types/src/internal/formats/select.d.ts +6 -4
  244. package/dist/types/src/internal/formats/select.d.ts.map +1 -1
  245. package/dist/types/src/internal/formats/string.d.ts +4 -0
  246. package/dist/types/src/internal/formats/string.d.ts.map +1 -1
  247. package/dist/types/src/internal/formats/types.d.ts +6 -2
  248. package/dist/types/src/internal/formats/types.d.ts.map +1 -1
  249. package/dist/types/src/internal/index.d.ts +2 -1
  250. package/dist/types/src/internal/index.d.ts.map +1 -1
  251. package/dist/types/src/internal/json-schema/json-schema-normalize.d.ts.map +1 -1
  252. package/dist/types/src/internal/json-schema/json-schema-type.d.ts +130 -29
  253. package/dist/types/src/internal/json-schema/json-schema-type.d.ts.map +1 -1
  254. package/dist/types/src/internal/json-schema/json-schema.d.ts +2 -1
  255. package/dist/types/src/internal/json-schema/json-schema.d.ts.map +1 -1
  256. package/dist/types/src/internal/object/clone.d.ts +8 -0
  257. package/dist/types/src/internal/object/clone.d.ts.map +1 -0
  258. package/dist/types/src/internal/object/create-object.d.ts +1 -1
  259. package/dist/types/src/internal/object/index.d.ts +3 -0
  260. package/dist/types/src/internal/object/index.d.ts.map +1 -1
  261. package/dist/types/src/internal/object/json-serializer.d.ts +13 -7
  262. package/dist/types/src/internal/object/json-serializer.d.ts.map +1 -1
  263. package/dist/types/src/internal/object/schema-validator.d.ts +1 -14
  264. package/dist/types/src/internal/object/schema-validator.d.ts.map +1 -1
  265. package/dist/types/src/internal/object/set-value.d.ts +7 -0
  266. package/dist/types/src/internal/object/set-value.d.ts.map +1 -0
  267. package/dist/types/src/internal/object/set-value.test.d.ts +2 -0
  268. package/dist/types/src/internal/object/set-value.test.d.ts.map +1 -0
  269. package/dist/types/src/internal/object/snapshot.d.ts +6 -0
  270. package/dist/types/src/internal/object/snapshot.d.ts.map +1 -0
  271. package/dist/types/src/internal/object/typed-object.d.ts +7 -13
  272. package/dist/types/src/internal/object/typed-object.d.ts.map +1 -1
  273. package/dist/types/src/internal/proxy/change-context.d.ts +55 -0
  274. package/dist/types/src/internal/proxy/change-context.d.ts.map +1 -0
  275. package/dist/types/src/internal/proxy/change.test.d.ts +2 -0
  276. package/dist/types/src/internal/proxy/change.test.d.ts.map +1 -0
  277. package/dist/types/src/internal/proxy/define-hidden-property.d.ts +5 -0
  278. package/dist/types/src/internal/proxy/define-hidden-property.d.ts.map +1 -0
  279. package/dist/types/src/internal/proxy/errors.d.ts +19 -0
  280. package/dist/types/src/internal/proxy/errors.d.ts.map +1 -0
  281. package/dist/types/src/internal/proxy/event-batch.d.ts +10 -0
  282. package/dist/types/src/internal/proxy/event-batch.d.ts.map +1 -0
  283. package/dist/types/src/internal/proxy/index.d.ts +11 -0
  284. package/dist/types/src/internal/proxy/index.d.ts.map +1 -1
  285. package/dist/types/src/internal/proxy/json-serializer.d.ts +6 -0
  286. package/dist/types/src/internal/proxy/json-serializer.d.ts.map +1 -0
  287. package/dist/types/src/internal/proxy/make-object.d.ts +2 -4
  288. package/dist/types/src/internal/proxy/make-object.d.ts.map +1 -1
  289. package/dist/types/src/internal/proxy/ownership.d.ts +57 -0
  290. package/dist/types/src/internal/proxy/ownership.d.ts.map +1 -0
  291. package/dist/types/src/internal/proxy/proxy-types.d.ts +18 -0
  292. package/dist/types/src/internal/proxy/proxy-types.d.ts.map +1 -0
  293. package/dist/types/src/internal/proxy/proxy-utils.d.ts +47 -0
  294. package/dist/types/src/internal/proxy/proxy-utils.d.ts.map +1 -0
  295. package/dist/types/src/internal/proxy/reactive-array.d.ts +8 -0
  296. package/dist/types/src/internal/proxy/reactive-array.d.ts.map +1 -0
  297. package/dist/types/src/internal/proxy/reactive.d.ts +39 -0
  298. package/dist/types/src/internal/proxy/reactive.d.ts.map +1 -0
  299. package/dist/types/src/internal/proxy/schema-validator.d.ts +15 -0
  300. package/dist/types/src/internal/proxy/schema-validator.d.ts.map +1 -0
  301. package/dist/types/src/internal/proxy/symbols.d.ts +3 -0
  302. package/dist/types/src/internal/proxy/symbols.d.ts.map +1 -0
  303. package/dist/types/src/internal/proxy/typed-handler.d.ts +14 -11
  304. package/dist/types/src/internal/proxy/typed-handler.d.ts.map +1 -1
  305. package/dist/types/src/internal/ref/ref-array.d.ts +4 -4
  306. package/dist/types/src/internal/ref/ref-array.d.ts.map +1 -1
  307. package/dist/types/src/internal/ref/ref.d.ts +16 -7
  308. package/dist/types/src/internal/ref/ref.d.ts.map +1 -1
  309. package/dist/types/src/internal/schema/compose.d.ts +2 -1
  310. package/dist/types/src/internal/schema/compose.d.ts.map +1 -1
  311. package/dist/types/src/internal/schema/echo-schema.d.ts +15 -3
  312. package/dist/types/src/internal/schema/echo-schema.d.ts.map +1 -1
  313. package/dist/types/src/internal/schema/index.d.ts +0 -2
  314. package/dist/types/src/internal/schema/index.d.ts.map +1 -1
  315. package/dist/types/src/internal/schema/persistent-schema.d.ts +9 -7
  316. package/dist/types/src/internal/schema/persistent-schema.d.ts.map +1 -1
  317. package/dist/types/src/internal/types/base.d.ts +5 -16
  318. package/dist/types/src/internal/types/base.d.ts.map +1 -1
  319. package/dist/types/src/internal/types/entity.d.ts +27 -2
  320. package/dist/types/src/internal/types/entity.d.ts.map +1 -1
  321. package/dist/types/src/internal/types/meta.d.ts +6 -14
  322. package/dist/types/src/internal/types/meta.d.ts.map +1 -1
  323. package/dist/types/src/testing/test-schema.d.ts +141 -175
  324. package/dist/types/src/testing/test-schema.d.ts.map +1 -1
  325. package/dist/types/src/testing/util.d.ts +6 -1
  326. package/dist/types/src/testing/util.d.ts.map +1 -1
  327. package/dist/types/tsconfig.tsbuildinfo +1 -1
  328. package/package.json +130 -23
  329. package/src/Annotation.ts +5 -4
  330. package/src/Database.ts +229 -82
  331. package/src/Entity.test.ts +22 -0
  332. package/src/Entity.ts +173 -7
  333. package/src/{errors.ts → Err.ts} +2 -2
  334. package/src/Filter.ts +376 -0
  335. package/src/Format.ts +0 -2
  336. package/src/Hypergraph.ts +74 -0
  337. package/src/Obj.test.ts +386 -0
  338. package/src/Obj.ts +338 -250
  339. package/src/{query/order.ts → Order.ts} +19 -9
  340. package/src/{query/query.test.ts → Query.test.ts} +180 -49
  341. package/src/{query/query.ts → Query.ts} +115 -122
  342. package/src/QueryResult.ts +106 -0
  343. package/src/Ref.ts +20 -3
  344. package/src/Relation.test.ts +82 -0
  345. package/src/Relation.ts +364 -27
  346. package/src/SchemaRegistry.ts +105 -0
  347. package/src/Tag.ts +1 -1
  348. package/src/Type.test.ts +52 -0
  349. package/src/Type.ts +322 -88
  350. package/src/index.ts +9 -5
  351. package/src/internal/README.md +36 -17
  352. package/src/internal/annotations/annotations.test.ts +6 -6
  353. package/src/internal/annotations/annotations.ts +73 -76
  354. package/src/internal/annotations/util.ts +2 -0
  355. package/src/internal/api/annotations.ts +60 -0
  356. package/src/internal/api/entity.ts +29 -0
  357. package/src/internal/api/index.ts +19 -0
  358. package/src/internal/api/meta.ts +88 -0
  359. package/src/internal/api/sorting.ts +53 -0
  360. package/src/internal/api/version.ts +96 -0
  361. package/src/internal/entities/entity.ts +36 -19
  362. package/src/internal/entities/index.ts +1 -1
  363. package/src/internal/entities/model.ts +17 -12
  364. package/src/internal/entities/object.ts +21 -8
  365. package/src/internal/entities/relation.ts +23 -7
  366. package/src/internal/formats/format.test.ts +1 -1
  367. package/src/internal/formats/format.ts +7 -8
  368. package/src/internal/formats/object.ts +2 -2
  369. package/src/internal/formats/select.ts +6 -4
  370. package/src/internal/formats/string.ts +5 -0
  371. package/src/internal/formats/types.ts +9 -3
  372. package/src/internal/index.ts +2 -1
  373. package/src/internal/json-schema/json-schema-normalize.ts +4 -2
  374. package/src/internal/json-schema/json-schema-type.ts +31 -32
  375. package/src/internal/json-schema/json-schema.test.ts +19 -17
  376. package/src/internal/json-schema/json-schema.ts +14 -10
  377. package/src/internal/object/clone.ts +48 -0
  378. package/src/internal/object/create-object.ts +2 -2
  379. package/src/internal/object/index.ts +3 -0
  380. package/src/internal/object/inspect.ts +3 -3
  381. package/src/internal/object/json-serializer.test.ts +6 -2
  382. package/src/internal/object/json-serializer.ts +28 -70
  383. package/src/internal/object/schema-validator.test.ts +3 -7
  384. package/src/internal/object/schema-validator.ts +2 -238
  385. package/src/internal/object/set-value.test.ts +281 -0
  386. package/src/internal/object/set-value.ts +165 -0
  387. package/src/internal/object/snapshot.ts +70 -0
  388. package/src/internal/object/typed-object.test.ts +11 -11
  389. package/src/internal/object/typed-object.ts +8 -72
  390. package/src/internal/proxy/change-context.ts +138 -0
  391. package/src/internal/proxy/change.test.ts +519 -0
  392. package/src/internal/proxy/define-hidden-property.ts +14 -0
  393. package/src/internal/proxy/errors.ts +42 -0
  394. package/src/internal/proxy/event-batch.ts +44 -0
  395. package/src/internal/proxy/handler.test.ts +30 -80
  396. package/src/internal/proxy/index.ts +11 -0
  397. package/src/internal/proxy/json-serializer.ts +87 -0
  398. package/src/internal/proxy/make-object.ts +33 -50
  399. package/src/internal/proxy/ownership.ts +253 -0
  400. package/src/internal/proxy/proxy-types.ts +23 -0
  401. package/src/internal/proxy/proxy-utils.ts +150 -0
  402. package/src/internal/proxy/reactive-array.ts +71 -0
  403. package/src/internal/proxy/reactive.ts +69 -0
  404. package/src/internal/proxy/schema-validator.ts +244 -0
  405. package/src/internal/proxy/schema.test.ts +23 -15
  406. package/src/internal/proxy/symbols.ts +7 -0
  407. package/src/internal/proxy/typed-handler.test.ts +247 -35
  408. package/src/internal/proxy/typed-handler.ts +265 -56
  409. package/src/internal/proxy/typed-object.test.ts +37 -26
  410. package/src/internal/ref/ref-array.ts +4 -4
  411. package/src/internal/ref/ref.test.ts +1 -1
  412. package/src/internal/ref/ref.ts +64 -40
  413. package/src/internal/schema/compose.test.ts +3 -3
  414. package/src/internal/schema/compose.ts +13 -9
  415. package/src/internal/schema/echo-schema.ts +49 -11
  416. package/src/internal/schema/index.ts +0 -2
  417. package/src/internal/schema/persistent-schema.ts +3 -4
  418. package/src/internal/types/base.ts +6 -21
  419. package/src/internal/types/entity.ts +35 -4
  420. package/src/internal/types/meta.ts +13 -24
  421. package/src/testing/api.test.ts +31 -5
  422. package/src/testing/test-schema.ts +55 -30
  423. package/src/testing/util.ts +22 -15
  424. package/dist/lib/browser/chunk-7GH6RXJ3.mjs.map +0 -7
  425. package/dist/lib/browser/chunk-E4UTVJNF.mjs +0 -1111
  426. package/dist/lib/browser/chunk-E4UTVJNF.mjs.map +0 -7
  427. package/dist/lib/node-esm/chunk-JE5RXM2I.mjs +0 -1111
  428. package/dist/lib/node-esm/chunk-JE5RXM2I.mjs.map +0 -7
  429. package/dist/lib/node-esm/chunk-M4B6BMD2.mjs.map +0 -7
  430. package/dist/types/src/errors.d.ts.map +0 -1
  431. package/dist/types/src/internal/entities/expando.d.ts +0 -16
  432. package/dist/types/src/internal/entities/expando.d.ts.map +0 -1
  433. package/dist/types/src/internal/schema/runtime-schema-registry.d.ts +0 -18
  434. package/dist/types/src/internal/schema/runtime-schema-registry.d.ts.map +0 -1
  435. package/dist/types/src/internal/schema/snapshot.d.ts +0 -6
  436. package/dist/types/src/internal/schema/snapshot.d.ts.map +0 -1
  437. package/dist/types/src/query/filter.d.ts +0 -167
  438. package/dist/types/src/query/filter.d.ts.map +0 -1
  439. package/dist/types/src/query/index.d.ts +0 -5
  440. package/dist/types/src/query/index.d.ts.map +0 -1
  441. package/dist/types/src/query/order.d.ts +0 -12
  442. package/dist/types/src/query/order.d.ts.map +0 -1
  443. package/dist/types/src/query/query.d.ts.map +0 -1
  444. package/dist/types/src/query/query.test.d.ts +0 -2
  445. package/dist/types/src/query/query.test.d.ts.map +0 -1
  446. package/dist/types/src/query/testing.d.ts +0 -51
  447. package/dist/types/src/query/testing.d.ts.map +0 -1
  448. package/dist/types/src/query/types.d.ts +0 -17
  449. package/dist/types/src/query/types.d.ts.map +0 -1
  450. package/dist/types/src/query/util.d.ts +0 -8
  451. package/dist/types/src/query/util.d.ts.map +0 -1
  452. package/src/internal/entities/expando.ts +0 -23
  453. package/src/internal/schema/runtime-schema-registry.ts +0 -78
  454. package/src/internal/schema/snapshot.ts +0 -25
  455. package/src/query/filter.ts +0 -455
  456. package/src/query/index.ts +0 -9
  457. package/src/query/testing.ts +0 -64
  458. package/src/query/types.ts +0 -23
  459. package/src/query/util.ts +0 -25
@@ -0,0 +1 @@
1
+ {"version":3,"file":"json-serializer.d.ts","sourceRoot":"","sources":["../../../../../src/internal/proxy/json-serializer.ts"],"names":[],"mappings":"AAoBA;;GAEG;AACH,eAAO,MAAM,yBAAyB,GAAI,KAAK,GAAG,SAajD,CAAC;AAIF,eAAO,MAAM,mBAAmB,GAAa,MAAM,GAAG,QA+BrD,CAAC"}
@@ -1,5 +1,4 @@
1
1
  import type * as Schema from 'effect/Schema';
2
- import { type Live } from '@dxos/live-object';
3
2
  import { type AnyProperties, KindId, type ObjectMeta } from '../types';
4
3
  /**
5
4
  *
@@ -7,10 +6,9 @@ import { type AnyProperties, KindId, type ObjectMeta } from '../types';
7
6
  export type MakeObjectProps<T extends AnyProperties> = Omit<T, 'id' | KindId>;
8
7
  /**
9
8
  * Creates a reactive object from a plain Javascript object.
10
- * Optionally provides a TS-effect schema.
9
+ * Requires a TS-effect schema.
11
10
  */
12
11
  export declare const makeObject: {
13
- <T extends AnyProperties>(obj: T): Live<T>;
14
- <T extends AnyProperties>(schema: Schema.Schema<T, any, never>, obj: NoInfer<MakeObjectProps<T>>, meta?: ObjectMeta): Live<T>;
12
+ <T extends AnyProperties>(schema: Schema.Schema<T, any, never>, obj: NoInfer<MakeObjectProps<T>>, meta?: ObjectMeta): T;
15
13
  };
16
14
  //# sourceMappingURL=make-object.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"make-object.d.ts","sourceRoot":"","sources":["../../../../../src/internal/proxy/make-object.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,KAAK,MAAM,MAAM,eAAe,CAAC;AAG7C,OAAO,EACL,KAAK,IAAI,EAKV,MAAM,mBAAmB,CAAC;AAK3B,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,EAAU,KAAK,UAAU,EAAoB,MAAM,UAAU,CAAC;AAIjG;;GAEG;AAEH,MAAM,MAAM,eAAe,CAAC,CAAC,SAAS,aAAa,IAAI,IAAI,CAAC,CAAC,EAAE,IAAI,GAAG,MAAM,CAAC,CAAC;AAE9E;;;GAGG;AAKH,eAAO,MAAM,UAAU,EAAE;IACvB,CAAC,CAAC,SAAS,aAAa,EAAE,GAAG,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;IAC3C,CAAC,CAAC,SAAS,aAAa,EACtB,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,GAAG,EAAE,KAAK,CAAC,EACpC,GAAG,EAAE,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,EAChC,IAAI,CAAC,EAAE,UAAU,GAChB,IAAI,CAAC,CAAC,CAAC,CAAC;CAcZ,CAAC"}
1
+ {"version":3,"file":"make-object.d.ts","sourceRoot":"","sources":["../../../../../src/internal/proxy/make-object.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,KAAK,MAAM,MAAM,eAAe,CAAC;AAK7C,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,EAAU,KAAK,UAAU,EAAoB,MAAM,UAAU,CAAC;AAOjG;;GAEG;AAEH,MAAM,MAAM,eAAe,CAAC,CAAC,SAAS,aAAa,IAAI,IAAI,CAAC,CAAC,EAAE,IAAI,GAAG,MAAM,CAAC,CAAC;AAE9E;;;GAGG;AAKH,eAAO,MAAM,UAAU,EAAE;IACvB,CAAC,CAAC,SAAS,aAAa,EACtB,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,GAAG,EAAE,KAAK,CAAC,EACpC,GAAG,EAAE,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,EAChC,IAAI,CAAC,EAAE,UAAU,GAChB,CAAC,CAAC;CAGN,CAAC"}
@@ -0,0 +1,57 @@
1
+ /**
2
+ * Get the raw target from a value, unwrapping proxy if needed.
3
+ */
4
+ export declare const getRawTarget: (value: any) => any;
5
+ /**
6
+ * Get the ECHO object that owns this nested record.
7
+ *
8
+ * The owner is always the raw target object (not a proxy) of the root ECHO object.
9
+ * For example, if you have `echoObject.nested.deep`, both `nested` and `deep`
10
+ * will have their owner set to the raw target of `echoObject`.
11
+ *
12
+ * @param value - The nested record to check (can be a proxy or raw target).
13
+ * @returns The raw target of the owning root ECHO object, or undefined if not owned.
14
+ */
15
+ export declare const getOwner: (value: object | null | undefined) => object | undefined;
16
+ /**
17
+ * Set the ECHO object owner on a value and all its nested records.
18
+ * All nested JS objects point directly to the root ECHO object.
19
+ *
20
+ * @param value - The value to set ownership on (can be a proxy or raw target).
21
+ * @param owner - The raw target of the root ECHO object that will own this value.
22
+ * @param options.visited - Set of already-visited objects to avoid infinite loops.
23
+ * @param options.depth - Current recursion depth (unused, kept for debugging).
24
+ * @param options.allowedPreviousOwner - When reassigning a root ECHO object, its nested structures
25
+ * are allowed to have this as their previous owner without triggering the invariant.
26
+ */
27
+ export declare const setOwnerRecursive: (value: any, owner: object, options?: {
28
+ visited?: Set<object>;
29
+ depth?: number;
30
+ allowedPreviousOwner?: object;
31
+ }) => void;
32
+ /**
33
+ * Traverse an object graph, calling the visitor on each object.
34
+ * Handles proxy unwrapping and cycle detection.
35
+ *
36
+ * @param value - The value to traverse (can be a proxy or raw target).
37
+ * @param visitor - Called for each object. Return true to stop traversal (early exit).
38
+ * @returns true if the visitor returns true for any object.
39
+ */
40
+ export declare const traverseObjectGraph: (value: any, visitor: (actualValue: any) => boolean, visited?: Set<object>) => boolean;
41
+ /**
42
+ * Check if a value would create a cycle when assigned to a target ECHO object.
43
+ * Returns true if the value (or any nested object) IS the target root.
44
+ */
45
+ export declare const wouldCreateCycle: (targetRoot: object, value: any) => boolean;
46
+ /**
47
+ * Check if a value or any of its nested objects has an owner different from the target.
48
+ * Used to determine if deep copy is needed during init.
49
+ */
50
+ export declare const hasForeignOwner: (value: any, target: object) => boolean;
51
+ /**
52
+ * Notify all owners in the ownership chain.
53
+ * When a nested object changes, its parent should also be notified.
54
+ * This handles the case where a root ECHO object is nested inside another object.
55
+ */
56
+ export declare const notifyOwnerChain: (target: object) => void;
57
+ //# sourceMappingURL=ownership.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ownership.d.ts","sourceRoot":"","sources":["../../../../../src/internal/proxy/ownership.ts"],"names":[],"mappings":"AAuBA;;GAEG;AACH,eAAO,MAAM,YAAY,GAAI,OAAO,GAAG,KAAG,GAEzC,CAAC;AAEF;;;;;;;;;GASG;AACH,eAAO,MAAM,QAAQ,GAAI,OAAO,MAAM,GAAG,IAAI,GAAG,SAAS,KAAG,MAAM,GAAG,SAEpE,CAAC;AAWF;;;;;;;;;;GAUG;AACH,eAAO,MAAM,iBAAiB,GAC5B,OAAO,GAAG,EACV,OAAO,MAAM,EACb,UAAS;IACP,OAAO,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IACtB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,oBAAoB,CAAC,EAAE,MAAM,CAAC;CAC1B,KACL,IA4DF,CAAC;AAEF;;;;;;;GAOG;AACH,eAAO,MAAM,mBAAmB,GAC9B,OAAO,GAAG,EACV,SAAS,CAAC,WAAW,EAAE,GAAG,KAAK,OAAO,EACtC,qBAA2B,KAC1B,OAiCF,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,gBAAgB,GAAI,YAAY,MAAM,EAAE,OAAO,GAAG,KAAG,OACb,CAAC;AAEtD;;;GAGG;AACH,eAAO,MAAM,eAAe,GAAI,OAAO,GAAG,EAAE,QAAQ,MAAM,KAAG,OAWzD,CAAC;AAoCL;;;;GAIG;AACH,eAAO,MAAM,gBAAgB,GAAI,QAAQ,MAAM,KAAG,IAQjD,CAAC"}
@@ -0,0 +1,18 @@
1
+ /**
2
+ * Reactive object proxy.
3
+ */
4
+ export interface ReactiveHandler<T extends object> extends ProxyHandler<T> {
5
+ /**
6
+ * Target to Proxy mapping.
7
+ */
8
+ readonly _proxyMap: WeakMap<object, any>;
9
+ /**
10
+ * Called when a proxy is created for this target.
11
+ */
12
+ init(target: T): void;
13
+ }
14
+ /**
15
+ * For debug-dumping the data of the object.
16
+ */
17
+ export declare const objectData: unique symbol;
18
+ //# sourceMappingURL=proxy-types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"proxy-types.d.ts","sourceRoot":"","sources":["../../../../../src/internal/proxy/proxy-types.ts"],"names":[],"mappings":"AAIA;;GAEG;AACH,MAAM,WAAW,eAAe,CAAC,CAAC,SAAS,MAAM,CAAE,SAAQ,YAAY,CAAC,CAAC,CAAC;IACxE;;OAEG;IACH,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAEzC;;OAEG;IACH,IAAI,CAAC,MAAM,EAAE,CAAC,GAAG,IAAI,CAAC;CACvB;AAED;;GAEG;AACH,eAAO,MAAM,UAAU,eAA6C,CAAC"}
@@ -0,0 +1,47 @@
1
+ import { type ReactiveHandler } from './proxy-types';
2
+ export declare const symbolIsProxy: unique symbol;
3
+ /**
4
+ * Internal api.
5
+ */
6
+ export declare const isProxy: (value: unknown) => boolean;
7
+ export declare const isValidProxyTarget: (value: any) => value is object;
8
+ /**
9
+ * @deprecated
10
+ */
11
+ export declare const getProxySlot: <T extends object>(proxy: any) => ProxyHandlerSlot<T>;
12
+ export declare const getProxyTarget: <T extends object>(proxy: any) => T;
13
+ export declare const getProxyHandler: <T extends object>(proxy: any) => ReactiveHandler<T>;
14
+ /**
15
+ * Unsafe method to override id for debugging/testing and migration purposes.
16
+ * @deprecated
17
+ */
18
+ export declare const dangerouslySetProxyId: <T>(obj: T, id: string) => void;
19
+ /**
20
+ * Create a reactive proxy object.
21
+ * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Proxy
22
+ *
23
+ * @param target Object or array. Passing in array will enable array methods.
24
+ * @param handler ReactiveHandler instance.
25
+ */
26
+ export declare const createProxy: <T extends object>(target: T, handler: ReactiveHandler<T>) => T;
27
+ /**
28
+ * Passed as the handler to the Proxy constructor.
29
+ * Maintains a mutable slot for the actual handler.
30
+ */
31
+ declare class ProxyHandlerSlot<T extends object> implements ProxyHandler<T> {
32
+ readonly target: T;
33
+ private _handler;
34
+ /**
35
+ * @param target Original object.
36
+ * @param _handler Handles intercepted operations.
37
+ */
38
+ constructor(target: T, _handler: ReactiveHandler<T>);
39
+ get handler(): ReactiveHandler<T>;
40
+ setHandler(handler: ReactiveHandler<T>): void;
41
+ /**
42
+ * Get value.
43
+ */
44
+ get(target: T, prop: string | symbol, receiver: any): any;
45
+ }
46
+ export {};
47
+ //# sourceMappingURL=proxy-utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"proxy-utils.d.ts","sourceRoot":"","sources":["../../../../../src/internal/proxy/proxy-utils.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,eAAe,CAAC;AAErD,eAAO,MAAM,aAAa,eAAmC,CAAC;AAE9D;;GAEG;AACH,eAAO,MAAM,OAAO,GAAI,OAAO,OAAO,YAAsC,CAAC;AAE7E,eAAO,MAAM,kBAAkB,GAAI,OAAO,GAAG,KAAG,KAAK,IAAI,MASxD,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,YAAY,GAAI,CAAC,SAAS,MAAM,EAAE,OAAO,GAAG,KAAG,gBAAgB,CAAC,CAAC,CAI7E,CAAC;AAEF,eAAO,MAAM,cAAc,GAAI,CAAC,SAAS,MAAM,EAAE,OAAO,GAAG,KAAG,CAE7D,CAAC;AAEF,eAAO,MAAM,eAAe,GAAI,CAAC,SAAS,MAAM,EAAE,OAAO,GAAG,KAAG,eAAe,CAAC,CAAC,CAE/E,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,qBAAqB,GAAI,CAAC,EAAE,KAAK,CAAC,EAAE,IAAI,MAAM,SAE1D,CAAC;AAEF;;;;;;GAMG;AAGH,eAAO,MAAM,WAAW,GAAI,CAAC,SAAS,MAAM,EAAE,QAAQ,CAAC,EAAE,SAAS,eAAe,CAAC,CAAC,CAAC,KAAG,CAatF,CAAC;AAEF;;;GAGG;AACH,cAAM,gBAAgB,CAAC,CAAC,SAAS,MAAM,CAAE,YAAW,YAAY,CAAC,CAAC,CAAC;IAM/D,QAAQ,CAAC,MAAM,EAAE,CAAC;IAClB,OAAO,CAAC,QAAQ;IANlB;;;OAGG;gBAEQ,MAAM,EAAE,CAAC,EACV,QAAQ,EAAE,eAAe,CAAC,CAAC,CAAC;IAGtC,IAAI,OAAO,uBAGV;IAGD,UAAU,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC,CAAC,GAAG,IAAI;IAI7C;;OAEG;IACH,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,QAAQ,EAAE,GAAG,GAAG,GAAG;CA+C1D"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Extends the native array to make sure that arrays methods are correctly reactive.
3
+ * Enforces that mutations only happen within Obj.change() context.
4
+ */
5
+ export declare class ReactiveArray<T> extends Array<T> {
6
+ static get [Symbol.species](): ArrayConstructor;
7
+ }
8
+ //# sourceMappingURL=reactive-array.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reactive-array.d.ts","sourceRoot":"","sources":["../../../../../src/internal/proxy/reactive-array.ts"],"names":[],"mappings":"AAkCA;;;GAGG;AACH,qBAAa,aAAa,CAAC,CAAC,CAAE,SAAQ,KAAK,CAAC,CAAC,CAAC;IAC5C,WAAoB,CAAC,MAAM,CAAC,OAAO,CAAC,qBAEnC;CA6BF"}
@@ -0,0 +1,39 @@
1
+ import { type RefTypeId } from '../ref/ref';
2
+ /**
3
+ * Subscribe to changes on a reactive object.
4
+ * @param obj - The reactive object to subscribe to.
5
+ * @param callback - Called when the object changes.
6
+ * @returns Unsubscribe function.
7
+ */
8
+ export declare const subscribe: (obj: unknown, callback: () => void) => (() => void);
9
+ /**
10
+ * Deeply removes readonly modifiers from all properties of T.
11
+ * Inside Obj.change, all properties are fully mutable regardless of schema definition.
12
+ * Ref types are preserved as-is since they are value-like objects that are replaced, not mutated.
13
+ * Primitive types (including branded primitives) are preserved as-is.
14
+ */
15
+ export type Mutable<T> = T extends string | number | boolean | bigint | symbol | null | undefined ? T : T extends {
16
+ [RefTypeId]: any;
17
+ } ? T : T extends object ? T extends readonly (infer U)[] ? Mutable<U>[] : {
18
+ -readonly [K in keyof T]: Mutable<T[K]>;
19
+ } : T;
20
+ /**
21
+ * Callback type for the change function.
22
+ */
23
+ export type ChangeCallback<T> = (mutableObj: Mutable<T>) => void;
24
+ /**
25
+ * Perform mutations on a reactive object within a change context.
26
+ *
27
+ * If the object has a change handler (via ChangeId), it will be called with the callback.
28
+ * This allows handlers to implement features like:
29
+ * - Readonly enforcement (mutations only allowed within change context)
30
+ * - Batched notifications (single notification for all mutations in the callback)
31
+ * - Transaction semantics
32
+ *
33
+ * If the object doesn't have a change handler, the callback is called directly.
34
+ *
35
+ * @param obj - The reactive object to mutate.
36
+ * @param callback - Callback that receives a mutable view of the object.
37
+ */
38
+ export declare const change: <T>(obj: T, callback: ChangeCallback<T>) => void;
39
+ //# sourceMappingURL=reactive.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reactive.d.ts","sourceRoot":"","sources":["../../../../../src/internal/proxy/reactive.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,YAAY,CAAC;AAK5C;;;;;GAKG;AAEH,eAAO,MAAM,SAAS,GAAI,KAAK,OAAO,EAAE,UAAU,MAAM,IAAI,KAAG,CAAC,MAAM,IAAI,CAMzE,CAAC;AAEF;;;;;GAKG;AACH,MAAM,MAAM,OAAO,CAAC,CAAC,IAAI,CAAC,SAAS,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,IAAI,GAAG,SAAS,GAC7F,CAAC,GACD,CAAC,SAAS;IAAE,CAAC,SAAS,CAAC,EAAE,GAAG,CAAA;CAAE,GAC5B,CAAC,GACD,CAAC,SAAS,MAAM,GACd,CAAC,SAAS,SAAS,CAAC,MAAM,CAAC,CAAC,EAAE,GAC5B,OAAO,CAAC,CAAC,CAAC,EAAE,GACZ;IAAE,CAAC,UAAU,CAAC,IAAI,MAAM,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;CAAE,GAC7C,CAAC,CAAC;AAEV;;GAEG;AACH,MAAM,MAAM,cAAc,CAAC,CAAC,IAAI,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC;AAEjE;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,MAAM,GAAI,CAAC,EAAE,KAAK,CAAC,EAAE,UAAU,cAAc,CAAC,CAAC,CAAC,KAAG,IAS/D,CAAC"}
@@ -0,0 +1,15 @@
1
+ import * as Schema from 'effect/Schema';
2
+ export declare class SchemaValidator {
3
+ /**
4
+ * Recursively check that schema specifies constructions we can handle.
5
+ * Validates there are no ambiguous discriminated union types.
6
+ */
7
+ static validateSchema(schema: Schema.Schema.AnyNoContext): void;
8
+ static hasTypeAnnotation(rootObjectSchema: Schema.Schema.AnyNoContext, property: string, annotation: symbol): boolean;
9
+ static getPropertySchema(rootObjectSchema: Schema.Schema.AnyNoContext, propertyPath: KeyPath, getProperty?: (path: KeyPath) => any): Schema.Schema.AnyNoContext;
10
+ static getTargetPropertySchema(target: any, prop: string | symbol): Schema.Schema.AnyNoContext;
11
+ }
12
+ export declare const checkIdNotPresentOnSchema: (schema: Schema.Schema<any, any, any>) => void;
13
+ type KeyPath = readonly (string | number)[];
14
+ export {};
15
+ //# sourceMappingURL=schema-validator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema-validator.d.ts","sourceRoot":"","sources":["../../../../../src/internal/proxy/schema-validator.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAUxC,qBAAa,eAAe;IAC1B;;;OAGG;WACW,cAAc,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,YAAY,GAAG,IAAI;WAkBxD,iBAAiB,CAC7B,gBAAgB,EAAE,MAAM,CAAC,MAAM,CAAC,YAAY,EAC5C,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,MAAM,GACjB,OAAO;WAaI,iBAAiB,CAC7B,gBAAgB,EAAE,MAAM,CAAC,MAAM,CAAC,YAAY,EAC5C,YAAY,EAAE,OAAO,EACrB,WAAW,GAAE,CAAC,IAAI,EAAE,OAAO,KAAK,GAAgB,GAC/C,MAAM,CAAC,MAAM,CAAC,YAAY;WAuBf,uBAAuB,CAAC,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,YAAY;CAgBtG;AAyID,eAAO,MAAM,yBAAyB,GAAI,QAAQ,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,SAM7E,CAAC;AAGF,KAAK,OAAO,GAAG,SAAS,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,CAAC"}
@@ -0,0 +1,3 @@
1
+ export declare const EventId: unique symbol;
2
+ export declare const ChangeId: unique symbol;
3
+ //# sourceMappingURL=symbols.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"symbols.d.ts","sourceRoot":"","sources":["../../../../../src/internal/proxy/symbols.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,OAAO,eAA0C,CAAC;AAC/D,eAAO,MAAM,QAAQ,eAA2C,CAAC"}
@@ -1,9 +1,9 @@
1
1
  import * as Schema from 'effect/Schema';
2
- import { type GenericSignal } from '@dxos/echo-signals/runtime';
3
- import { type ReactiveHandler } from '@dxos/live-object';
2
+ import { Event } from '@dxos/async';
4
3
  import { SchemaId, TypeId } from '../types';
5
- declare const symbolSignal: unique symbol;
6
- declare const symbolPropertySignal: unique symbol;
4
+ import { type ReactiveHandler } from './proxy-types';
5
+ import { EventId } from './symbols';
6
+ export { getEchoRoot, setMetaOwner } from './ownership';
7
7
  type ProxyTarget = {
8
8
  /**
9
9
  * Typename or type DXN.
@@ -14,31 +14,34 @@ type ProxyTarget = {
14
14
  */
15
15
  [SchemaId]: Schema.Schema.AnyNoContext;
16
16
  /**
17
- * For get and set operations on value properties.
17
+ * For modifications.
18
18
  */
19
- [symbolSignal]: GenericSignal;
20
- /**
21
- * For modifying the structure of the object.
22
- */
23
- [symbolPropertySignal]: GenericSignal;
19
+ [EventId]: Event<void>;
24
20
  } & ({
25
21
  [key: keyof any]: any;
26
22
  } | any[]);
27
23
  /**
28
24
  * Typed in-memory reactive store (with Schema).
25
+ * Reactivity is based on Event subscriptions, not signals.
29
26
  */
30
27
  export declare class TypedReactiveHandler implements ReactiveHandler<ProxyTarget> {
31
28
  static readonly instance: ReactiveHandler<any>;
32
29
  readonly _proxyMap: WeakMap<object, any>;
30
+ private _inSet;
33
31
  private constructor();
34
32
  init(target: ProxyTarget): void;
35
33
  get(target: ProxyTarget, prop: string | symbol, receiver: any): any;
36
34
  set(target: ProxyTarget, prop: string | symbol, value: any, receiver: any): boolean;
37
35
  ownKeys(target: ProxyTarget): ArrayLike<string | symbol>;
36
+ deleteProperty(target: ProxyTarget, property: string | symbol): boolean;
38
37
  defineProperty(target: ProxyTarget, property: string | symbol, attributes: PropertyDescriptor): boolean;
38
+ /**
39
+ * Prepare a value for assignment to a typed object property.
40
+ * Handles cycle detection, copy-on-assign, array conversion, validation, and ownership.
41
+ */
42
+ private _prepareValueForAssignment;
39
43
  private _validateValue;
40
44
  private _inspect;
41
45
  }
42
46
  export declare const prepareTypedTarget: <T>(target: T, schema: Schema.Schema<T>) => void;
43
- export {};
44
47
  //# sourceMappingURL=typed-handler.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"typed-handler.d.ts","sourceRoot":"","sources":["../../../../../src/internal/proxy/typed-handler.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAIxC,OAAO,EAAE,KAAK,aAAa,EAAoB,MAAM,4BAA4B,CAAC;AAElF,OAAO,EAEL,KAAK,eAAe,EAMrB,MAAM,mBAAmB,CAAC;AAK3B,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAE5C,QAAA,MAAM,YAAY,eAAmB,CAAC;AACtC,QAAA,MAAM,oBAAoB,eAA4B,CAAC;AAEvD,KAAK,WAAW,GAAG;IACjB;;OAEG;IACH,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAEjB;;OAEG;IACH,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC;IAEvC;;OAEG;IAEH,CAAC,YAAY,CAAC,EAAE,aAAa,CAAC;IAE9B;;OAEG;IACH,CAAC,oBAAoB,CAAC,EAAE,aAAa,CAAC;CACvC,GAAG,CAAC;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,GAAG,CAAA;CAAE,GAAG,GAAG,EAAE,CAAC,CAAC;AAExC;;GAEG;AACH,qBAAa,oBAAqB,YAAW,eAAe,CAAC,WAAW,CAAC;IACvE,gBAAuB,QAAQ,EAAE,eAAe,CAAC,GAAG,CAAC,CAA8B;IAEnF,QAAQ,CAAC,SAAS,uBAA8B;IAEhD,OAAO;IAEP,IAAI,CAAC,MAAM,EAAE,WAAW,GAAG,IAAI;IA6B/B,GAAG,CAAC,MAAM,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,QAAQ,EAAE,GAAG,GAAG,GAAG;IA4BnE,GAAG,CAAC,MAAM,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG,GAAG,OAAO;IAenF,OAAO,CAAC,MAAM,EAAE,WAAW,GAAG,SAAS,CAAC,MAAM,GAAG,MAAM,CAAC;IAOxD,cAAc,CAAC,MAAM,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,EAAE,UAAU,EAAE,kBAAkB,GAAG,OAAO;IAUvG,OAAO,CAAC,cAAc;IAatB,OAAO,CAAC,QAAQ;CAajB;AA8BD,eAAO,MAAM,kBAAkB,GAAI,CAAC,EAAE,QAAQ,CAAC,EAAE,QAAQ,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,SAUxE,CAAC"}
1
+ {"version":3,"file":"typed-handler.d.ts","sourceRoot":"","sources":["../../../../../src/internal/proxy/typed-handler.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAGxC,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAMpC,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAe5C,OAAO,EAAE,KAAK,eAAe,EAAc,MAAM,eAAe,CAAC;AAIjE,OAAO,EAAY,OAAO,EAAE,MAAM,WAAW,CAAC;AAG9C,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAExD,KAAK,WAAW,GAAG;IACjB;;OAEG;IACH,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAEjB;;OAEG;IACH,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC;IAEvC;;OAEG;IACH,CAAC,OAAO,CAAC,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;CACxB,GAAG,CAAC;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,GAAG,CAAA;CAAE,GAAG,GAAG,EAAE,CAAC,CAAC;AA+ExC;;;GAGG;AACH,qBAAa,oBAAqB,YAAW,eAAe,CAAC,WAAW,CAAC;IACvE,gBAAuB,QAAQ,EAAE,eAAe,CAAC,GAAG,CAAC,CAA8B;IAEnF,QAAQ,CAAC,SAAS,uBAA8B;IAChD,OAAO,CAAC,MAAM,CAAS;IAEvB,OAAO;IAEP,IAAI,CAAC,MAAM,EAAE,WAAW,GAAG,IAAI;IAoD/B,GAAG,CAAC,MAAM,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,QAAQ,EAAE,GAAG,GAAG,GAAG;IA8BnE,GAAG,CAAC,MAAM,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG,GAAG,OAAO;IAmCnF,OAAO,CAAC,MAAM,EAAE,WAAW,GAAG,SAAS,CAAC,MAAM,GAAG,MAAM,CAAC;IAIxD,cAAc,CAAC,MAAM,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO;IAkBvE,cAAc,CAAC,MAAM,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,EAAE,UAAU,EAAE,kBAAkB,GAAG,OAAO;IA2BvG;;;OAGG;IACH,OAAO,CAAC,0BAA0B;IAiDlC,OAAO,CAAC,cAAc;IAUtB,OAAO,CAAC,QAAQ;CAajB;AA8BD,eAAO,MAAM,kBAAkB,GAAI,CAAC,EAAE,QAAQ,CAAC,EAAE,QAAQ,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,SAUxE,CAAC"}
@@ -1,5 +1,5 @@
1
1
  import { type ObjectId } from '@dxos/keys';
2
- import { type AnyEchoObject } from '../types';
2
+ import { type AnyEntity } from '../types';
3
3
  import { Ref } from './ref';
4
4
  /**
5
5
  * Helper functions for working with arrays of refs.
@@ -8,14 +8,14 @@ export declare const RefArray: Readonly<{
8
8
  /**
9
9
  * @returns all resolved targets.
10
10
  */
11
- targets: <T extends AnyEchoObject>(refs: readonly Ref<T>[]) => T[];
11
+ targets: <T extends AnyEntity>(refs: readonly Ref<T>[]) => T[];
12
12
  /**
13
13
  * Load all referenced objects.
14
14
  */
15
- loadAll: <T extends AnyEchoObject>(refs: readonly Ref<T>[]) => Promise<T[]>;
15
+ loadAll: <T extends AnyEntity>(refs: readonly Ref<T>[]) => Promise<T[]>;
16
16
  /**
17
17
  * Removes the ref with the given id.
18
18
  */
19
- removeById: (refs: Ref<AnyEchoObject>[], id: ObjectId) => void;
19
+ removeById: (refs: Ref<AnyEntity>[], id: ObjectId) => void;
20
20
  }>;
21
21
  //# sourceMappingURL=ref-array.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ref-array.d.ts","sourceRoot":"","sources":["../../../../../src/internal/ref/ref-array.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,YAAY,CAAC;AAG3C,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,UAAU,CAAC;AAE9C,OAAO,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;AAE5B;;GAEG;AACH,eAAO,MAAM,QAAQ;IACnB;;OAEG;cACO,CAAC,SAAS,aAAa,QAAQ,SAAS,GAAG,CAAC,CAAC,CAAC,EAAE,KAAG,CAAC,EAAE;IAIhE;;OAEG;cACO,CAAC,SAAS,aAAa,QAAQ,SAAS,GAAG,CAAC,CAAC,CAAC,EAAE,KAAG,OAAO,CAAC,CAAC,EAAE,CAAC;IAIzE;;OAEG;uBACgB,GAAG,CAAC,aAAa,CAAC,EAAE,MAAM,QAAQ;EAMrD,CAAC"}
1
+ {"version":3,"file":"ref-array.d.ts","sourceRoot":"","sources":["../../../../../src/internal/ref/ref-array.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,YAAY,CAAC;AAG3C,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,UAAU,CAAC;AAE1C,OAAO,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;AAE5B;;GAEG;AACH,eAAO,MAAM,QAAQ;IACnB;;OAEG;cACO,CAAC,SAAS,SAAS,QAAQ,SAAS,GAAG,CAAC,CAAC,CAAC,EAAE,KAAG,CAAC,EAAE;IAI5D;;OAEG;cACO,CAAC,SAAS,SAAS,QAAQ,SAAS,GAAG,CAAC,CAAC,CAAC,EAAE,KAAG,OAAO,CAAC,CAAC,EAAE,CAAC;IAIrE;;OAEG;uBACgB,GAAG,CAAC,SAAS,CAAC,EAAE,MAAM,QAAQ;EAMjD,CAAC"}
@@ -1,9 +1,11 @@
1
1
  import * as Schema from 'effect/Schema';
2
2
  import * as SchemaAST from 'effect/SchemaAST';
3
- import { type EncodedReference } from '@dxos/echo-protocol';
3
+ import type * as Types from 'effect/Types';
4
+ import { type CustomInspectFunction, inspectCustom } from '@dxos/debug';
5
+ import { EncodedReference } from '@dxos/echo-protocol';
4
6
  import { DXN, ObjectId } from '@dxos/keys';
5
7
  import { type JsonSchemaType } from '../json-schema';
6
- import type { AnyProperties, WithId } from '../types';
8
+ import type { AnyEntity, AnyProperties } from '../types';
7
9
  /**
8
10
  * The `$id` and `$ref` fields for an ECHO reference schema.
9
11
  */
@@ -11,7 +13,7 @@ export declare const JSON_SCHEMA_ECHO_REF_ID = "/schemas/echo/ref";
11
13
  export declare const getSchemaReference: (property: JsonSchemaType) => {
12
14
  typename: string;
13
15
  } | undefined;
14
- export declare const createSchemaReference: (typename: string) => JsonSchemaType;
16
+ export declare const createSchemaReference: (typename: string) => Types.DeepMutable<JsonSchemaType>;
15
17
  /**
16
18
  * Runtime type-info for a reference extracted from effect AST.
17
19
  */
@@ -30,7 +32,7 @@ export declare const RefTypeId: unique symbol;
30
32
  /**
31
33
  * Reference Schema.
32
34
  */
33
- export interface RefSchema<T extends WithId> extends Schema.SchemaClass<Ref<T>, EncodedReference> {
35
+ export interface RefSchema<T extends AnyEntity> extends Schema.SchemaClass<Ref<T>, EncodedReference> {
34
36
  }
35
37
  /**
36
38
  * Type of the `Ref` function and extra methods attached to it.
@@ -56,7 +58,7 @@ export interface RefFn {
56
58
  /**
57
59
  * Constructs a reference that points to the given object.
58
60
  */
59
- make: <T extends WithId>(object: T) => Ref<T>;
61
+ make: <T extends AnyEntity>(object: T) => Ref<T>;
60
62
  /**
61
63
  * Constructs a reference that points to the object specified by the provided DXN.
62
64
  */
@@ -75,12 +77,14 @@ export interface Ref<T> {
75
77
  * Target object DXN.
76
78
  */
77
79
  get dxn(): DXN;
80
+ /**
81
+ * Returns true if the reference has a target available (inlined or resolver set).
82
+ */
83
+ get isAvailable(): boolean;
78
84
  /**
79
85
  * @returns The reference target.
80
86
  * May return `undefined` if the object is not loaded in the working set.
81
87
  * Accessing this property, even if it returns `undefined` will trigger the object to be loaded to the working set.
82
- *
83
- * @reactive Supports signal subscriptions.
84
88
  */
85
89
  get target(): T | undefined;
86
90
  /**
@@ -157,6 +161,10 @@ export declare class RefImpl<T> implements Ref<T> {
157
161
  * @inheritdoc
158
162
  */
159
163
  get dxn(): DXN;
164
+ /**
165
+ * @inheritdoc
166
+ */
167
+ get isAvailable(): boolean;
160
168
  /**
161
169
  * @inheritdoc
162
170
  */
@@ -184,6 +192,7 @@ export declare class RefImpl<T> implements Ref<T> {
184
192
  */
185
193
  toJSON(): EncodedReference;
186
194
  toString(): string;
195
+ [inspectCustom]: CustomInspectFunction;
187
196
  [RefTypeId]: {
188
197
  _T: any;
189
198
  };
@@ -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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"}
@@ -1,6 +1,7 @@
1
+ import type * as Types from 'effect/Types';
1
2
  import { type JsonSchemaType } from '../json-schema';
2
3
  /**
3
4
  * Creates a composite schema from the source and projection schemas.
4
5
  */
5
- export declare const composeSchema: (source: JsonSchemaType, target: JsonSchemaType) => JsonSchemaType;
6
+ export declare const composeSchema: (source: Types.Mutable<JsonSchemaType>, target: Types.Mutable<JsonSchemaType>) => Types.Mutable<JsonSchemaType>;
6
7
  //# sourceMappingURL=compose.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"compose.d.ts","sourceRoot":"","sources":["../../../../../src/internal/schema/compose.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAIrD;;GAEG;AAGH,eAAO,MAAM,aAAa,GAAI,QAAQ,cAAc,EAAE,QAAQ,cAAc,KAAG,cAqB9E,CAAC"}
1
+ {"version":3,"file":"compose.d.ts","sourceRoot":"","sources":["../../../../../src/internal/schema/compose.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,KAAK,KAAK,MAAM,cAAc,CAAC;AAI3C,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAErD;;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"}
@@ -4,6 +4,7 @@ import { type ObjectId } from '@dxos/keys';
4
4
  import { type SchemaMeta, SchemaMetaSymbol } from '../annotations';
5
5
  import { type JsonSchemaType } from '../json-schema';
6
6
  import { type TypedObject, type TypedObjectPrototype } from '../object';
7
+ import { EntityKind, SchemaKindId } from '../types';
7
8
  import { PersistentSchema } from './persistent-schema';
8
9
  /**
9
10
  * Base schema type.
@@ -56,6 +57,7 @@ export declare class ImmutableSchema<A = any, I = any> implements BaseSchema<A,
56
57
  <A_1, B = never, C = never, D = never, E = never, F = never, G = never, H = never, I_1 = never, J = never, K = never, L = never, M = never, N = never, O = never, P = never, Q = never, R = never, S = never, T = never, U = never>(this: A_1, ab: (_: A_1) => B, bc: (_: B) => C, cd: (_: C) => D, de: (_: D) => E, ef: (_: E) => F, fg: (_: F) => G, gh: (_: G) => H, hi: (_: H) => I_1, ij: (_: I_1) => J, jk: (_: J) => K, kl: (_: K) => L, lm: (_: L) => M, mn: (_: M) => N, no: (_: N) => O, op: (_: O) => P, pq: (_: P) => Q, qr: (_: Q) => R, rs: (_: R) => S, st: (_: S) => T, tu: (_: T) => U): U;
57
58
  <A_1, B = never, C = never, D = never, E = never, F = never, G = never, H = never, I_1 = never, J = never, K = never, L = never, M = never, N = never, O = never, P = never, Q = never, R = never, S = never, T = never, U = never>(this: A_1, ab: (_: A_1) => B, bc: (_: B) => C, cd: (_: C) => D, de: (_: D) => E, ef: (_: E) => F, fg: (_: F) => G, gh: (_: G) => H, hi: (_: H) => I_1, ij: (_: I_1) => J, jk: (_: J) => K, kl: (_: K) => L, lm: (_: L) => M, mn: (_: M) => N, no: (_: N) => O, op: (_: O) => P, pq: (_: P) => Q, qr: (_: Q) => R, rs: (_: R) => S, st: (_: S) => T, tu: (_: T) => U): U;
58
59
  };
60
+ get kind(): EntityKind;
59
61
  get typename(): string;
60
62
  get version(): string;
61
63
  get readonly(): boolean;
@@ -77,7 +79,7 @@ declare const EchoSchema_base: TypedObjectPrototype<any, any>;
77
79
  *
78
80
  * @example
79
81
  * ```ts
80
- * export class TableType extends Schema.Struct({...}).pipe(Type.Obj({ typename: 'example.org/type/Table', version: '0.1.0' })){
82
+ * export class TableType extends Schema.Struct({...}).pipe(Type.object({ typename: 'example.org/type/Table', version: '0.1.0' })){
81
83
  * title: Schema.String,
82
84
  * schema: Schema.optional(ref(EchoSchema)),
83
85
  * props: Schema.mutable(S.Array(TablePropSchema)),
@@ -90,6 +92,11 @@ export declare class EchoSchema<A = any, I = any> extends EchoSchema_base implem
90
92
  private readonly _persistentSchema;
91
93
  private _schema;
92
94
  private _isDirty;
95
+ /**
96
+ * Schema kind key that marks this as an ECHO schema.
97
+ * Makes EchoSchema satisfy the Type.Obj.Any type.
98
+ */
99
+ readonly [SchemaKindId]: EntityKind.Object;
93
100
  constructor(_persistentSchema: PersistentSchema);
94
101
  get [Schema.TypeId](): {
95
102
  _A: (_: any) => any;
@@ -102,6 +109,7 @@ export declare class EchoSchema<A = any, I = any> extends EchoSchema_base implem
102
109
  get ast(): SchemaAST.AST;
103
110
  get annotations(): (annotations: Schema.Annotations.GenericSchema<any>) => Schema.Schema<any, any, never>;
104
111
  get pipe(): Schema.Schema.AnyNoContext['pipe'];
112
+ get kind(): EntityKind.Object;
105
113
  get typename(): string;
106
114
  get version(): string;
107
115
  get readonly(): boolean;
@@ -110,7 +118,7 @@ export declare class EchoSchema<A = any, I = any> extends EchoSchema_base implem
110
118
  */
111
119
  get snapshot(): Schema.Schema.AnyNoContext;
112
120
  /**
113
- * @reactive
121
+ * Returns the JSON schema for the schema.
114
122
  */
115
123
  get jsonSchema(): JsonSchemaType;
116
124
  /**
@@ -155,7 +163,11 @@ export declare class EchoSchema<A = any, I = any> extends EchoSchema_base implem
155
163
  */
156
164
  removeFields(fieldNames: string[]): void;
157
165
  /**
158
- * Called by EchoSchemaRegistry on update.
166
+ * Wrapper for Obj.change that handles the change context for the persistent schema.
167
+ */
168
+ private _change;
169
+ /**
170
+ * Called by DatabaseSchemaRegistry on update.
159
171
  */
160
172
  _invalidate(): void;
161
173
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"echo-schema.d.ts","sourceRoot":"","sources":["../../../../../src/internal/schema/echo-schema.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"echo-schema.d.ts","sourceRoot":"","sources":["../../../../../src/internal/schema/echo-schema.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,4 @@
1
1
  export * from './echo-schema';
2
2
  export * from './manipulation';
3
3
  export * from './persistent-schema';
4
- export * from './runtime-schema-registry';
5
- export * from './snapshot';
6
4
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/internal/schema/index.ts"],"names":[],"mappings":"AAIA,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,qBAAqB,CAAC;AACpC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,YAAY,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/internal/schema/index.ts"],"names":[],"mappings":"AAIA,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,qBAAqB,CAAC"}
@@ -1,18 +1,20 @@
1
1
  import * as Schema from 'effect/Schema';
2
+ import { EchoObjectSchema } from '../entities';
2
3
  import { JsonSchemaType } from '../json-schema';
3
4
  /**
4
5
  * Persistent representation of a schema.
5
6
  */
6
- declare const PersistentEchoSchema: import("../entities/entity").EchoTypeSchema<Schema.Struct<{
7
+ export declare const PersistentSchema: EchoObjectSchema<Schema.Struct<{
7
8
  name: Schema.optional<typeof Schema.String>;
8
9
  typename: Schema.refine<string, typeof Schema.String>;
9
10
  version: Schema.refine<string, typeof Schema.String>;
10
11
  jsonSchema: Schema.Schema<JsonSchemaType, JsonSchemaType, never>;
11
- }>, {}>;
12
- export interface PersistentSchema extends Schema.Schema.Type<typeof PersistentEchoSchema> {
13
- }
14
- export interface PersistentSchemaEncoded extends Schema.Schema.Encoded<typeof PersistentEchoSchema> {
12
+ }>, Readonly<{
13
+ name: Schema.optional<typeof Schema.String>;
14
+ typename: Schema.refine<string, typeof Schema.String>;
15
+ version: Schema.refine<string, typeof Schema.String>;
16
+ jsonSchema: Schema.Schema<JsonSchemaType, JsonSchemaType, never>;
17
+ }>>;
18
+ export interface PersistentSchema extends Schema.Schema.Type<typeof PersistentSchema> {
15
19
  }
16
- export declare const PersistentSchema: Schema.Schema<PersistentSchema, PersistentSchemaEncoded>;
17
- export {};
18
20
  //# sourceMappingURL=persistent-schema.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"persistent-schema.d.ts","sourceRoot":"","sources":["../../../../../src/internal/schema/persistent-schema.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAIxC,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAEhD;;GAEG;AAEH,QAAA,MAAM,oBAAoB;;;;;OAUzB,CAAC;AACF,MAAM,WAAW,gBAAiB,SAAQ,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,oBAAoB,CAAC;CAAG;AAC5F,MAAM,WAAW,uBAAwB,SAAQ,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,oBAAoB,CAAC;CAAG;AACtG,eAAO,MAAM,gBAAgB,EAAE,MAAM,CAAC,MAAM,CAAC,gBAAgB,EAAE,uBAAuB,CAAwB,CAAC"}
1
+ {"version":3,"file":"persistent-schema.d.ts","sourceRoot":"","sources":["../../../../../src/internal/schema/persistent-schema.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAGxC,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAEhD;;GAEG;AAEH,eAAO,MAAM,gBAAgB;;;;;;;;;;GAU5B,CAAC;AAEF,MAAM,WAAW,gBAAiB,SAAQ,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,gBAAgB,CAAC;CAAG"}