@dxos/echo 0.8.4-main.67995b8 → 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 (553) hide show
  1. package/README.md +2 -3
  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-PAM4KEXE.mjs +3847 -0
  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 +72 -9
  83. package/dist/lib/browser/internal/index.mjs +457 -0
  84. package/dist/lib/browser/internal/index.mjs.map +7 -0
  85. package/dist/lib/browser/meta.json +1 -1
  86. package/dist/lib/browser/testing/index.mjs +332 -35
  87. package/dist/lib/browser/testing/index.mjs.map +4 -4
  88. package/dist/lib/node-esm/Annotation.mjs +33 -0
  89. package/dist/lib/node-esm/Annotation.mjs.map +7 -0
  90. package/dist/lib/node-esm/Database.mjs +18 -0
  91. package/dist/lib/node-esm/Database.mjs.map +7 -0
  92. package/dist/lib/node-esm/Entity.mjs +52 -0
  93. package/dist/lib/node-esm/Entity.mjs.map +7 -0
  94. package/dist/lib/node-esm/Err.mjs +11 -0
  95. package/dist/lib/node-esm/Err.mjs.map +7 -0
  96. package/dist/lib/node-esm/Filter.mjs +62 -0
  97. package/dist/lib/node-esm/Filter.mjs.map +7 -0
  98. package/dist/lib/node-esm/Format.mjs +67 -0
  99. package/dist/lib/node-esm/Format.mjs.map +7 -0
  100. package/dist/lib/node-esm/JsonSchema.mjs +20 -0
  101. package/dist/lib/node-esm/JsonSchema.mjs.map +7 -0
  102. package/dist/lib/node-esm/Key.mjs +13 -0
  103. package/dist/lib/node-esm/Key.mjs.map +7 -0
  104. package/dist/lib/node-esm/Obj.mjs +91 -0
  105. package/dist/lib/node-esm/Obj.mjs.map +7 -0
  106. package/dist/lib/node-esm/Order.mjs +13 -0
  107. package/dist/lib/node-esm/Order.mjs.map +7 -0
  108. package/dist/lib/node-esm/Query.mjs +27 -0
  109. package/dist/lib/node-esm/Query.mjs.map +7 -0
  110. package/dist/lib/node-esm/QueryResult.mjs +3 -0
  111. package/dist/lib/node-esm/QueryResult.mjs.map +7 -0
  112. package/dist/lib/node-esm/Ref.mjs +23 -0
  113. package/dist/lib/node-esm/Ref.mjs.map +7 -0
  114. package/dist/lib/node-esm/Relation.mjs +85 -0
  115. package/dist/lib/node-esm/Relation.mjs.map +7 -0
  116. package/dist/lib/node-esm/SchemaRegistry.mjs +3 -0
  117. package/dist/lib/node-esm/SchemaRegistry.mjs.map +7 -0
  118. package/dist/lib/node-esm/Tag.mjs +26 -0
  119. package/dist/lib/node-esm/Tag.mjs.map +7 -0
  120. package/dist/lib/node-esm/Type.mjs +48 -0
  121. package/dist/lib/node-esm/Type.mjs.map +7 -0
  122. package/dist/lib/node-esm/chunk-2RIFBW3A.mjs +250 -0
  123. package/dist/lib/node-esm/chunk-2RIFBW3A.mjs.map +7 -0
  124. package/dist/lib/node-esm/chunk-5CB2ZW74.mjs +57 -0
  125. package/dist/lib/node-esm/chunk-5CB2ZW74.mjs.map +7 -0
  126. package/dist/lib/node-esm/chunk-5U5F4AWK.mjs +3847 -0
  127. package/dist/lib/node-esm/chunk-5U5F4AWK.mjs.map +7 -0
  128. package/dist/lib/node-esm/chunk-AJEMYSIR.mjs +22 -0
  129. package/dist/lib/node-esm/chunk-AJEMYSIR.mjs.map +7 -0
  130. package/dist/lib/node-esm/chunk-BKYE5IW6.mjs +158 -0
  131. package/dist/lib/node-esm/chunk-BKYE5IW6.mjs.map +7 -0
  132. package/dist/lib/node-esm/chunk-BYOD7EVP.mjs +98 -0
  133. package/dist/lib/node-esm/chunk-BYOD7EVP.mjs.map +7 -0
  134. package/dist/lib/node-esm/chunk-FWTSPIFF.mjs +133 -0
  135. package/dist/lib/node-esm/chunk-FWTSPIFF.mjs.map +7 -0
  136. package/dist/lib/node-esm/chunk-HSLMI22Q.mjs +11 -0
  137. package/dist/lib/node-esm/chunk-HSLMI22Q.mjs.map +7 -0
  138. package/dist/lib/node-esm/chunk-K37NA7PO.mjs +43 -0
  139. package/dist/lib/node-esm/chunk-K37NA7PO.mjs.map +7 -0
  140. package/dist/lib/node-esm/chunk-LIXUCQJM.mjs +41 -0
  141. package/dist/lib/node-esm/chunk-LIXUCQJM.mjs.map +7 -0
  142. package/dist/lib/node-esm/chunk-MOLNWFNL.mjs +9 -0
  143. package/dist/lib/node-esm/chunk-MOLNWFNL.mjs.map +7 -0
  144. package/dist/lib/node-esm/chunk-MOWUEW5P.mjs +15 -0
  145. package/dist/lib/node-esm/chunk-MOWUEW5P.mjs.map +7 -0
  146. package/dist/lib/node-esm/chunk-NBWL7UCZ.mjs +40 -0
  147. package/dist/lib/node-esm/chunk-NBWL7UCZ.mjs.map +7 -0
  148. package/dist/lib/node-esm/chunk-OZEDKT4R.mjs +204 -0
  149. package/dist/lib/node-esm/chunk-OZEDKT4R.mjs.map +7 -0
  150. package/dist/lib/node-esm/chunk-PW3VCWL5.mjs +24 -0
  151. package/dist/lib/node-esm/chunk-PW3VCWL5.mjs.map +7 -0
  152. package/dist/lib/node-esm/chunk-TSTKBFST.mjs +403 -0
  153. package/dist/lib/node-esm/chunk-TSTKBFST.mjs.map +7 -0
  154. package/dist/lib/node-esm/chunk-UKGVOINP.mjs +9 -0
  155. package/dist/lib/node-esm/chunk-UKGVOINP.mjs.map +7 -0
  156. package/dist/lib/node-esm/chunk-UV63HEHQ.mjs +143 -0
  157. package/dist/lib/node-esm/chunk-UV63HEHQ.mjs.map +7 -0
  158. package/dist/lib/node-esm/chunk-WXLVPCRJ.mjs +288 -0
  159. package/dist/lib/node-esm/chunk-WXLVPCRJ.mjs.map +7 -0
  160. package/dist/lib/node-esm/chunk-WZ6YBELW.mjs +74 -0
  161. package/dist/lib/node-esm/chunk-WZ6YBELW.mjs.map +7 -0
  162. package/dist/lib/node-esm/chunk-XHJRMQZD.mjs +69 -0
  163. package/dist/lib/node-esm/chunk-XHJRMQZD.mjs.map +7 -0
  164. package/dist/lib/node-esm/chunk-YOLH5KS4.mjs +283 -0
  165. package/dist/lib/node-esm/chunk-YOLH5KS4.mjs.map +7 -0
  166. package/dist/lib/node-esm/chunk-YQ2NWGL5.mjs +39 -0
  167. package/dist/lib/node-esm/chunk-YQ2NWGL5.mjs.map +7 -0
  168. package/dist/lib/node-esm/index.mjs +72 -9
  169. package/dist/lib/node-esm/internal/index.mjs +457 -0
  170. package/dist/lib/node-esm/internal/index.mjs.map +7 -0
  171. package/dist/lib/node-esm/meta.json +1 -1
  172. package/dist/lib/node-esm/testing/index.mjs +332 -35
  173. package/dist/lib/node-esm/testing/index.mjs.map +4 -4
  174. package/dist/types/src/Annotation.d.ts +2 -0
  175. package/dist/types/src/Annotation.d.ts.map +1 -0
  176. package/dist/types/src/Database.d.ts +194 -0
  177. package/dist/types/src/Database.d.ts.map +1 -0
  178. package/dist/types/src/Entity.d.ts +142 -0
  179. package/dist/types/src/Entity.d.ts.map +1 -0
  180. package/dist/types/src/Entity.test.d.ts +2 -0
  181. package/dist/types/src/Entity.test.d.ts.map +1 -0
  182. package/dist/types/src/Err.d.ts +64 -0
  183. package/dist/types/src/Err.d.ts.map +1 -0
  184. package/dist/types/src/Filter.d.ts +120 -0
  185. package/dist/types/src/Filter.d.ts.map +1 -0
  186. package/dist/types/src/Format.d.ts +4 -0
  187. package/dist/types/src/Format.d.ts.map +1 -0
  188. package/dist/types/src/Hypergraph.d.ts +60 -0
  189. package/dist/types/src/Hypergraph.d.ts.map +1 -0
  190. package/dist/types/src/JsonSchema.d.ts +9 -0
  191. package/dist/types/src/JsonSchema.d.ts.map +1 -0
  192. package/dist/types/src/Key.d.ts +1 -0
  193. package/dist/types/src/Key.d.ts.map +1 -1
  194. package/dist/types/src/Obj.d.ts +344 -35
  195. package/dist/types/src/Obj.d.ts.map +1 -1
  196. package/dist/types/src/Obj.test.d.ts +2 -0
  197. package/dist/types/src/Obj.test.d.ts.map +1 -0
  198. package/dist/types/src/Order.d.ts +16 -0
  199. package/dist/types/src/Order.d.ts.map +1 -0
  200. package/dist/types/src/Query.d.ts +115 -0
  201. package/dist/types/src/Query.d.ts.map +1 -0
  202. package/dist/types/src/Query.test.d.ts +2 -0
  203. package/dist/types/src/Query.test.d.ts.map +1 -0
  204. package/dist/types/src/QueryResult.d.ts +80 -0
  205. package/dist/types/src/QueryResult.d.ts.map +1 -0
  206. package/dist/types/src/Ref.d.ts +13 -11
  207. package/dist/types/src/Ref.d.ts.map +1 -1
  208. package/dist/types/src/Relation.d.ts +242 -19
  209. package/dist/types/src/Relation.d.ts.map +1 -1
  210. package/dist/types/src/Relation.test.d.ts +2 -0
  211. package/dist/types/src/Relation.test.d.ts.map +1 -0
  212. package/dist/types/src/SchemaRegistry.d.ts +84 -0
  213. package/dist/types/src/SchemaRegistry.d.ts.map +1 -0
  214. package/dist/types/src/Tag.d.ts +17 -0
  215. package/dist/types/src/Tag.d.ts.map +1 -0
  216. package/dist/types/src/Type.d.ts +225 -73
  217. package/dist/types/src/Type.d.ts.map +1 -1
  218. package/dist/types/src/Type.test.d.ts +2 -0
  219. package/dist/types/src/Type.test.d.ts.map +1 -0
  220. package/dist/types/src/index.d.ts +15 -3
  221. package/dist/types/src/index.d.ts.map +1 -1
  222. package/dist/types/src/internal/annotations/annotations.d.ts +170 -0
  223. package/dist/types/src/internal/annotations/annotations.d.ts.map +1 -0
  224. package/dist/types/src/internal/annotations/annotations.test.d.ts +2 -0
  225. package/dist/types/src/internal/annotations/annotations.test.d.ts.map +1 -0
  226. package/dist/types/src/internal/annotations/index.d.ts +3 -0
  227. package/dist/types/src/internal/annotations/index.d.ts.map +1 -0
  228. package/dist/types/src/internal/annotations/util.d.ts +27 -0
  229. package/dist/types/src/internal/annotations/util.d.ts.map +1 -0
  230. package/dist/types/src/internal/api/annotations.d.ts +23 -0
  231. package/dist/types/src/internal/api/annotations.d.ts.map +1 -0
  232. package/dist/types/src/internal/api/entity.d.ts +13 -0
  233. package/dist/types/src/internal/api/entity.d.ts.map +1 -0
  234. package/dist/types/src/internal/api/index.d.ts +15 -0
  235. package/dist/types/src/internal/api/index.d.ts.map +1 -0
  236. package/dist/types/src/internal/api/meta.d.ts +42 -0
  237. package/dist/types/src/internal/api/meta.d.ts.map +1 -0
  238. package/dist/types/src/internal/api/sorting.d.ts +24 -0
  239. package/dist/types/src/internal/api/sorting.d.ts.map +1 -0
  240. package/dist/types/src/internal/api/version.d.ts +42 -0
  241. package/dist/types/src/internal/api/version.d.ts.map +1 -0
  242. package/dist/types/src/internal/entities/entity.d.ts +20 -0
  243. package/dist/types/src/internal/entities/entity.d.ts.map +1 -0
  244. package/dist/types/src/internal/entities/index.d.ts +6 -0
  245. package/dist/types/src/internal/entities/index.d.ts.map +1 -0
  246. package/dist/types/src/internal/entities/model.d.ts +77 -0
  247. package/dist/types/src/internal/entities/model.d.ts.map +1 -0
  248. package/dist/types/src/internal/entities/object.d.ts +18 -0
  249. package/dist/types/src/internal/entities/object.d.ts.map +1 -0
  250. package/dist/types/src/internal/entities/relation.d.ts +62 -0
  251. package/dist/types/src/internal/entities/relation.d.ts.map +1 -0
  252. package/dist/types/src/internal/entities/util.d.ts +2 -0
  253. package/dist/types/src/internal/entities/util.d.ts.map +1 -0
  254. package/dist/types/src/internal/formats/date.d.ts +63 -0
  255. package/dist/types/src/internal/formats/date.d.ts.map +1 -0
  256. package/dist/types/src/internal/formats/date.test.d.ts +2 -0
  257. package/dist/types/src/internal/formats/date.test.d.ts.map +1 -0
  258. package/dist/types/src/internal/formats/format.d.ts +32 -0
  259. package/dist/types/src/internal/formats/format.d.ts.map +1 -0
  260. package/dist/types/src/internal/formats/format.test.d.ts +2 -0
  261. package/dist/types/src/internal/formats/format.test.d.ts.map +1 -0
  262. package/dist/types/src/internal/formats/index.d.ts +8 -0
  263. package/dist/types/src/internal/formats/index.d.ts.map +1 -0
  264. package/dist/types/src/internal/formats/number.d.ts +31 -0
  265. package/dist/types/src/internal/formats/number.d.ts.map +1 -0
  266. package/dist/types/src/internal/formats/object.d.ts +35 -0
  267. package/dist/types/src/internal/formats/object.d.ts.map +1 -0
  268. package/dist/types/src/internal/formats/select.d.ts +13 -0
  269. package/dist/types/src/internal/formats/select.d.ts.map +1 -0
  270. package/dist/types/src/internal/formats/string.d.ts +42 -0
  271. package/dist/types/src/internal/formats/string.d.ts.map +1 -0
  272. package/dist/types/src/internal/formats/types.d.ts +72 -0
  273. package/dist/types/src/internal/formats/types.d.ts.map +1 -0
  274. package/dist/types/src/internal/index.d.ts +12 -0
  275. package/dist/types/src/internal/index.d.ts.map +1 -0
  276. package/dist/types/src/internal/json-schema/annotations.d.ts +19 -0
  277. package/dist/types/src/internal/json-schema/annotations.d.ts.map +1 -0
  278. package/dist/types/src/internal/json-schema/effect-schema.test.d.ts +2 -0
  279. package/dist/types/src/internal/json-schema/effect-schema.test.d.ts.map +1 -0
  280. package/dist/types/src/internal/json-schema/index.d.ts +5 -0
  281. package/dist/types/src/internal/json-schema/index.d.ts.map +1 -0
  282. package/dist/types/src/internal/json-schema/json-schema-normalize.d.ts +7 -0
  283. package/dist/types/src/internal/json-schema/json-schema-normalize.d.ts.map +1 -0
  284. package/dist/types/src/internal/json-schema/json-schema-type.d.ts +351 -0
  285. package/dist/types/src/internal/json-schema/json-schema-type.d.ts.map +1 -0
  286. package/dist/types/src/internal/json-schema/json-schema.d.ts +30 -0
  287. package/dist/types/src/internal/json-schema/json-schema.d.ts.map +1 -0
  288. package/dist/types/src/internal/json-schema/json-schema.test.d.ts +2 -0
  289. package/dist/types/src/internal/json-schema/json-schema.test.d.ts.map +1 -0
  290. package/dist/types/src/internal/object/clone.d.ts +8 -0
  291. package/dist/types/src/internal/object/clone.d.ts.map +1 -0
  292. package/dist/types/src/internal/object/common.d.ts +18 -0
  293. package/dist/types/src/internal/object/common.d.ts.map +1 -0
  294. package/dist/types/src/internal/object/create-object.d.ts +39 -0
  295. package/dist/types/src/internal/object/create-object.d.ts.map +1 -0
  296. package/dist/types/src/internal/object/create-object.test.d.ts +2 -0
  297. package/dist/types/src/internal/object/create-object.test.d.ts.map +1 -0
  298. package/dist/types/src/internal/object/deleted.d.ts +6 -0
  299. package/dist/types/src/internal/object/deleted.d.ts.map +1 -0
  300. package/dist/types/src/internal/object/ids.d.ts +6 -0
  301. package/dist/types/src/internal/object/ids.d.ts.map +1 -0
  302. package/dist/types/src/internal/object/index.d.ts +11 -0
  303. package/dist/types/src/internal/object/index.d.ts.map +1 -0
  304. package/dist/types/src/internal/object/inspect.d.ts +2 -0
  305. package/dist/types/src/internal/object/inspect.d.ts.map +1 -0
  306. package/dist/types/src/internal/object/json-serializer.d.ts +37 -0
  307. package/dist/types/src/internal/object/json-serializer.d.ts.map +1 -0
  308. package/dist/types/src/internal/object/json-serializer.test.d.ts +2 -0
  309. package/dist/types/src/internal/object/json-serializer.test.d.ts.map +1 -0
  310. package/dist/types/src/internal/object/schema-validator.d.ts +2 -0
  311. package/dist/types/src/internal/object/schema-validator.d.ts.map +1 -0
  312. package/dist/types/src/internal/object/schema-validator.test.d.ts +2 -0
  313. package/dist/types/src/internal/object/schema-validator.test.d.ts.map +1 -0
  314. package/dist/types/src/internal/object/set-value.d.ts +7 -0
  315. package/dist/types/src/internal/object/set-value.d.ts.map +1 -0
  316. package/dist/types/src/internal/object/set-value.test.d.ts +2 -0
  317. package/dist/types/src/internal/object/set-value.test.d.ts.map +1 -0
  318. package/dist/types/src/internal/object/snapshot.d.ts +6 -0
  319. package/dist/types/src/internal/object/snapshot.d.ts.map +1 -0
  320. package/dist/types/src/internal/object/typed-object.d.ts +25 -0
  321. package/dist/types/src/internal/object/typed-object.d.ts.map +1 -0
  322. package/dist/types/src/internal/object/typed-object.test.d.ts +2 -0
  323. package/dist/types/src/internal/object/typed-object.test.d.ts.map +1 -0
  324. package/dist/types/src/internal/proxy/change-context.d.ts +55 -0
  325. package/dist/types/src/internal/proxy/change-context.d.ts.map +1 -0
  326. package/dist/types/src/internal/proxy/change.test.d.ts +2 -0
  327. package/dist/types/src/internal/proxy/change.test.d.ts.map +1 -0
  328. package/dist/types/src/internal/proxy/define-hidden-property.d.ts +5 -0
  329. package/dist/types/src/internal/proxy/define-hidden-property.d.ts.map +1 -0
  330. package/dist/types/src/internal/proxy/errors.d.ts +19 -0
  331. package/dist/types/src/internal/proxy/errors.d.ts.map +1 -0
  332. package/dist/types/src/internal/proxy/event-batch.d.ts +10 -0
  333. package/dist/types/src/internal/proxy/event-batch.d.ts.map +1 -0
  334. package/dist/types/src/internal/proxy/handler.test.d.ts +2 -0
  335. package/dist/types/src/internal/proxy/handler.test.d.ts.map +1 -0
  336. package/dist/types/src/internal/proxy/index.d.ts +14 -0
  337. package/dist/types/src/internal/proxy/index.d.ts.map +1 -0
  338. package/dist/types/src/internal/proxy/json-serializer.d.ts +6 -0
  339. package/dist/types/src/internal/proxy/json-serializer.d.ts.map +1 -0
  340. package/dist/types/src/internal/proxy/make-object.d.ts +14 -0
  341. package/dist/types/src/internal/proxy/make-object.d.ts.map +1 -0
  342. package/dist/types/src/internal/proxy/ownership.d.ts +57 -0
  343. package/dist/types/src/internal/proxy/ownership.d.ts.map +1 -0
  344. package/dist/types/src/internal/proxy/proxy-types.d.ts +18 -0
  345. package/dist/types/src/internal/proxy/proxy-types.d.ts.map +1 -0
  346. package/dist/types/src/internal/proxy/proxy-utils.d.ts +47 -0
  347. package/dist/types/src/internal/proxy/proxy-utils.d.ts.map +1 -0
  348. package/dist/types/src/internal/proxy/reactive-array.d.ts +8 -0
  349. package/dist/types/src/internal/proxy/reactive-array.d.ts.map +1 -0
  350. package/dist/types/src/internal/proxy/reactive.d.ts +39 -0
  351. package/dist/types/src/internal/proxy/reactive.d.ts.map +1 -0
  352. package/dist/types/src/internal/proxy/schema-validator.d.ts +15 -0
  353. package/dist/types/src/internal/proxy/schema-validator.d.ts.map +1 -0
  354. package/dist/types/src/internal/proxy/schema.test.d.ts +2 -0
  355. package/dist/types/src/internal/proxy/schema.test.d.ts.map +1 -0
  356. package/dist/types/src/internal/proxy/symbols.d.ts +3 -0
  357. package/dist/types/src/internal/proxy/symbols.d.ts.map +1 -0
  358. package/dist/types/src/internal/proxy/typed-handler.d.ts +47 -0
  359. package/dist/types/src/internal/proxy/typed-handler.d.ts.map +1 -0
  360. package/dist/types/src/internal/proxy/typed-handler.test.d.ts +2 -0
  361. package/dist/types/src/internal/proxy/typed-handler.test.d.ts.map +1 -0
  362. package/dist/types/src/internal/proxy/typed-object.test.d.ts +2 -0
  363. package/dist/types/src/internal/proxy/typed-object.test.d.ts.map +1 -0
  364. package/dist/types/src/internal/ref/index.d.ts +3 -0
  365. package/dist/types/src/internal/ref/index.d.ts.map +1 -0
  366. package/dist/types/src/internal/ref/ref-array.d.ts +21 -0
  367. package/dist/types/src/internal/ref/ref-array.d.ts.map +1 -0
  368. package/dist/types/src/internal/ref/ref.d.ts +218 -0
  369. package/dist/types/src/internal/ref/ref.d.ts.map +1 -0
  370. package/dist/types/src/internal/ref/ref.test.d.ts +2 -0
  371. package/dist/types/src/internal/ref/ref.test.d.ts.map +1 -0
  372. package/dist/types/src/internal/schema/compose.d.ts +7 -0
  373. package/dist/types/src/internal/schema/compose.d.ts.map +1 -0
  374. package/dist/types/src/internal/schema/compose.test.d.ts +2 -0
  375. package/dist/types/src/internal/schema/compose.test.d.ts.map +1 -0
  376. package/dist/types/src/internal/schema/echo-schema.d.ts +180 -0
  377. package/dist/types/src/internal/schema/echo-schema.d.ts.map +1 -0
  378. package/dist/types/src/internal/schema/index.d.ts +4 -0
  379. package/dist/types/src/internal/schema/index.d.ts.map +1 -0
  380. package/dist/types/src/internal/schema/manipulation.d.ts +10 -0
  381. package/dist/types/src/internal/schema/manipulation.d.ts.map +1 -0
  382. package/dist/types/src/internal/schema/persistent-schema.d.ts +20 -0
  383. package/dist/types/src/internal/schema/persistent-schema.d.ts.map +1 -0
  384. package/dist/types/src/internal/types/base.d.ts +26 -0
  385. package/dist/types/src/internal/types/base.d.ts.map +1 -0
  386. package/dist/types/src/internal/types/entity.d.ts +37 -0
  387. package/dist/types/src/internal/types/entity.d.ts.map +1 -0
  388. package/dist/types/src/internal/types/index.d.ts +6 -0
  389. package/dist/types/src/internal/types/index.d.ts.map +1 -0
  390. package/dist/types/src/internal/types/meta.d.ts +32 -0
  391. package/dist/types/src/internal/types/meta.d.ts.map +1 -0
  392. package/dist/types/src/internal/types/typename.d.ts +13 -0
  393. package/dist/types/src/internal/types/typename.d.ts.map +1 -0
  394. package/dist/types/src/internal/types/version.d.ts +15 -0
  395. package/dist/types/src/internal/types/version.d.ts.map +1 -0
  396. package/dist/types/src/{test → testing}/api.test.d.ts.map +1 -1
  397. package/dist/types/src/testing/index.d.ts +3 -1
  398. package/dist/types/src/testing/index.d.ts.map +1 -1
  399. package/dist/types/src/testing/test-data.d.ts +18 -0
  400. package/dist/types/src/testing/test-data.d.ts.map +1 -0
  401. package/dist/types/src/testing/test-schema.d.ts +303 -0
  402. package/dist/types/src/testing/test-schema.d.ts.map +1 -0
  403. package/dist/types/src/testing/util.d.ts +21 -0
  404. package/dist/types/src/testing/util.d.ts.map +1 -0
  405. package/dist/types/tsconfig.tsbuildinfo +1 -1
  406. package/package.json +169 -42
  407. package/src/Annotation.ts +18 -0
  408. package/src/Database.ts +336 -0
  409. package/src/Entity.test.ts +22 -0
  410. package/src/Entity.ts +217 -0
  411. package/src/Err.ts +18 -0
  412. package/src/Filter.ts +376 -0
  413. package/src/Format.ts +9 -0
  414. package/src/Hypergraph.ts +74 -0
  415. package/src/JsonSchema.ts +16 -0
  416. package/src/Key.ts +3 -0
  417. package/src/Obj.test.ts +386 -0
  418. package/src/Obj.ts +508 -84
  419. package/src/Order.ts +44 -0
  420. package/src/Query.test.ts +465 -0
  421. package/src/Query.ts +296 -0
  422. package/src/QueryResult.ts +106 -0
  423. package/src/Ref.ts +25 -9
  424. package/src/Relation.test.ts +82 -0
  425. package/src/Relation.ts +414 -51
  426. package/src/SchemaRegistry.ts +105 -0
  427. package/src/Tag.ts +40 -0
  428. package/src/Type.test.ts +52 -0
  429. package/src/Type.ts +360 -112
  430. package/src/index.ts +17 -4
  431. package/src/internal/README.md +102 -0
  432. package/src/internal/annotations/annotations.test.ts +96 -0
  433. package/src/internal/annotations/annotations.ts +460 -0
  434. package/src/internal/annotations/index.ts +6 -0
  435. package/src/internal/annotations/util.ts +72 -0
  436. package/src/internal/api/annotations.ts +60 -0
  437. package/src/internal/api/entity.ts +29 -0
  438. package/src/internal/api/index.ts +19 -0
  439. package/src/internal/api/meta.ts +88 -0
  440. package/src/internal/api/sorting.ts +53 -0
  441. package/src/internal/api/version.ts +96 -0
  442. package/src/internal/entities/entity.ts +126 -0
  443. package/src/internal/entities/index.ts +9 -0
  444. package/src/internal/entities/model.ts +134 -0
  445. package/src/internal/entities/object.ts +58 -0
  446. package/src/internal/entities/relation.ts +171 -0
  447. package/src/internal/entities/util.ts +33 -0
  448. package/src/internal/formats/date.test.ts +56 -0
  449. package/src/internal/formats/date.ts +217 -0
  450. package/src/internal/formats/format.test.ts +77 -0
  451. package/src/internal/formats/format.ts +54 -0
  452. package/src/internal/formats/index.ts +12 -0
  453. package/src/internal/formats/number.ts +89 -0
  454. package/src/internal/formats/object.ts +80 -0
  455. package/src/internal/formats/select.ts +18 -0
  456. package/src/internal/formats/string.ts +81 -0
  457. package/src/internal/formats/types.ts +186 -0
  458. package/src/internal/index.ts +39 -0
  459. package/src/internal/json-schema/annotations.ts +50 -0
  460. package/src/internal/json-schema/effect-schema.test.ts +143 -0
  461. package/src/internal/json-schema/index.ts +8 -0
  462. package/src/internal/json-schema/json-schema-normalize.ts +111 -0
  463. package/src/internal/json-schema/json-schema-type.ts +403 -0
  464. package/src/internal/json-schema/json-schema.test.ts +861 -0
  465. package/src/internal/json-schema/json-schema.ts +532 -0
  466. package/src/internal/object/clone.ts +48 -0
  467. package/src/internal/object/common.ts +75 -0
  468. package/src/internal/object/create-object.test.ts +116 -0
  469. package/src/internal/object/create-object.ts +95 -0
  470. package/src/internal/object/deleted.ts +19 -0
  471. package/src/internal/object/ids.ts +12 -0
  472. package/src/internal/object/index.ts +14 -0
  473. package/src/internal/object/inspect.ts +46 -0
  474. package/src/internal/object/json-serializer.test.ts +98 -0
  475. package/src/internal/object/json-serializer.ts +188 -0
  476. package/src/internal/object/schema-validator.test.ts +182 -0
  477. package/src/internal/object/schema-validator.ts +6 -0
  478. package/src/internal/object/set-value.test.ts +281 -0
  479. package/src/internal/object/set-value.ts +165 -0
  480. package/src/internal/object/snapshot.ts +70 -0
  481. package/src/internal/object/typed-object.test.ts +34 -0
  482. package/src/internal/object/typed-object.ts +30 -0
  483. package/src/internal/proxy/change-context.ts +138 -0
  484. package/src/internal/proxy/change.test.ts +519 -0
  485. package/src/internal/proxy/define-hidden-property.ts +14 -0
  486. package/src/internal/proxy/errors.ts +42 -0
  487. package/src/internal/proxy/event-batch.ts +44 -0
  488. package/src/internal/proxy/handler.test.ts +123 -0
  489. package/src/internal/proxy/index.ts +17 -0
  490. package/src/internal/proxy/json-serializer.ts +87 -0
  491. package/src/internal/proxy/make-object.ts +96 -0
  492. package/src/internal/proxy/ownership.ts +253 -0
  493. package/src/internal/proxy/proxy-types.ts +23 -0
  494. package/src/internal/proxy/proxy-utils.ts +150 -0
  495. package/src/internal/proxy/reactive-array.ts +71 -0
  496. package/src/internal/proxy/reactive.ts +69 -0
  497. package/src/internal/proxy/schema-validator.ts +244 -0
  498. package/src/internal/proxy/schema.test.ts +145 -0
  499. package/src/internal/proxy/symbols.ts +7 -0
  500. package/src/internal/proxy/typed-handler.test.ts +314 -0
  501. package/src/internal/proxy/typed-handler.ts +442 -0
  502. package/src/internal/proxy/typed-object.test.ts +116 -0
  503. package/src/internal/ref/index.ts +6 -0
  504. package/src/internal/ref/ref-array.ts +39 -0
  505. package/src/internal/ref/ref.test.ts +101 -0
  506. package/src/internal/ref/ref.ts +549 -0
  507. package/src/internal/schema/compose.test.ts +42 -0
  508. package/src/internal/schema/compose.ts +41 -0
  509. package/src/internal/schema/echo-schema.ts +423 -0
  510. package/src/internal/schema/index.ts +7 -0
  511. package/src/internal/schema/manipulation.ts +92 -0
  512. package/src/internal/schema/persistent-schema.ts +27 -0
  513. package/src/internal/types/base.ts +43 -0
  514. package/src/internal/types/entity.ts +54 -0
  515. package/src/internal/types/index.ts +9 -0
  516. package/src/internal/types/meta.ts +65 -0
  517. package/src/internal/types/typename.ts +45 -0
  518. package/src/internal/types/version.ts +20 -0
  519. package/src/testing/api.test.ts +126 -0
  520. package/src/testing/index.ts +3 -1
  521. package/src/testing/test-data.ts +130 -0
  522. package/src/testing/test-schema.ts +238 -0
  523. package/src/testing/util.ts +85 -0
  524. package/dist/lib/browser/chunk-EUA7CM23.mjs +0 -619
  525. package/dist/lib/browser/chunk-EUA7CM23.mjs.map +0 -7
  526. package/dist/lib/node-esm/chunk-IV6BWGHK.mjs +0 -619
  527. package/dist/lib/node-esm/chunk-IV6BWGHK.mjs.map +0 -7
  528. package/dist/types/src/experimental/database.d.ts +0 -8
  529. package/dist/types/src/experimental/database.d.ts.map +0 -1
  530. package/dist/types/src/experimental/index.d.ts +0 -1
  531. package/dist/types/src/experimental/index.d.ts.map +0 -1
  532. package/dist/types/src/experimental/queue.d.ts +0 -8
  533. package/dist/types/src/experimental/queue.d.ts.map +0 -1
  534. package/dist/types/src/experimental/space.d.ts +0 -8
  535. package/dist/types/src/experimental/space.d.ts.map +0 -1
  536. package/dist/types/src/query/dsl.d.ts +0 -218
  537. package/dist/types/src/query/dsl.d.ts.map +0 -1
  538. package/dist/types/src/query/dsl.test.d.ts +0 -2
  539. package/dist/types/src/query/dsl.test.d.ts.map +0 -1
  540. package/dist/types/src/query/index.d.ts +0 -2
  541. package/dist/types/src/query/index.d.ts.map +0 -1
  542. package/dist/types/src/testing/types.d.ts +0 -113
  543. package/dist/types/src/testing/types.d.ts.map +0 -1
  544. package/src/experimental/database.ts +0 -11
  545. package/src/experimental/index.ts +0 -7
  546. package/src/experimental/queue.ts +0 -11
  547. package/src/experimental/space.ts +0 -11
  548. package/src/query/dsl.test.ts +0 -323
  549. package/src/query/dsl.ts +0 -646
  550. package/src/query/index.ts +0 -5
  551. package/src/test/api.test.ts +0 -173
  552. package/src/testing/types.ts +0 -91
  553. /package/dist/types/src/{test → testing}/api.test.d.ts +0 -0
@@ -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,2 @@
1
+ export {};
2
+ //# sourceMappingURL=schema.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema.test.d.ts","sourceRoot":"","sources":["../../../../../src/internal/proxy/schema.test.ts"],"names":[],"mappings":""}
@@ -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"}
@@ -0,0 +1,47 @@
1
+ import * as Schema from 'effect/Schema';
2
+ import { Event } from '@dxos/async';
3
+ import { SchemaId, TypeId } from '../types';
4
+ import { type ReactiveHandler } from './proxy-types';
5
+ import { EventId } from './symbols';
6
+ export { getEchoRoot, setMetaOwner } from './ownership';
7
+ type ProxyTarget = {
8
+ /**
9
+ * Typename or type DXN.
10
+ */
11
+ [TypeId]: string;
12
+ /**
13
+ * Schema for the root.
14
+ */
15
+ [SchemaId]: Schema.Schema.AnyNoContext;
16
+ /**
17
+ * For modifications.
18
+ */
19
+ [EventId]: Event<void>;
20
+ } & ({
21
+ [key: keyof any]: any;
22
+ } | any[]);
23
+ /**
24
+ * Typed in-memory reactive store (with Schema).
25
+ * Reactivity is based on Event subscriptions, not signals.
26
+ */
27
+ export declare class TypedReactiveHandler implements ReactiveHandler<ProxyTarget> {
28
+ static readonly instance: ReactiveHandler<any>;
29
+ readonly _proxyMap: WeakMap<object, any>;
30
+ private _inSet;
31
+ private constructor();
32
+ init(target: ProxyTarget): void;
33
+ get(target: ProxyTarget, prop: string | symbol, receiver: any): any;
34
+ set(target: ProxyTarget, prop: string | symbol, value: any, receiver: any): boolean;
35
+ ownKeys(target: ProxyTarget): ArrayLike<string | symbol>;
36
+ deleteProperty(target: ProxyTarget, property: string | symbol): boolean;
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;
43
+ private _validateValue;
44
+ private _inspect;
45
+ }
46
+ export declare const prepareTypedTarget: <T>(target: T, schema: Schema.Schema<T>) => void;
47
+ //# sourceMappingURL=typed-handler.d.ts.map
@@ -0,0 +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;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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=typed-handler.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"typed-handler.test.d.ts","sourceRoot":"","sources":["../../../../../src/internal/proxy/typed-handler.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=typed-object.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"typed-object.test.d.ts","sourceRoot":"","sources":["../../../../../src/internal/proxy/typed-object.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,3 @@
1
+ export * from './ref';
2
+ export * from './ref-array';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/internal/ref/index.ts"],"names":[],"mappings":"AAIA,cAAc,OAAO,CAAC;AACtB,cAAc,aAAa,CAAC"}
@@ -0,0 +1,21 @@
1
+ import { type ObjectId } from '@dxos/keys';
2
+ import { type AnyEntity } from '../types';
3
+ import { Ref } from './ref';
4
+ /**
5
+ * Helper functions for working with arrays of refs.
6
+ */
7
+ export declare const RefArray: Readonly<{
8
+ /**
9
+ * @returns all resolved targets.
10
+ */
11
+ targets: <T extends AnyEntity>(refs: readonly Ref<T>[]) => T[];
12
+ /**
13
+ * Load all referenced objects.
14
+ */
15
+ loadAll: <T extends AnyEntity>(refs: readonly Ref<T>[]) => Promise<T[]>;
16
+ /**
17
+ * Removes the ref with the given id.
18
+ */
19
+ removeById: (refs: Ref<AnyEntity>[], id: ObjectId) => void;
20
+ }>;
21
+ //# sourceMappingURL=ref-array.d.ts.map
@@ -0,0 +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,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"}
@@ -0,0 +1,218 @@
1
+ import * as Schema from 'effect/Schema';
2
+ import * as SchemaAST from 'effect/SchemaAST';
3
+ import type * as Types from 'effect/Types';
4
+ import { type CustomInspectFunction, inspectCustom } from '@dxos/debug';
5
+ import { EncodedReference } from '@dxos/echo-protocol';
6
+ import { DXN, ObjectId } from '@dxos/keys';
7
+ import { type JsonSchemaType } from '../json-schema';
8
+ import type { AnyEntity, AnyProperties } from '../types';
9
+ /**
10
+ * The `$id` and `$ref` fields for an ECHO reference schema.
11
+ */
12
+ export declare const JSON_SCHEMA_ECHO_REF_ID = "/schemas/echo/ref";
13
+ export declare const getSchemaReference: (property: JsonSchemaType) => {
14
+ typename: string;
15
+ } | undefined;
16
+ export declare const createSchemaReference: (typename: string) => Types.DeepMutable<JsonSchemaType>;
17
+ /**
18
+ * Runtime type-info for a reference extracted from effect AST.
19
+ */
20
+ export type RefereneAST = {
21
+ /**
22
+ * Typename of linked schema.
23
+ */
24
+ typename: string;
25
+ /**
26
+ * Version of linked schema.
27
+ */
28
+ version: string;
29
+ };
30
+ export declare const getReferenceAst: (ast: SchemaAST.AST) => RefereneAST | undefined;
31
+ export declare const RefTypeId: unique symbol;
32
+ /**
33
+ * Reference Schema.
34
+ */
35
+ export interface RefSchema<T extends AnyEntity> extends Schema.SchemaClass<Ref<T>, EncodedReference> {
36
+ }
37
+ /**
38
+ * Type of the `Ref` function and extra methods attached to it.
39
+ */
40
+ export interface RefFn {
41
+ <S extends Schema.Schema.Any>(schema: S): RefSchema<Schema.Schema.Type<S>>;
42
+ /**
43
+ * @returns True if the object is a reference.
44
+ */
45
+ isRef: (obj: unknown) => obj is Ref<any>;
46
+ /**
47
+ * @returns True if the reference points to the given object id.
48
+ */
49
+ hasObjectId: (id: ObjectId) => (ref: Ref<any>) => boolean;
50
+ /**
51
+ * @returns True if the schema is a reference schema.
52
+ */
53
+ isRefSchema: (schema: Schema.Schema<any, any>) => schema is RefSchema<any>;
54
+ /**
55
+ * @returns True if the schema AST is a reference schema.
56
+ */
57
+ isRefSchemaAST: (ast: SchemaAST.AST) => boolean;
58
+ /**
59
+ * Constructs a reference that points to the given object.
60
+ */
61
+ make: <T extends AnyEntity>(object: T) => Ref<T>;
62
+ /**
63
+ * Constructs a reference that points to the object specified by the provided DXN.
64
+ */
65
+ fromDXN: (dxn: DXN) => Ref<any>;
66
+ }
67
+ /**
68
+ * Schema builder for references.
69
+ */
70
+ export declare const Ref: RefFn;
71
+ /**
72
+ * Represents materialized reference to a target.
73
+ * This is the data type for the fields marked as ref.
74
+ */
75
+ export interface Ref<T> {
76
+ /**
77
+ * Target object DXN.
78
+ */
79
+ get dxn(): DXN;
80
+ /**
81
+ * Returns true if the reference has a target available (inlined or resolver set).
82
+ */
83
+ get isAvailable(): boolean;
84
+ /**
85
+ * @returns The reference target.
86
+ * May return `undefined` if the object is not loaded in the working set.
87
+ * Accessing this property, even if it returns `undefined` will trigger the object to be loaded to the working set.
88
+ */
89
+ get target(): T | undefined;
90
+ /**
91
+ * @returns Promise that will resolves with the target object.
92
+ * Will load the object from disk if it is not present in the working set.
93
+ * @throws If the object is not available locally.
94
+ */
95
+ load(): Promise<T>;
96
+ /**
97
+ * @returns Promise that will resolves with the target object or undefined if the object is not loaded locally.
98
+ */
99
+ tryLoad(): Promise<T | undefined>;
100
+ /**
101
+ * Do not inline the target object in the reference.
102
+ * Makes .target unavailable unless the reference is connected to a database context.
103
+ *
104
+ * When serialized with toJSON, the difference is between:
105
+ * `{ "/": "dxn:..." }`
106
+ * and
107
+ * `{ "/": "dxn:...", "target": { ... } }`
108
+ *
109
+ * Clones the reference object.
110
+ */
111
+ noInline(): Ref<T>;
112
+ /**
113
+ * Serializes the reference to a JSON object.
114
+ * The serialization format is compatible with the IPLD-style encoded references.
115
+ * When a reference has a saved target (i.e. the target or object holding the reference is not in the database),
116
+ * the target is included in the serialized object.
117
+ *
118
+ * Examples:
119
+ * `{ "/": "dxn:..." }`
120
+ * `{ "/": "dxn:...", "target": { ... } }`
121
+ */
122
+ encode(): EncodedReference;
123
+ [RefTypeId]: {
124
+ _T: T;
125
+ };
126
+ }
127
+ export declare namespace Ref {
128
+ /**
129
+ * Target of the reference.
130
+ */
131
+ type Target<R> = R extends Ref<infer U> ? U : never;
132
+ }
133
+ /**
134
+ * `reference` field on the schema object.
135
+ */
136
+ export type JsonSchemaReferenceInfo = {
137
+ schema: {
138
+ $ref: string;
139
+ };
140
+ schemaVersion?: string;
141
+ };
142
+ export interface RefResolver {
143
+ /**
144
+ * Resolve ref synchronously from the objects in the working set.
145
+ *
146
+ * @param dxn
147
+ * @param load If true the resolver should attempt to load the object from disk.
148
+ * @param onLoad Callback to call when the object is loaded.
149
+ */
150
+ resolveSync(dxn: DXN, load: boolean, onLoad?: () => void): AnyProperties | undefined;
151
+ /**
152
+ * Resolver ref asynchronously.
153
+ */
154
+ resolve(dxn: DXN): Promise<AnyProperties | undefined>;
155
+ resolveSchema(dxn: DXN): Promise<Schema.Schema.AnyNoContext | undefined>;
156
+ }
157
+ export declare class RefImpl<T> implements Ref<T> {
158
+ #private;
159
+ constructor(dxn: DXN, target?: T);
160
+ /**
161
+ * @inheritdoc
162
+ */
163
+ get dxn(): DXN;
164
+ /**
165
+ * @inheritdoc
166
+ */
167
+ get isAvailable(): boolean;
168
+ /**
169
+ * @inheritdoc
170
+ */
171
+ get target(): T | undefined;
172
+ /**
173
+ * @inheritdoc
174
+ */
175
+ load(): Promise<T>;
176
+ /**
177
+ * @inheritdoc
178
+ */
179
+ tryLoad(): Promise<T | undefined>;
180
+ /**
181
+ * Do not inline the target object in the reference.
182
+ * Makes .target unavailable unless the reference is connected to a database context.
183
+ * Clones the reference object.
184
+ */
185
+ noInline(): RefImpl<T>;
186
+ encode(): EncodedReference;
187
+ /**
188
+ * Serializes the reference to a JSON object.
189
+ * The serialization format is compatible with the IPLD-style encoded references.
190
+ * When a reference has a saved target (i.e. the target or object holding the reference is not in the database),
191
+ * the target is included in the serialized object.
192
+ */
193
+ toJSON(): EncodedReference;
194
+ toString(): string;
195
+ [inspectCustom]: CustomInspectFunction;
196
+ [RefTypeId]: {
197
+ _T: any;
198
+ };
199
+ }
200
+ /**
201
+ * Internal API for setting the reference resolver.
202
+ */
203
+ export declare const setRefResolver: (ref: Ref<any>, resolver: RefResolver) => void;
204
+ /**
205
+ * Internal API for getting the saved target on a reference.
206
+ */
207
+ export declare const getRefSavedTarget: (ref: Ref<any>) => AnyProperties | undefined;
208
+ export declare const refFromEncodedReference: (encodedReference: EncodedReference, resolver?: RefResolver) => Ref<any>;
209
+ export declare class StaticRefResolver implements RefResolver {
210
+ objects: Map<string, AnyProperties>;
211
+ schemas: Map<DXN.String, Schema.Schema.AnyNoContext>;
212
+ addObject(obj: AnyProperties): this;
213
+ addSchema(schema: Schema.Schema.AnyNoContext): this;
214
+ resolveSync(dxn: DXN, _load: boolean, _onLoad?: () => void): AnyProperties | undefined;
215
+ resolve(dxn: DXN): Promise<AnyProperties | undefined>;
216
+ resolveSchema(dxn: DXN): Promise<Schema.Schema.AnyNoContext | undefined>;
217
+ }
218
+ //# sourceMappingURL=ref.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ref.d.ts","sourceRoot":"","sources":["../../../../../src/internal/ref/ref.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=ref.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ref.test.d.ts","sourceRoot":"","sources":["../../../../../src/internal/ref/ref.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,7 @@
1
+ import type * as Types from 'effect/Types';
2
+ import { type JsonSchemaType } from '../json-schema';
3
+ /**
4
+ * Creates a composite schema from the source and projection schemas.
5
+ */
6
+ export declare const composeSchema: (source: Types.Mutable<JsonSchemaType>, target: Types.Mutable<JsonSchemaType>) => Types.Mutable<JsonSchemaType>;
7
+ //# sourceMappingURL=compose.d.ts.map
@@ -0,0 +1 @@
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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=compose.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"compose.test.d.ts","sourceRoot":"","sources":["../../../../../src/internal/schema/compose.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,180 @@
1
+ import * as Schema from 'effect/Schema';
2
+ import * as SchemaAST from 'effect/SchemaAST';
3
+ import { type ObjectId } from '@dxos/keys';
4
+ import { type SchemaMeta, SchemaMetaSymbol } from '../annotations';
5
+ import { type JsonSchemaType } from '../json-schema';
6
+ import { type TypedObject, type TypedObjectPrototype } from '../object';
7
+ import { EntityKind, SchemaKindId } from '../types';
8
+ import { PersistentSchema } from './persistent-schema';
9
+ /**
10
+ * Base schema type.
11
+ */
12
+ export interface BaseSchema<A = any, I = any> extends TypedObject<A, I> {
13
+ get readonly(): boolean;
14
+ get mutable(): EchoSchema<A, I>;
15
+ get snapshot(): Schema.Schema<A, I>;
16
+ get jsonSchema(): JsonSchemaType;
17
+ }
18
+ /**
19
+ * Immutable schema type.
20
+ * @deprecated Use `Schema.Schema.AnyNoContext` instead.
21
+ */
22
+ export declare class ImmutableSchema<A = any, I = any> implements BaseSchema<A, I> {
23
+ private readonly _schema;
24
+ private readonly _objectAnnotation;
25
+ constructor(_schema: Schema.Schema<A, I>);
26
+ get [Schema.TypeId](): {
27
+ _A: (_: any) => any;
28
+ _I: (_: any) => any;
29
+ _R: (_: never) => never;
30
+ };
31
+ get Type(): A;
32
+ get Encoded(): I;
33
+ get Context(): never;
34
+ get ast(): SchemaAST.AST;
35
+ get annotations(): (annotations: Schema.Annotations.GenericSchema<A>) => Schema.Schema<A, I, never>;
36
+ get pipe(): {
37
+ <A_1>(this: A_1): A_1;
38
+ <A_1, B = never>(this: A_1, ab: (_: A_1) => B): B;
39
+ <A_1, B = never, C = never>(this: A_1, ab: (_: A_1) => B, bc: (_: B) => C): C;
40
+ <A_1, B = never, C = never, D = never>(this: A_1, ab: (_: A_1) => B, bc: (_: B) => C, cd: (_: C) => D): D;
41
+ <A_1, B = never, C = never, D = never, E = never>(this: A_1, ab: (_: A_1) => B, bc: (_: B) => C, cd: (_: C) => D, de: (_: D) => E): E;
42
+ <A_1, B = never, C = never, D = never, E = never, F = never>(this: A_1, ab: (_: A_1) => B, bc: (_: B) => C, cd: (_: C) => D, de: (_: D) => E, ef: (_: E) => F): F;
43
+ <A_1, B = never, C = never, D = never, E = never, F = never, G = never>(this: A_1, ab: (_: A_1) => B, bc: (_: B) => C, cd: (_: C) => D, de: (_: D) => E, ef: (_: E) => F, fg: (_: F) => G): G;
44
+ <A_1, B = never, C = never, D = never, E = never, F = never, G = never, H = 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): H;
45
+ <A_1, B = never, C = never, D = never, E = never, F = never, G = never, H = never, I_1 = 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): I_1;
46
+ <A_1, B = never, C = never, D = never, E = never, F = never, G = never, H = never, I_1 = never, J = 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): J;
47
+ <A_1, B = never, C = never, D = never, E = never, F = never, G = never, H = never, I_1 = never, J = never, K = 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): K;
48
+ <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>(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): L;
49
+ <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>(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): M;
50
+ <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>(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): N;
51
+ <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>(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): O;
52
+ <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>(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): P;
53
+ <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>(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): Q;
54
+ <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>(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): R;
55
+ <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>(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): S;
56
+ <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>(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): T;
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;
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;
59
+ };
60
+ get kind(): EntityKind;
61
+ get typename(): string;
62
+ get version(): string;
63
+ get readonly(): boolean;
64
+ get snapshot(): Schema.Schema.AnyNoContext;
65
+ get jsonSchema(): JsonSchemaType;
66
+ get mutable(): EchoSchema;
67
+ }
68
+ export declare const isMutable: (schema: Schema.Schema.AnyNoContext) => schema is EchoSchema;
69
+ declare const EchoSchema_base: TypedObjectPrototype<any, any>;
70
+ /**
71
+ * Represents a schema that is persisted in the ECHO database.
72
+ * Schema can me mutable or readonly (specified by the {@link EchoSchema.readonly} field).
73
+ *
74
+ * Schema that can be modified at runtime via the API.
75
+ * Is an instance of effect-schema (`Schema.Schema.AnyNoContext`) so it can be used in the same way as a regular schema.
76
+ * IMPORTANT: The schema AST will change reactively when the schema is updated, including synced updates from remote peers.
77
+ *
78
+ * The class constructor is a schema instance itself, and can be used in the echo object definitions:
79
+ *
80
+ * @example
81
+ * ```ts
82
+ * export class TableType extends Schema.Struct({...}).pipe(Type.object({ typename: 'example.org/type/Table', version: '0.1.0' })){
83
+ * title: Schema.String,
84
+ * schema: Schema.optional(ref(EchoSchema)),
85
+ * props: Schema.mutable(S.Array(TablePropSchema)),
86
+ * }) {}
87
+ * ```
88
+ *
89
+ * The ECHO API will translate any references to PersistentSchema objects to be resolved as EchoSchema objects.
90
+ */
91
+ export declare class EchoSchema<A = any, I = any> extends EchoSchema_base implements BaseSchema<A, I> {
92
+ private readonly _persistentSchema;
93
+ private _schema;
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;
100
+ constructor(_persistentSchema: PersistentSchema);
101
+ get [Schema.TypeId](): {
102
+ _A: (_: any) => any;
103
+ _I: (_: any) => any;
104
+ _R: (_: never) => never;
105
+ };
106
+ get Type(): A;
107
+ get Encoded(): I;
108
+ get Context(): never;
109
+ get ast(): SchemaAST.AST;
110
+ get annotations(): (annotations: Schema.Annotations.GenericSchema<any>) => Schema.Schema<any, any, never>;
111
+ get pipe(): Schema.Schema.AnyNoContext['pipe'];
112
+ get kind(): EntityKind.Object;
113
+ get typename(): string;
114
+ get version(): string;
115
+ get readonly(): boolean;
116
+ /**
117
+ * Returns an immutable schema snapshot of the current state of the schema.
118
+ */
119
+ get snapshot(): Schema.Schema.AnyNoContext;
120
+ /**
121
+ * Returns the JSON schema for the schema.
122
+ */
123
+ get jsonSchema(): JsonSchemaType;
124
+ /**
125
+ * Returns a mutable schema.
126
+ */
127
+ get mutable(): EchoSchema;
128
+ /**
129
+ * Id of the ECHO object containing the schema.
130
+ */
131
+ get id(): ObjectId;
132
+ /**
133
+ * Short name of the schema.
134
+ */
135
+ get name(): string | undefined;
136
+ get [SchemaMetaSymbol](): SchemaMeta;
137
+ /**
138
+ * Reference to the underlying persistent schema object.
139
+ */
140
+ get persistentSchema(): PersistentSchema;
141
+ getProperties(): SchemaAST.PropertySignature[];
142
+ /**
143
+ * @throws Error if the schema is readonly.
144
+ */
145
+ updateTypename(typename: string): void;
146
+ /**
147
+ * @throws Error if the schema is readonly.
148
+ */
149
+ addFields(fields: Schema.Struct.Fields): void;
150
+ /**
151
+ * @throws Error if the schema is readonly.
152
+ */
153
+ updateFields(fields: Schema.Struct.Fields): void;
154
+ /**
155
+ * @throws Error if the schema is readonly.
156
+ */
157
+ updateFieldPropertyName({ before, after }: {
158
+ before: PropertyKey;
159
+ after: PropertyKey;
160
+ }): void;
161
+ /**
162
+ * @throws Error if the schema is readonly.
163
+ */
164
+ removeFields(fieldNames: string[]): void;
165
+ /**
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.
171
+ */
172
+ _invalidate(): void;
173
+ /**
174
+ * Rebuilds this schema if it is dirty.
175
+ */
176
+ _rebuild(): void;
177
+ _getSchema(): Schema.Schema.AnyNoContext;
178
+ }
179
+ export {};
180
+ //# sourceMappingURL=echo-schema.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"echo-schema.d.ts","sourceRoot":"","sources":["../../../../../src/internal/schema/echo-schema.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ export * from './echo-schema';
2
+ export * from './manipulation';
3
+ export * from './persistent-schema';
4
+ //# sourceMappingURL=index.d.ts.map