@dxos/echo 0.8.4-main.dedc0f3 → 0.8.4-main.e00bdcdb52

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 (536) hide show
  1. package/README.md +3 -4
  2. package/dist/lib/neutral/Annotation.mjs +37 -0
  3. package/dist/lib/neutral/Database.mjs +49 -0
  4. package/dist/lib/neutral/Entity.mjs +61 -0
  5. package/dist/lib/neutral/Entity.mjs.map +7 -0
  6. package/dist/lib/neutral/Err.mjs +12 -0
  7. package/dist/lib/neutral/Err.mjs.map +7 -0
  8. package/dist/lib/neutral/Extension.mjs +18 -0
  9. package/dist/lib/neutral/Extension.mjs.map +7 -0
  10. package/dist/lib/neutral/Feed.mjs +50 -0
  11. package/dist/lib/neutral/Feed.mjs.map +7 -0
  12. package/dist/lib/neutral/Filter.mjs +72 -0
  13. package/dist/lib/neutral/Filter.mjs.map +7 -0
  14. package/dist/lib/neutral/Format.mjs +66 -0
  15. package/dist/lib/neutral/Format.mjs.map +7 -0
  16. package/dist/lib/neutral/JsonSchema.mjs +19 -0
  17. package/dist/lib/neutral/JsonSchema.mjs.map +7 -0
  18. package/dist/lib/neutral/Key.mjs +12 -0
  19. package/dist/lib/neutral/Key.mjs.map +7 -0
  20. package/dist/lib/neutral/Migration.mjs +17 -0
  21. package/dist/lib/neutral/Migration.mjs.map +7 -0
  22. package/dist/lib/neutral/Obj.mjs +113 -0
  23. package/dist/lib/neutral/Obj.mjs.map +7 -0
  24. package/dist/lib/neutral/Order.mjs +12 -0
  25. package/dist/lib/neutral/Order.mjs.map +7 -0
  26. package/dist/lib/neutral/Query.mjs +38 -0
  27. package/dist/lib/neutral/Query.mjs.map +7 -0
  28. package/dist/lib/neutral/QueryResult.mjs +2 -0
  29. package/dist/lib/neutral/QueryResult.mjs.map +7 -0
  30. package/dist/lib/neutral/Ref.mjs +24 -0
  31. package/dist/lib/neutral/Ref.mjs.map +7 -0
  32. package/dist/lib/neutral/Relation.mjs +94 -0
  33. package/dist/lib/neutral/Relation.mjs.map +7 -0
  34. package/dist/lib/neutral/SchemaRegistry.mjs +2 -0
  35. package/dist/lib/neutral/SchemaRegistry.mjs.map +7 -0
  36. package/dist/lib/neutral/Tag.mjs +29 -0
  37. package/dist/lib/neutral/Tag.mjs.map +7 -0
  38. package/dist/lib/neutral/Type.mjs +37 -0
  39. package/dist/lib/neutral/Type.mjs.map +7 -0
  40. package/dist/lib/neutral/chunk-2T22UGGN.mjs +206 -0
  41. package/dist/lib/neutral/chunk-2T22UGGN.mjs.map +7 -0
  42. package/dist/lib/neutral/chunk-44HT3MEC.mjs +73 -0
  43. package/dist/lib/neutral/chunk-44HT3MEC.mjs.map +7 -0
  44. package/dist/lib/neutral/chunk-6VC3FI5E.mjs +125 -0
  45. package/dist/lib/neutral/chunk-6VC3FI5E.mjs.map +7 -0
  46. package/dist/lib/neutral/chunk-7JFW72MX.mjs +132 -0
  47. package/dist/lib/neutral/chunk-7JFW72MX.mjs.map +7 -0
  48. package/dist/lib/neutral/chunk-7RVZT53K.mjs +21 -0
  49. package/dist/lib/neutral/chunk-7RVZT53K.mjs.map +7 -0
  50. package/dist/lib/neutral/chunk-BICZKPQG.mjs +7 -0
  51. package/dist/lib/neutral/chunk-BICZKPQG.mjs.map +7 -0
  52. package/dist/lib/neutral/chunk-CIWZ5MHQ.mjs +36 -0
  53. package/dist/lib/neutral/chunk-CIWZ5MHQ.mjs.map +7 -0
  54. package/dist/lib/neutral/chunk-DUNXPKAC.mjs +56 -0
  55. package/dist/lib/neutral/chunk-DUNXPKAC.mjs.map +7 -0
  56. package/dist/lib/neutral/chunk-FAW7PJRO.mjs +34 -0
  57. package/dist/lib/neutral/chunk-FAW7PJRO.mjs.map +7 -0
  58. package/dist/lib/neutral/chunk-FAYW32CW.mjs +27 -0
  59. package/dist/lib/neutral/chunk-FAYW32CW.mjs.map +7 -0
  60. package/dist/lib/neutral/chunk-GWFFC34K.mjs +50 -0
  61. package/dist/lib/neutral/chunk-GWFFC34K.mjs.map +7 -0
  62. package/dist/lib/neutral/chunk-I2MFJ76N.mjs +354 -0
  63. package/dist/lib/neutral/chunk-I2MFJ76N.mjs.map +7 -0
  64. package/dist/lib/neutral/chunk-J5LGTIGS.mjs +10 -0
  65. package/dist/lib/neutral/chunk-J5LGTIGS.mjs.map +7 -0
  66. package/dist/lib/neutral/chunk-JALF2CVV.mjs +345 -0
  67. package/dist/lib/neutral/chunk-JALF2CVV.mjs.map +7 -0
  68. package/dist/lib/neutral/chunk-KQUQZ3CB.mjs +128 -0
  69. package/dist/lib/neutral/chunk-KQUQZ3CB.mjs.map +7 -0
  70. package/dist/lib/neutral/chunk-LOTZLYHB.mjs +420 -0
  71. package/dist/lib/neutral/chunk-LOTZLYHB.mjs.map +7 -0
  72. package/dist/lib/neutral/chunk-N4B7FHQT.mjs +67 -0
  73. package/dist/lib/neutral/chunk-N4B7FHQT.mjs.map +7 -0
  74. package/dist/lib/neutral/chunk-NKXEKBP5.mjs +81 -0
  75. package/dist/lib/neutral/chunk-NKXEKBP5.mjs.map +7 -0
  76. package/dist/lib/neutral/chunk-NSMLBSFS.mjs +270 -0
  77. package/dist/lib/neutral/chunk-NSMLBSFS.mjs.map +7 -0
  78. package/dist/lib/neutral/chunk-QBIGOSRF.mjs +45 -0
  79. package/dist/lib/neutral/chunk-QBIGOSRF.mjs.map +7 -0
  80. package/dist/lib/neutral/chunk-QBLYZ4IV.mjs +734 -0
  81. package/dist/lib/neutral/chunk-QBLYZ4IV.mjs.map +7 -0
  82. package/dist/lib/neutral/chunk-QEVM3JUP.mjs +318 -0
  83. package/dist/lib/neutral/chunk-QEVM3JUP.mjs.map +7 -0
  84. package/dist/lib/neutral/chunk-REP7WWAQ.mjs +346 -0
  85. package/dist/lib/neutral/chunk-REP7WWAQ.mjs.map +7 -0
  86. package/dist/lib/neutral/chunk-TRPZU2HV.mjs +402 -0
  87. package/dist/lib/neutral/chunk-TRPZU2HV.mjs.map +7 -0
  88. package/dist/lib/neutral/chunk-TTCSATUD.mjs +42 -0
  89. package/dist/lib/neutral/chunk-TTCSATUD.mjs.map +7 -0
  90. package/dist/lib/neutral/chunk-TW76K7H5.mjs +45 -0
  91. package/dist/lib/neutral/chunk-TW76K7H5.mjs.map +7 -0
  92. package/dist/lib/neutral/chunk-UYJYDSD7.mjs +2436 -0
  93. package/dist/lib/neutral/chunk-UYJYDSD7.mjs.map +7 -0
  94. package/dist/lib/neutral/chunk-V72DY6LU.mjs +7 -0
  95. package/dist/lib/neutral/chunk-V72DY6LU.mjs.map +7 -0
  96. package/dist/lib/neutral/chunk-ZISMEVKD.mjs +51 -0
  97. package/dist/lib/neutral/chunk-ZISMEVKD.mjs.map +7 -0
  98. package/dist/lib/neutral/index.mjs +107 -0
  99. package/dist/lib/neutral/index.mjs.map +7 -0
  100. package/dist/lib/neutral/internal/index.mjs +474 -0
  101. package/dist/lib/neutral/internal/index.mjs.map +7 -0
  102. package/dist/lib/neutral/meta.json +1 -0
  103. package/dist/lib/neutral/testing/index.mjs +375 -0
  104. package/dist/lib/neutral/testing/index.mjs.map +7 -0
  105. package/dist/types/src/Annotation.d.ts +24 -0
  106. package/dist/types/src/Annotation.d.ts.map +1 -0
  107. package/dist/types/src/Collection.d.ts +16 -0
  108. package/dist/types/src/Collection.d.ts.map +1 -0
  109. package/dist/types/src/Database.d.ts +201 -0
  110. package/dist/types/src/Database.d.ts.map +1 -0
  111. package/dist/types/src/Dataset.d.ts +19 -0
  112. package/dist/types/src/Dataset.d.ts.map +1 -0
  113. package/dist/types/src/Entity.d.ts +174 -0
  114. package/dist/types/src/Entity.d.ts.map +1 -0
  115. package/dist/types/src/Entity.test.d.ts +2 -0
  116. package/dist/types/src/Entity.test.d.ts.map +1 -0
  117. package/dist/types/src/Err.d.ts +107 -0
  118. package/dist/types/src/Err.d.ts.map +1 -0
  119. package/dist/types/src/Extension.d.ts +80 -0
  120. package/dist/types/src/Extension.d.ts.map +1 -0
  121. package/dist/types/src/Extension.test.d.ts +2 -0
  122. package/dist/types/src/Extension.test.d.ts.map +1 -0
  123. package/dist/types/src/Feed.d.ts +182 -0
  124. package/dist/types/src/Feed.d.ts.map +1 -0
  125. package/dist/types/src/Filter.d.ts +149 -0
  126. package/dist/types/src/Filter.d.ts.map +1 -0
  127. package/dist/types/src/Filter.test.d.ts +2 -0
  128. package/dist/types/src/Filter.test.d.ts.map +1 -0
  129. package/dist/types/src/Format.d.ts +4 -0
  130. package/dist/types/src/Format.d.ts.map +1 -0
  131. package/dist/types/src/Hypergraph.d.ts +65 -0
  132. package/dist/types/src/Hypergraph.d.ts.map +1 -0
  133. package/dist/types/src/Json.d.ts +33 -0
  134. package/dist/types/src/Json.d.ts.map +1 -0
  135. package/dist/types/src/Json.test.d.ts +2 -0
  136. package/dist/types/src/Json.test.d.ts.map +1 -0
  137. package/dist/types/src/JsonSchema.d.ts +16 -0
  138. package/dist/types/src/JsonSchema.d.ts.map +1 -0
  139. package/dist/types/src/Key.d.ts +1 -0
  140. package/dist/types/src/Key.d.ts.map +1 -1
  141. package/dist/types/src/Migration.d.ts +57 -0
  142. package/dist/types/src/Migration.d.ts.map +1 -0
  143. package/dist/types/src/Obj.d.ts +440 -91
  144. package/dist/types/src/Obj.d.ts.map +1 -1
  145. package/dist/types/src/Obj.test.d.ts +2 -0
  146. package/dist/types/src/Obj.test.d.ts.map +1 -0
  147. package/dist/types/src/Order.d.ts +16 -0
  148. package/dist/types/src/Order.d.ts.map +1 -0
  149. package/dist/types/src/Query.d.ts +213 -0
  150. package/dist/types/src/Query.d.ts.map +1 -0
  151. package/dist/types/src/Query.test.d.ts +2 -0
  152. package/dist/types/src/Query.test.d.ts.map +1 -0
  153. package/dist/types/src/QueryResult.d.ts +80 -0
  154. package/dist/types/src/QueryResult.d.ts.map +1 -0
  155. package/dist/types/src/Ref.d.ts +61 -11
  156. package/dist/types/src/Ref.d.ts.map +1 -1
  157. package/dist/types/src/Relation.d.ts +288 -21
  158. package/dist/types/src/Relation.d.ts.map +1 -1
  159. package/dist/types/src/Relation.test.d.ts +2 -0
  160. package/dist/types/src/Relation.test.d.ts.map +1 -0
  161. package/dist/types/src/SchemaRegistry.d.ts +84 -0
  162. package/dist/types/src/SchemaRegistry.d.ts.map +1 -0
  163. package/dist/types/src/Tag.d.ts +18 -0
  164. package/dist/types/src/Tag.d.ts.map +1 -0
  165. package/dist/types/src/Type.d.ts +123 -100
  166. package/dist/types/src/Type.d.ts.map +1 -1
  167. package/dist/types/src/Type.test.d.ts +2 -0
  168. package/dist/types/src/Type.test.d.ts.map +1 -0
  169. package/dist/types/src/View.d.ts +68 -0
  170. package/dist/types/src/View.d.ts.map +1 -0
  171. package/dist/types/src/hierarchy.test.d.ts +2 -0
  172. package/dist/types/src/hierarchy.test.d.ts.map +1 -0
  173. package/dist/types/src/index.d.ts +22 -4
  174. package/dist/types/src/index.d.ts.map +1 -1
  175. package/dist/types/src/internal/Annotation/annotations.d.ts +231 -0
  176. package/dist/types/src/internal/Annotation/annotations.d.ts.map +1 -0
  177. package/dist/types/src/internal/Annotation/annotations.test.d.ts +2 -0
  178. package/dist/types/src/internal/Annotation/annotations.test.d.ts.map +1 -0
  179. package/dist/types/src/internal/Annotation/index.d.ts +4 -0
  180. package/dist/types/src/internal/Annotation/index.d.ts.map +1 -0
  181. package/dist/types/src/internal/Annotation/sorting.d.ts +24 -0
  182. package/dist/types/src/internal/Annotation/sorting.d.ts.map +1 -0
  183. package/dist/types/src/internal/Annotation/util.d.ts +39 -0
  184. package/dist/types/src/internal/Annotation/util.d.ts.map +1 -0
  185. package/dist/types/src/internal/Entity/api.d.ts +13 -0
  186. package/dist/types/src/internal/Entity/api.d.ts.map +1 -0
  187. package/dist/types/src/internal/Entity/entity.d.ts +20 -0
  188. package/dist/types/src/internal/Entity/entity.d.ts.map +1 -0
  189. package/dist/types/src/internal/Entity/index.d.ts +8 -0
  190. package/dist/types/src/internal/Entity/index.d.ts.map +1 -0
  191. package/dist/types/src/internal/Entity/model.d.ts +55 -0
  192. package/dist/types/src/internal/Entity/model.d.ts.map +1 -0
  193. package/dist/types/src/internal/Entity/object.d.ts +18 -0
  194. package/dist/types/src/internal/Entity/object.d.ts.map +1 -0
  195. package/dist/types/src/internal/Entity/relation.d.ts +35 -0
  196. package/dist/types/src/internal/Entity/relation.d.ts.map +1 -0
  197. package/dist/types/src/internal/Entity/util.d.ts +2 -0
  198. package/dist/types/src/internal/Entity/util.d.ts.map +1 -0
  199. package/dist/types/src/internal/Entity/version.d.ts +42 -0
  200. package/dist/types/src/internal/Entity/version.d.ts.map +1 -0
  201. package/dist/types/src/internal/Format/date.d.ts +63 -0
  202. package/dist/types/src/internal/Format/date.d.ts.map +1 -0
  203. package/dist/types/src/internal/Format/date.test.d.ts +2 -0
  204. package/dist/types/src/internal/Format/date.test.d.ts.map +1 -0
  205. package/dist/types/src/internal/Format/format.d.ts +32 -0
  206. package/dist/types/src/internal/Format/format.d.ts.map +1 -0
  207. package/dist/types/src/internal/Format/format.test.d.ts +2 -0
  208. package/dist/types/src/internal/Format/format.test.d.ts.map +1 -0
  209. package/dist/types/src/internal/Format/index.d.ts +8 -0
  210. package/dist/types/src/internal/Format/index.d.ts.map +1 -0
  211. package/dist/types/src/internal/Format/number.d.ts +31 -0
  212. package/dist/types/src/internal/Format/number.d.ts.map +1 -0
  213. package/dist/types/src/internal/Format/object.d.ts +35 -0
  214. package/dist/types/src/internal/Format/object.d.ts.map +1 -0
  215. package/dist/types/src/internal/Format/select.d.ts +13 -0
  216. package/dist/types/src/internal/Format/select.d.ts.map +1 -0
  217. package/dist/types/src/internal/Format/string.d.ts +42 -0
  218. package/dist/types/src/internal/Format/string.d.ts.map +1 -0
  219. package/dist/types/src/internal/Format/types.d.ts +72 -0
  220. package/dist/types/src/internal/Format/types.d.ts.map +1 -0
  221. package/dist/types/src/internal/JsonSchema/annotations.d.ts +19 -0
  222. package/dist/types/src/internal/JsonSchema/annotations.d.ts.map +1 -0
  223. package/dist/types/src/internal/JsonSchema/effect-schema.test.d.ts +2 -0
  224. package/dist/types/src/internal/JsonSchema/effect-schema.test.d.ts.map +1 -0
  225. package/dist/types/src/internal/JsonSchema/index.d.ts +5 -0
  226. package/dist/types/src/internal/JsonSchema/index.d.ts.map +1 -0
  227. package/dist/types/src/internal/JsonSchema/json-schema-normalize.d.ts +7 -0
  228. package/dist/types/src/internal/JsonSchema/json-schema-normalize.d.ts.map +1 -0
  229. package/dist/types/src/internal/JsonSchema/json-schema-type.d.ts +351 -0
  230. package/dist/types/src/internal/JsonSchema/json-schema-type.d.ts.map +1 -0
  231. package/dist/types/src/internal/JsonSchema/json-schema.d.ts +30 -0
  232. package/dist/types/src/internal/JsonSchema/json-schema.d.ts.map +1 -0
  233. package/dist/types/src/internal/JsonSchema/json-schema.test.d.ts +2 -0
  234. package/dist/types/src/internal/JsonSchema/json-schema.test.d.ts.map +1 -0
  235. package/dist/types/src/internal/Obj/clone.d.ts +8 -0
  236. package/dist/types/src/internal/Obj/clone.d.ts.map +1 -0
  237. package/dist/types/src/internal/Obj/common.d.ts +18 -0
  238. package/dist/types/src/internal/Obj/common.d.ts.map +1 -0
  239. package/dist/types/src/internal/Obj/create-object.d.ts +39 -0
  240. package/dist/types/src/internal/Obj/create-object.d.ts.map +1 -0
  241. package/dist/types/src/internal/Obj/create-object.test.d.ts +2 -0
  242. package/dist/types/src/internal/Obj/create-object.test.d.ts.map +1 -0
  243. package/dist/types/src/internal/Obj/deleted.d.ts +6 -0
  244. package/dist/types/src/internal/Obj/deleted.d.ts.map +1 -0
  245. package/dist/types/src/internal/Obj/ids.d.ts +6 -0
  246. package/dist/types/src/internal/Obj/ids.d.ts.map +1 -0
  247. package/dist/types/src/internal/Obj/index.d.ts +11 -0
  248. package/dist/types/src/internal/Obj/index.d.ts.map +1 -0
  249. package/dist/types/src/internal/Obj/inspect.d.ts +2 -0
  250. package/dist/types/src/internal/Obj/inspect.d.ts.map +1 -0
  251. package/dist/types/src/internal/Obj/json-serializer.d.ts +45 -0
  252. package/dist/types/src/internal/Obj/json-serializer.d.ts.map +1 -0
  253. package/dist/types/src/internal/Obj/json-serializer.test.d.ts +2 -0
  254. package/dist/types/src/internal/Obj/json-serializer.test.d.ts.map +1 -0
  255. package/dist/types/src/internal/Obj/schema-validator.d.ts +2 -0
  256. package/dist/types/src/internal/Obj/schema-validator.d.ts.map +1 -0
  257. package/dist/types/src/internal/Obj/schema-validator.test.d.ts +2 -0
  258. package/dist/types/src/internal/Obj/schema-validator.test.d.ts.map +1 -0
  259. package/dist/types/src/internal/Obj/set-value.d.ts +7 -0
  260. package/dist/types/src/internal/Obj/set-value.d.ts.map +1 -0
  261. package/dist/types/src/internal/Obj/set-value.test.d.ts +2 -0
  262. package/dist/types/src/internal/Obj/set-value.test.d.ts.map +1 -0
  263. package/dist/types/src/internal/Obj/snapshot.d.ts +6 -0
  264. package/dist/types/src/internal/Obj/snapshot.d.ts.map +1 -0
  265. package/dist/types/src/internal/Obj/typed-object.d.ts +25 -0
  266. package/dist/types/src/internal/Obj/typed-object.d.ts.map +1 -0
  267. package/dist/types/src/internal/Obj/typed-object.test.d.ts +2 -0
  268. package/dist/types/src/internal/Obj/typed-object.test.d.ts.map +1 -0
  269. package/dist/types/src/internal/Query.d.ts +10 -0
  270. package/dist/types/src/internal/Query.d.ts.map +1 -0
  271. package/dist/types/src/internal/Ref/index.d.ts +3 -0
  272. package/dist/types/src/internal/Ref/index.d.ts.map +1 -0
  273. package/dist/types/src/internal/Ref/ref-array.d.ts +21 -0
  274. package/dist/types/src/internal/Ref/ref-array.d.ts.map +1 -0
  275. package/dist/types/src/internal/Ref/ref.d.ts +244 -0
  276. package/dist/types/src/internal/Ref/ref.d.ts.map +1 -0
  277. package/dist/types/src/internal/Ref/ref.test.d.ts +2 -0
  278. package/dist/types/src/internal/Ref/ref.test.d.ts.map +1 -0
  279. package/dist/types/src/internal/Type/compose.d.ts +7 -0
  280. package/dist/types/src/internal/Type/compose.d.ts.map +1 -0
  281. package/dist/types/src/internal/Type/compose.test.d.ts +2 -0
  282. package/dist/types/src/internal/Type/compose.test.d.ts.map +1 -0
  283. package/dist/types/src/internal/Type/echo-schema.d.ts +181 -0
  284. package/dist/types/src/internal/Type/echo-schema.d.ts.map +1 -0
  285. package/dist/types/src/internal/Type/index.d.ts +4 -0
  286. package/dist/types/src/internal/Type/index.d.ts.map +1 -0
  287. package/dist/types/src/internal/Type/manipulation.d.ts +10 -0
  288. package/dist/types/src/internal/Type/manipulation.d.ts.map +1 -0
  289. package/dist/types/src/internal/Type/persistent-schema.d.ts +20 -0
  290. package/dist/types/src/internal/Type/persistent-schema.d.ts.map +1 -0
  291. package/dist/types/src/internal/common/api/index.d.ts +11 -0
  292. package/dist/types/src/internal/common/api/index.d.ts.map +1 -0
  293. package/dist/types/src/internal/common/api/meta.d.ts +42 -0
  294. package/dist/types/src/internal/common/api/meta.d.ts.map +1 -0
  295. package/dist/types/src/internal/common/index.d.ts +4 -0
  296. package/dist/types/src/internal/common/index.d.ts.map +1 -0
  297. package/dist/types/src/internal/common/proxy/change-context.d.ts +55 -0
  298. package/dist/types/src/internal/common/proxy/change-context.d.ts.map +1 -0
  299. package/dist/types/src/internal/common/proxy/change.test.d.ts +2 -0
  300. package/dist/types/src/internal/common/proxy/change.test.d.ts.map +1 -0
  301. package/dist/types/src/internal/common/proxy/define-hidden-property.d.ts +5 -0
  302. package/dist/types/src/internal/common/proxy/define-hidden-property.d.ts.map +1 -0
  303. package/dist/types/src/internal/common/proxy/errors.d.ts +19 -0
  304. package/dist/types/src/internal/common/proxy/errors.d.ts.map +1 -0
  305. package/dist/types/src/internal/common/proxy/event-batch.d.ts +10 -0
  306. package/dist/types/src/internal/common/proxy/event-batch.d.ts.map +1 -0
  307. package/dist/types/src/internal/common/proxy/handler.test.d.ts +2 -0
  308. package/dist/types/src/internal/common/proxy/handler.test.d.ts.map +1 -0
  309. package/dist/types/src/internal/common/proxy/index.d.ts +14 -0
  310. package/dist/types/src/internal/common/proxy/index.d.ts.map +1 -0
  311. package/dist/types/src/internal/common/proxy/json-serializer.d.ts +6 -0
  312. package/dist/types/src/internal/common/proxy/json-serializer.d.ts.map +1 -0
  313. package/dist/types/src/internal/common/proxy/make-object.d.ts +14 -0
  314. package/dist/types/src/internal/common/proxy/make-object.d.ts.map +1 -0
  315. package/dist/types/src/internal/common/proxy/ownership.d.ts +57 -0
  316. package/dist/types/src/internal/common/proxy/ownership.d.ts.map +1 -0
  317. package/dist/types/src/internal/common/proxy/proxy-types.d.ts +18 -0
  318. package/dist/types/src/internal/common/proxy/proxy-types.d.ts.map +1 -0
  319. package/dist/types/src/internal/common/proxy/proxy-utils.d.ts +47 -0
  320. package/dist/types/src/internal/common/proxy/proxy-utils.d.ts.map +1 -0
  321. package/dist/types/src/internal/common/proxy/reactive-array.d.ts +8 -0
  322. package/dist/types/src/internal/common/proxy/reactive-array.d.ts.map +1 -0
  323. package/dist/types/src/internal/common/proxy/reactive.d.ts +39 -0
  324. package/dist/types/src/internal/common/proxy/reactive.d.ts.map +1 -0
  325. package/dist/types/src/internal/common/proxy/reactive.test.d.ts +2 -0
  326. package/dist/types/src/internal/common/proxy/reactive.test.d.ts.map +1 -0
  327. package/dist/types/src/internal/common/proxy/schema-validator.d.ts +15 -0
  328. package/dist/types/src/internal/common/proxy/schema-validator.d.ts.map +1 -0
  329. package/dist/types/src/internal/common/proxy/schema.test.d.ts +2 -0
  330. package/dist/types/src/internal/common/proxy/schema.test.d.ts.map +1 -0
  331. package/dist/types/src/internal/common/proxy/symbols.d.ts +3 -0
  332. package/dist/types/src/internal/common/proxy/symbols.d.ts.map +1 -0
  333. package/dist/types/src/internal/common/proxy/typed-handler.d.ts +48 -0
  334. package/dist/types/src/internal/common/proxy/typed-handler.d.ts.map +1 -0
  335. package/dist/types/src/internal/common/proxy/typed-handler.test.d.ts +2 -0
  336. package/dist/types/src/internal/common/proxy/typed-handler.test.d.ts.map +1 -0
  337. package/dist/types/src/internal/common/proxy/typed-object.test.d.ts +2 -0
  338. package/dist/types/src/internal/common/proxy/typed-object.test.d.ts.map +1 -0
  339. package/dist/types/src/internal/common/types/base.d.ts +27 -0
  340. package/dist/types/src/internal/common/types/base.d.ts.map +1 -0
  341. package/dist/types/src/internal/common/types/entity.d.ts +37 -0
  342. package/dist/types/src/internal/common/types/entity.d.ts.map +1 -0
  343. package/dist/types/src/internal/common/types/index.d.ts +7 -0
  344. package/dist/types/src/internal/common/types/index.d.ts.map +1 -0
  345. package/dist/types/src/internal/common/types/meta.d.ts +33 -0
  346. package/dist/types/src/internal/common/types/meta.d.ts.map +1 -0
  347. package/dist/types/src/internal/common/types/model-symbols.d.ts +54 -0
  348. package/dist/types/src/internal/common/types/model-symbols.d.ts.map +1 -0
  349. package/dist/types/src/internal/common/types/typename.d.ts +21 -0
  350. package/dist/types/src/internal/common/types/typename.d.ts.map +1 -0
  351. package/dist/types/src/internal/common/types/version.d.ts +15 -0
  352. package/dist/types/src/internal/common/types/version.d.ts.map +1 -0
  353. package/dist/types/src/internal/index.d.ts +11 -0
  354. package/dist/types/src/internal/index.d.ts.map +1 -0
  355. package/dist/types/src/{test → testing}/api.test.d.ts.map +1 -1
  356. package/dist/types/src/testing/index.d.ts +3 -1
  357. package/dist/types/src/testing/index.d.ts.map +1 -1
  358. package/dist/types/src/testing/test-data.d.ts +18 -0
  359. package/dist/types/src/testing/test-data.d.ts.map +1 -0
  360. package/dist/types/src/testing/test-schema.d.ts +304 -0
  361. package/dist/types/src/testing/test-schema.d.ts.map +1 -0
  362. package/dist/types/src/testing/util.d.ts +21 -0
  363. package/dist/types/src/testing/util.d.ts.map +1 -0
  364. package/dist/types/tsconfig.tsbuildinfo +1 -1
  365. package/package.json +119 -56
  366. package/src/Annotation.ts +48 -0
  367. package/src/Collection.ts +37 -0
  368. package/src/Database.ts +352 -0
  369. package/src/Dataset.ts +26 -0
  370. package/src/Entity.test.ts +22 -0
  371. package/src/Entity.ts +243 -0
  372. package/src/Err.ts +40 -0
  373. package/src/Extension.test.ts +235 -0
  374. package/src/Extension.ts +122 -0
  375. package/src/Feed.ts +304 -0
  376. package/src/Filter.test.ts +90 -0
  377. package/src/Filter.ts +454 -0
  378. package/src/Format.ts +9 -0
  379. package/src/Hypergraph.ts +79 -0
  380. package/src/Json.test.ts +175 -0
  381. package/src/Json.ts +102 -0
  382. package/src/JsonSchema.ts +26 -0
  383. package/src/Key.ts +3 -0
  384. package/src/Migration.ts +94 -0
  385. package/src/Obj.test.ts +539 -0
  386. package/src/Obj.ts +716 -212
  387. package/src/Order.ts +46 -0
  388. package/src/Query.test.ts +822 -0
  389. package/src/Query.ts +567 -0
  390. package/src/QueryResult.ts +106 -0
  391. package/src/Ref.ts +78 -9
  392. package/src/Relation.test.ts +88 -0
  393. package/src/Relation.ts +452 -53
  394. package/src/SchemaRegistry.ts +106 -0
  395. package/src/Tag.ts +41 -0
  396. package/src/Type.test.ts +52 -0
  397. package/src/Type.ts +168 -155
  398. package/src/View.ts +107 -0
  399. package/src/hierarchy.test.ts +33 -0
  400. package/src/index.ts +25 -5
  401. package/src/internal/Annotation/annotations.test.ts +145 -0
  402. package/src/internal/Annotation/annotations.ts +577 -0
  403. package/src/internal/Annotation/index.ts +7 -0
  404. package/src/internal/Annotation/sorting.ts +51 -0
  405. package/src/internal/Annotation/util.ts +85 -0
  406. package/src/internal/Entity/api.ts +30 -0
  407. package/src/internal/Entity/entity.ts +128 -0
  408. package/src/internal/Entity/index.ts +11 -0
  409. package/src/internal/Entity/model.ts +109 -0
  410. package/src/internal/Entity/object.ts +57 -0
  411. package/src/internal/Entity/relation.ts +154 -0
  412. package/src/internal/Entity/util.ts +33 -0
  413. package/src/internal/Entity/version.ts +96 -0
  414. package/src/internal/Format/date.test.ts +55 -0
  415. package/src/internal/Format/date.ts +217 -0
  416. package/src/internal/Format/format.test.ts +76 -0
  417. package/src/internal/Format/format.ts +54 -0
  418. package/src/internal/Format/index.ts +12 -0
  419. package/src/internal/Format/number.ts +89 -0
  420. package/src/internal/Format/object.ts +80 -0
  421. package/src/internal/Format/select.ts +18 -0
  422. package/src/internal/Format/string.ts +81 -0
  423. package/src/internal/Format/types.ts +186 -0
  424. package/src/internal/JsonSchema/annotations.ts +50 -0
  425. package/src/internal/JsonSchema/effect-schema.test.ts +143 -0
  426. package/src/internal/JsonSchema/index.ts +8 -0
  427. package/src/internal/JsonSchema/json-schema-normalize.ts +111 -0
  428. package/src/internal/JsonSchema/json-schema-type.ts +403 -0
  429. package/src/internal/JsonSchema/json-schema.test.ts +860 -0
  430. package/src/internal/JsonSchema/json-schema.ts +533 -0
  431. package/src/internal/Obj/clone.ts +48 -0
  432. package/src/internal/Obj/common.ts +75 -0
  433. package/src/internal/Obj/create-object.test.ts +114 -0
  434. package/src/internal/Obj/create-object.ts +94 -0
  435. package/src/internal/Obj/deleted.ts +19 -0
  436. package/src/internal/Obj/ids.ts +12 -0
  437. package/src/internal/Obj/index.ts +14 -0
  438. package/src/internal/Obj/inspect.ts +46 -0
  439. package/src/internal/Obj/json-serializer.test.ts +120 -0
  440. package/src/internal/Obj/json-serializer.ts +222 -0
  441. package/src/internal/Obj/schema-validator.test.ts +182 -0
  442. package/src/internal/Obj/schema-validator.ts +6 -0
  443. package/src/internal/Obj/set-value.test.ts +281 -0
  444. package/src/internal/Obj/set-value.ts +165 -0
  445. package/src/internal/Obj/snapshot.ts +105 -0
  446. package/src/internal/Obj/typed-object.test.ts +34 -0
  447. package/src/internal/Obj/typed-object.ts +30 -0
  448. package/src/internal/Query.ts +137 -0
  449. package/src/internal/Ref/index.ts +6 -0
  450. package/src/internal/Ref/ref-array.ts +38 -0
  451. package/src/internal/Ref/ref.test.ts +100 -0
  452. package/src/internal/Ref/ref.ts +589 -0
  453. package/src/internal/Type/compose.test.ts +41 -0
  454. package/src/internal/Type/compose.ts +41 -0
  455. package/src/internal/Type/echo-schema.ts +423 -0
  456. package/src/internal/Type/index.ts +7 -0
  457. package/src/internal/Type/manipulation.ts +92 -0
  458. package/src/internal/Type/persistent-schema.ts +33 -0
  459. package/src/internal/common/README.md +102 -0
  460. package/src/internal/common/api/index.ts +15 -0
  461. package/src/internal/common/api/meta.ts +88 -0
  462. package/src/internal/common/index.ts +7 -0
  463. package/src/internal/common/proxy/change-context.ts +138 -0
  464. package/src/internal/common/proxy/change.test.ts +519 -0
  465. package/src/internal/common/proxy/define-hidden-property.ts +14 -0
  466. package/src/internal/common/proxy/errors.ts +42 -0
  467. package/src/internal/common/proxy/event-batch.ts +44 -0
  468. package/src/internal/common/proxy/handler.test.ts +121 -0
  469. package/src/internal/common/proxy/index.ts +17 -0
  470. package/src/internal/common/proxy/json-serializer.ts +90 -0
  471. package/src/internal/common/proxy/make-object.ts +105 -0
  472. package/src/internal/common/proxy/ownership.ts +252 -0
  473. package/src/internal/common/proxy/proxy-types.ts +23 -0
  474. package/src/internal/common/proxy/proxy-utils.ts +150 -0
  475. package/src/internal/common/proxy/reactive-array.ts +71 -0
  476. package/src/internal/common/proxy/reactive.test.ts +54 -0
  477. package/src/internal/common/proxy/reactive.ts +77 -0
  478. package/src/internal/common/proxy/schema-validator.ts +244 -0
  479. package/src/internal/common/proxy/schema.test.ts +145 -0
  480. package/src/internal/common/proxy/symbols.ts +7 -0
  481. package/src/internal/common/proxy/typed-handler.test.ts +313 -0
  482. package/src/internal/common/proxy/typed-handler.ts +447 -0
  483. package/src/internal/common/proxy/typed-object.test.ts +115 -0
  484. package/src/internal/common/types/base.ts +43 -0
  485. package/src/internal/common/types/entity.ts +54 -0
  486. package/src/internal/common/types/index.ts +10 -0
  487. package/src/internal/common/types/meta.ts +67 -0
  488. package/src/internal/common/types/model-symbols.ts +69 -0
  489. package/src/internal/common/types/typename.ts +55 -0
  490. package/src/internal/common/types/version.ts +19 -0
  491. package/src/internal/index.ts +17 -0
  492. package/src/testing/api.test.ts +125 -0
  493. package/src/testing/index.ts +3 -1
  494. package/src/testing/test-data.ts +129 -0
  495. package/src/testing/test-schema.ts +240 -0
  496. package/src/testing/util.ts +85 -0
  497. package/dist/lib/browser/chunk-MTR3E5S2.mjs +0 -786
  498. package/dist/lib/browser/chunk-MTR3E5S2.mjs.map +0 -7
  499. package/dist/lib/browser/index.mjs +0 -26
  500. package/dist/lib/browser/meta.json +0 -1
  501. package/dist/lib/browser/testing/index.mjs +0 -70
  502. package/dist/lib/browser/testing/index.mjs.map +0 -7
  503. package/dist/lib/node-esm/chunk-MYZLAJSR.mjs +0 -786
  504. package/dist/lib/node-esm/chunk-MYZLAJSR.mjs.map +0 -7
  505. package/dist/lib/node-esm/index.mjs +0 -26
  506. package/dist/lib/node-esm/meta.json +0 -1
  507. package/dist/lib/node-esm/testing/index.mjs +0 -70
  508. package/dist/lib/node-esm/testing/index.mjs.map +0 -7
  509. package/dist/types/src/experimental/database.d.ts +0 -8
  510. package/dist/types/src/experimental/database.d.ts.map +0 -1
  511. package/dist/types/src/experimental/index.d.ts +0 -1
  512. package/dist/types/src/experimental/index.d.ts.map +0 -1
  513. package/dist/types/src/experimental/queue.d.ts +0 -8
  514. package/dist/types/src/experimental/queue.d.ts.map +0 -1
  515. package/dist/types/src/experimental/space.d.ts +0 -8
  516. package/dist/types/src/experimental/space.d.ts.map +0 -1
  517. package/dist/types/src/query/dsl.d.ts +0 -238
  518. package/dist/types/src/query/dsl.d.ts.map +0 -1
  519. package/dist/types/src/query/dsl.test.d.ts +0 -2
  520. package/dist/types/src/query/dsl.test.d.ts.map +0 -1
  521. package/dist/types/src/query/index.d.ts +0 -2
  522. package/dist/types/src/query/index.d.ts.map +0 -1
  523. package/dist/types/src/testing/types.d.ts +0 -113
  524. package/dist/types/src/testing/types.d.ts.map +0 -1
  525. package/src/experimental/database.ts +0 -11
  526. package/src/experimental/index.ts +0 -7
  527. package/src/experimental/queue.ts +0 -11
  528. package/src/experimental/space.ts +0 -11
  529. package/src/query/dsl.test.ts +0 -332
  530. package/src/query/dsl.ts +0 -704
  531. package/src/query/index.ts +0 -5
  532. package/src/test/api.test.ts +0 -180
  533. package/src/testing/types.ts +0 -91
  534. /package/dist/lib/{browser/index.mjs.map → neutral/Annotation.mjs.map} +0 -0
  535. /package/dist/lib/{node-esm/index.mjs.map → neutral/Database.mjs.map} +0 -0
  536. /package/dist/types/src/{test → testing}/api.test.d.ts +0 -0
@@ -0,0 +1,42 @@
1
+ import type { ForeignKey } from '@dxos/echo-protocol';
2
+ import type { DeepReadonly } from '@dxos/util';
3
+ import { type Mutable } from '../proxy';
4
+ import { type AnyProperties, type ObjectMeta } from '../types';
5
+ /**
6
+ * Deeply read-only version of ObjectMeta.
7
+ */
8
+ export type ReadonlyMeta = DeepReadonly<ObjectMeta>;
9
+ /**
10
+ * Mutable meta type received in meta mutation callbacks.
11
+ */
12
+ export type Meta = Mutable<ObjectMeta>;
13
+ /**
14
+ * Get the metadata for an entity with validation.
15
+ * Returns mutable meta when passed a mutable entity (inside change callback).
16
+ * Returns read-only meta when passed a regular entity or snapshot.
17
+ *
18
+ * TODO(burdon): When passed a Snapshot, should return a snapshot of meta, not the live meta proxy.
19
+ */
20
+ export declare function getMetaChecked(entity: Mutable<AnyProperties>): Meta;
21
+ export declare function getMetaChecked(entity: AnyProperties): ReadonlyMeta;
22
+ /**
23
+ * @returns Foreign keys for the entity from the specified source.
24
+ * Accepts both reactive entities and snapshots.
25
+ */
26
+ export declare const getKeys: (entity: AnyProperties, source: string) => ForeignKey[];
27
+ /**
28
+ * Delete all keys from the entity for the specified source.
29
+ * Must be called within an Obj.update or Relation.update callback.
30
+ */
31
+ export declare const deleteKeys: (entity: Mutable<AnyProperties>, source: string) => void;
32
+ /**
33
+ * Add a tag to the entity.
34
+ * Must be called within an Obj.update or Relation.update callback.
35
+ */
36
+ export declare const addTag: (entity: Mutable<AnyProperties>, tag: string) => void;
37
+ /**
38
+ * Remove a tag from the entity.
39
+ * Must be called within an Obj.update or Relation.update callback.
40
+ */
41
+ export declare const removeTag: (entity: Mutable<AnyProperties>, tag: string) => void;
42
+ //# sourceMappingURL=meta.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"meta.d.ts","sourceRoot":"","sources":["../../../../../../src/internal/common/api/meta.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAEtD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE/C,OAAO,EAAE,KAAK,OAAO,EAAE,MAAM,UAAU,CAAC;AACxC,OAAO,EAAE,KAAK,aAAa,EAAE,KAAK,UAAU,EAAuB,MAAM,UAAU,CAAC;AAEpF;;GAEG;AACH,MAAM,MAAM,YAAY,GAAG,YAAY,CAAC,UAAU,CAAC,CAAC;AAEpD;;GAEG;AACH,MAAM,MAAM,IAAI,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;AAEvC;;;;;;GAMG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,OAAO,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC;AACrE,wBAAgB,cAAc,CAAC,MAAM,EAAE,aAAa,GAAG,YAAY,CAAC;AAQpE;;;GAGG;AACH,eAAO,MAAM,OAAO,WAAY,aAAa,UAAU,MAAM,KAAG,UAAU,EAKzE,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,UAAU,WAAY,OAAO,CAAC,aAAa,CAAC,UAAU,MAAM,SAQxE,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,MAAM,WAAY,OAAO,CAAC,aAAa,CAAC,OAAO,MAAM,SAIjE,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,SAAS,WAAY,OAAO,CAAC,aAAa,CAAC,OAAO,MAAM,SAWpE,CAAC"}
@@ -0,0 +1,4 @@
1
+ export * from './api';
2
+ export * from './proxy';
3
+ export * from './types';
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/internal/common/index.ts"],"names":[],"mappings":"AAIA,cAAc,OAAO,CAAC;AACtB,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC"}
@@ -0,0 +1,55 @@
1
+ /**
2
+ * Enter a change context for the given key.
3
+ * While in a change context, mutations are allowed on the associated object.
4
+ * Nested Obj.update calls are not supported.
5
+ *
6
+ * @param key - The key to enter the change context for (target object or ObjectCore).
7
+ * @returns A cleanup function that exits the change context.
8
+ */
9
+ export declare const enterChangeContext: (key: object) => (() => void);
10
+ /**
11
+ * Check if the given key is currently in a change context.
12
+ *
13
+ * @param key - The key to check (target object or ObjectCore).
14
+ * @returns True if the key is in a change context, false otherwise.
15
+ */
16
+ export declare const isInChangeContext: (key: object) => boolean;
17
+ /**
18
+ * Queue a notification for the given key to be fired when the change context exits.
19
+ *
20
+ * @param key - The key to queue a notification for.
21
+ */
22
+ export declare const queueNotification: (key: object) => void;
23
+ /**
24
+ * Queue an owner notification. Owner notifications are for objects in the ownership
25
+ * chain that should be notified when a nested object changes.
26
+ * These objects have EventId and emit directly.
27
+ * Skip if the target is already the current change context (to avoid duplicate notifications).
28
+ *
29
+ * @param target - The owner target that has EventId.
30
+ */
31
+ export declare const queueOwnerNotification: (target: object) => void;
32
+ /**
33
+ * Check if there are any pending notifications for the given key.
34
+ *
35
+ * @param key - The key to check.
36
+ * @returns True if there are pending notifications, false otherwise.
37
+ */
38
+ export declare const hasPendingNotifications: (key: object) => boolean;
39
+ /**
40
+ * Clear any pending notifications for the given key.
41
+ *
42
+ * @param key - The key to clear notifications for.
43
+ */
44
+ export declare const clearPendingNotifications: (key: object) => void;
45
+ /**
46
+ * Execute a callback within a change context.
47
+ * This is the shared implementation used by both TypedReactiveHandler and EchoReactiveHandler.
48
+ *
49
+ * @param contextKey - The key for the change context (target for typed, ObjectCore for db).
50
+ * @param eventTarget - The object that has the EventId for notifications.
51
+ * @param proxy - The proxy object to pass to the callback.
52
+ * @param callback - The callback to execute with mutations allowed.
53
+ */
54
+ export declare const executeChange: (contextKey: object, eventTarget: object, proxy: any, callback: (proxy: any) => void) => void;
55
+ //# sourceMappingURL=change-context.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"change-context.d.ts","sourceRoot":"","sources":["../../../../../../src/internal/common/proxy/change-context.ts"],"names":[],"mappings":"AAkCA;;;;;;;GAOG;AACH,eAAO,MAAM,kBAAkB,QAAS,MAAM,KAAG,CAAC,MAAM,IAAI,CAK3D,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,iBAAiB,QAAS,MAAM,KAAG,OAE/C,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,iBAAiB,QAAS,MAAM,KAAG,IAI/C,CAAC;AAEF;;;;;;;GAOG;AACH,eAAO,MAAM,sBAAsB,WAAY,MAAM,KAAG,IAKvD,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,uBAAuB,QAAS,MAAM,KAAG,OAErD,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,yBAAyB,QAAS,MAAM,KAAG,IAIvD,CAAC;AAEF;;;;;;;;GAQG;AACH,eAAO,MAAM,aAAa,eACZ,MAAM,eACL,MAAM,SACZ,GAAG,YACA,CAAC,KAAK,EAAE,GAAG,KAAK,IAAI,KAC7B,IAiBF,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=change.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"change.test.d.ts","sourceRoot":"","sources":["../../../../../../src/internal/common/proxy/change.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Define a non-enumerable property on an object.
3
+ */
4
+ export declare const defineHiddenProperty: (object: any, key: string | symbol, value: any) => void;
5
+ //# sourceMappingURL=define-hidden-property.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"define-hidden-property.d.ts","sourceRoot":"","sources":["../../../../../../src/internal/common/proxy/define-hidden-property.ts"],"names":[],"mappings":"AAIA;;GAEG;AACH,eAAO,MAAM,oBAAoB,WAAY,GAAG,OAAO,MAAM,GAAG,MAAM,SAAS,GAAG,SAMjF,CAAC"}
@@ -0,0 +1,19 @@
1
+ /**
2
+ * Error thrown when attempting to mutate an object outside of an Obj.update() context.
3
+ */
4
+ export declare class MutationOutsideChangeContextError extends Error {
5
+ constructor(operation: string, suggestion: string);
6
+ }
7
+ /**
8
+ * Create an error for attempting to set a property outside of a change context.
9
+ */
10
+ export declare const createPropertySetError: (prop: string | symbol) => MutationOutsideChangeContextError;
11
+ /**
12
+ * Create an error for attempting to delete a property outside of a change context.
13
+ */
14
+ export declare const createPropertyDeleteError: (prop: string | symbol) => MutationOutsideChangeContextError;
15
+ /**
16
+ * Create an error for attempting to call an array method outside of a change context.
17
+ */
18
+ export declare const createArrayMethodError: (method: string) => MutationOutsideChangeContextError;
19
+ //# sourceMappingURL=errors.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../../../../../src/internal/common/proxy/errors.ts"],"names":[],"mappings":"AAIA;;GAEG;AACH,qBAAa,iCAAkC,SAAQ,KAAK;IAC1D,YAAY,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAKhD;CACF;AAED;;GAEG;AACH,eAAO,MAAM,sBAAsB,SAAU,MAAM,GAAG,MAAM,KAAG,iCAK9D,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,yBAAyB,SAAU,MAAM,GAAG,MAAM,KAAG,iCAKjE,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,sBAAsB,WAAY,MAAM,KAAG,iCAEvD,CAAC"}
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Run a callback in a batched context for EventId emissions.
3
+ * Multiple mutations within the batch will only emit one event per target.
4
+ */
5
+ export declare const batchEvents: (callback: () => void) => void;
6
+ /**
7
+ * Emit an event on a target, respecting batching.
8
+ */
9
+ export declare const emitEvent: (target: object) => void;
10
+ //# sourceMappingURL=event-batch.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"event-batch.d.ts","sourceRoot":"","sources":["../../../../../../src/internal/common/proxy/event-batch.ts"],"names":[],"mappings":"AAcA;;;GAGG;AACH,eAAO,MAAM,WAAW,aAAc,MAAM,IAAI,KAAG,IAclD,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,SAAS,WAAY,MAAM,KAAG,IAM1C,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=handler.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"handler.test.d.ts","sourceRoot":"","sources":["../../../../../../src/internal/common/proxy/handler.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,14 @@
1
+ export * from './change-context';
2
+ export * from './define-hidden-property';
3
+ export * from './errors';
4
+ export * from './event-batch';
5
+ export * from './json-serializer';
6
+ export * from './make-object';
7
+ export * from './proxy-types';
8
+ export * from './proxy-utils';
9
+ export * from './reactive';
10
+ export * from './reactive-array';
11
+ export * from './schema-validator';
12
+ export * from './symbols';
13
+ export * from './typed-handler';
14
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/internal/common/proxy/index.ts"],"names":[],"mappings":"AAIA,cAAc,kBAAkB,CAAC;AACjC,cAAc,0BAA0B,CAAC;AACzC,cAAc,UAAU,CAAC;AACzB,cAAc,eAAe,CAAC;AAC9B,cAAc,mBAAmB,CAAC;AAClC,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,YAAY,CAAC;AAC3B,cAAc,kBAAkB,CAAC;AACjC,cAAc,oBAAoB,CAAC;AACnC,cAAc,WAAW,CAAC;AAC1B,cAAc,iBAAiB,CAAC"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Attaches a toJSON method to the object for typed serialization.
3
+ */
4
+ export declare const attachTypedJsonSerializer: (obj: any) => void;
5
+ export declare const typedJsonSerializer: (this: any) => any;
6
+ //# sourceMappingURL=json-serializer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"json-serializer.d.ts","sourceRoot":"","sources":["../../../../../../src/internal/common/proxy/json-serializer.ts"],"names":[],"mappings":"AAuBA;;GAEG;AACH,eAAO,MAAM,yBAAyB,QAAS,GAAG,SAajD,CAAC;AAIF,eAAO,MAAM,mBAAmB,SAAmB,GAAG,QA+BrD,CAAC"}
@@ -0,0 +1,14 @@
1
+ import type * as Schema from 'effect/Schema';
2
+ import { type AnyProperties, KindId, type ObjectMeta } from '../types';
3
+ /**
4
+ *
5
+ */
6
+ export type MakeObjectProps<T extends AnyProperties> = Omit<T, 'id' | KindId>;
7
+ /**
8
+ * Creates a reactive object from a plain Javascript object.
9
+ * Requires a TS-effect schema.
10
+ */
11
+ export declare const makeObject: {
12
+ <T extends AnyProperties>(schema: Schema.Schema<T, any, never>, obj: NoInfer<MakeObjectProps<T>>, meta?: ObjectMeta): T;
13
+ };
14
+ //# sourceMappingURL=make-object.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"make-object.d.ts","sourceRoot":"","sources":["../../../../../../src/internal/common/proxy/make-object.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,KAAK,MAAM,MAAM,eAAe,CAAC;AAK7C,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,EAAU,KAAK,UAAU,EAA8B,MAAM,UAAU,CAAC;AAM3G;;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;CAIN,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/common/proxy/ownership.ts"],"names":[],"mappings":"AAsBA;;GAEG;AACH,eAAO,MAAM,YAAY,UAAW,GAAG,KAAG,GAEzC,CAAC;AAEF;;;;;;;;;GASG;AACH,eAAO,MAAM,QAAQ,UAAW,MAAM,GAAG,IAAI,GAAG,SAAS,KAAG,MAAM,GAAG,SAEpE,CAAC;AAWF;;;;;;;;;;GAUG;AACH,eAAO,MAAM,iBAAiB,UACrB,GAAG,SACH,MAAM,YACJ;IACP,OAAO,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IACtB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,oBAAoB,CAAC,EAAE,MAAM,CAAC;CAC/B,KACA,IA4DF,CAAC;AAEF;;;;;;;GAOG;AACH,eAAO,MAAM,mBAAmB,UACvB,GAAG,WACD,CAAC,WAAW,EAAE,GAAG,KAAK,OAAO,4BAErC,OAiCF,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,gBAAgB,eAAgB,MAAM,SAAS,GAAG,KAAG,OACb,CAAC;AAEtD;;;GAGG;AACH,eAAO,MAAM,eAAe,UAAW,GAAG,UAAU,MAAM,KAAG,OAWzD,CAAC;AAoCL;;;;GAIG;AACH,eAAO,MAAM,gBAAgB,WAAY,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/common/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/common/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,UAAW,OAAO,YAAsC,CAAC;AAE7E,eAAO,MAAM,kBAAkB,UAAW,GAAG,KAAG,KAAK,IAAI,MASxD,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,YAAY,GAAI,CAAC,SAAS,MAAM,SAAS,GAAG,KAAG,gBAAgB,CAAC,CAAC,CAI7E,CAAC;AAEF,eAAO,MAAM,cAAc,GAAI,CAAC,SAAS,MAAM,SAAS,GAAG,KAAG,CAE7D,CAAC;AAEF,eAAO,MAAM,eAAe,GAAI,CAAC,SAAS,MAAM,SAAS,GAAG,KAAG,eAAe,CAAC,CAAC,CAE/E,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,qBAAqB,GAAI,CAAC,OAAO,CAAC,MAAM,MAAM,SAE1D,CAAC;AAEF;;;;;;GAMG;AAGH,eAAO,MAAM,WAAW,GAAI,CAAC,SAAS,MAAM,UAAU,CAAC,WAAW,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;IACH,YACW,MAAM,EAAE,CAAC,EACV,QAAQ,EAAE,eAAe,CAAC,CAAC,CAAC,EAClC;IAEJ,IAAI,OAAO,uBAGV;IAGD,UAAU,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC,CAAC,GAAG,IAAI,CAE5C;IAED;;OAEG;IACH,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,QAAQ,EAAE,GAAG,GAAG,GAAG,CAUxD;CAqCF"}
@@ -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.update() 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/common/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.update, 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/common/proxy/reactive.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,eAAe,CAAC;AAI/C;;;;;GAKG;AAEH,eAAO,MAAM,SAAS,QAAS,OAAO,YAAY,MAAM,IAAI,KAAG,CAAC,MAAM,IAAI,CAezE,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,OAAO,CAAC,YAAY,cAAc,CAAC,CAAC,CAAC,KAAG,IAS/D,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=reactive.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reactive.test.d.ts","sourceRoot":"","sources":["../../../../../../src/internal/common/proxy/reactive.test.ts"],"names":[],"mappings":""}
@@ -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/common/proxy/schema-validator.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAUxC,qBAAa,eAAe;IAC1B;;;OAGG;IACH,OAAc,cAAc,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,YAAY,GAAG,IAAI,CAgBrE;IAED,OAAc,iBAAiB,CAC7B,gBAAgB,EAAE,MAAM,CAAC,MAAM,CAAC,YAAY,EAC5C,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,MAAM,GACjB,OAAO,CAWT;IAED,OAAc,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,CAqB5B;IAED,OAAc,uBAAuB,CAAC,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,YAAY,CAepG;CACF;AAyID,eAAO,MAAM,yBAAyB,WAAY,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/common/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/common/proxy/symbols.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,OAAO,eAA0C,CAAC;AAC/D,eAAO,MAAM,QAAQ,eAA2C,CAAC"}
@@ -0,0 +1,48 @@
1
+ import * as Schema from 'effect/Schema';
2
+ import { Event } from '@dxos/async';
3
+ import { ParentId, 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
+ [ParentId]?: any;
17
+ /**
18
+ * For modifications.
19
+ */
20
+ [EventId]: Event<void>;
21
+ } & ({
22
+ [key: keyof any]: any;
23
+ } | any[]);
24
+ /**
25
+ * Typed in-memory reactive store (with Schema).
26
+ * Reactivity is based on Event subscriptions, not signals.
27
+ */
28
+ export declare class TypedReactiveHandler implements ReactiveHandler<ProxyTarget> {
29
+ static readonly instance: ReactiveHandler<any>;
30
+ readonly _proxyMap: WeakMap<object, any>;
31
+ private _inSet;
32
+ private constructor();
33
+ init(target: ProxyTarget): void;
34
+ get(target: ProxyTarget, prop: string | symbol, receiver: any): any;
35
+ set(target: ProxyTarget, prop: string | symbol, value: any, receiver: any): boolean;
36
+ ownKeys(target: ProxyTarget): ArrayLike<string | symbol>;
37
+ deleteProperty(target: ProxyTarget, property: string | symbol): boolean;
38
+ defineProperty(target: ProxyTarget, property: string | symbol, attributes: PropertyDescriptor): boolean;
39
+ /**
40
+ * Prepare a value for assignment to a typed object property.
41
+ * Handles cycle detection, copy-on-assign, array conversion, validation, and ownership.
42
+ */
43
+ private _prepareValueForAssignment;
44
+ private _validateValue;
45
+ private _inspect;
46
+ }
47
+ export declare const prepareTypedTarget: <T>(target: T, schema: Schema.Schema<T>) => void;
48
+ //# sourceMappingURL=typed-handler.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"typed-handler.d.ts","sourceRoot":"","sources":["../../../../../../src/internal/common/proxy/typed-handler.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAIxC,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAKpC,OAAO,EAAmB,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAcvE,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;IACvC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC;IAEjB;;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,eAAiB;IAExB,IAAI,CAAC,MAAM,EAAE,WAAW,GAAG,IAAI,CAkD9B;IAED,GAAG,CAAC,MAAM,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,QAAQ,EAAE,GAAG,GAAG,GAAG,CA4BlE;IAED,GAAG,CAAC,MAAM,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG,GAAG,OAAO,CAiClF;IAED,OAAO,CAAC,MAAM,EAAE,WAAW,GAAG,SAAS,CAAC,MAAM,GAAG,MAAM,CAAC,CAEvD;IAED,cAAc,CAAC,MAAM,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAgBtE;IAED,cAAc,CAAC,MAAM,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,EAAE,UAAU,EAAE,kBAAkB,GAAG,OAAO,CAyBtG;IAED;;;OAGG;IACH,OAAO,CAAC,0BAA0B;IAqDlC,OAAO,CAAC,cAAc;IAatB,OAAO,CAAC,QAAQ;CAajB;AA8BD,eAAO,MAAM,kBAAkB,GAAI,CAAC,UAAU,CAAC,UAAU,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/common/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/common/proxy/typed-object.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,27 @@
1
+ import * as Schema from 'effect/Schema';
2
+ import { type ObjectId } from '@dxos/keys';
3
+ import { type ATTR_META, type ObjectMeta } from './meta';
4
+ /**
5
+ * Base type for all data objects (reactive, ECHO, and other raw objects).
6
+ * NOTE: This describes the base type for all database objects.
7
+ * It is stricter than `T extends {}` or `T extends object`.
8
+ */
9
+ export type AnyProperties = Record<string, any>;
10
+ /**
11
+ * Canonical type for all ECHO entities (objects and relations).
12
+ * @depreacted Remove, use Entity.Unknown instead.
13
+ */
14
+ export interface AnyEntity {
15
+ readonly id: ObjectId;
16
+ }
17
+ export type ExcludeId<T extends AnyProperties> = Omit<T, 'id'>;
18
+ export type PropertyKey<T extends AnyProperties> = Extract<keyof ExcludeId<T>, string>;
19
+ type WithMeta = {
20
+ [ATTR_META]?: ObjectMeta;
21
+ };
22
+ /**
23
+ * The raw object should not include the ECHO id, but may include metadata.
24
+ */
25
+ export declare const RawObject: <S extends Schema.Schema.AnyNoContext>(schema: S) => Schema.Schema<ExcludeId<Schema.Schema.Type<S>> & WithMeta, Schema.Schema.Encoded<S>>;
26
+ export {};
27
+ //# sourceMappingURL=base.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../../../../../src/internal/common/types/base.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAGxC,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,YAAY,CAAC;AAE3C,OAAO,EAAE,KAAK,SAAS,EAAE,KAAK,UAAU,EAAE,MAAM,QAAQ,CAAC;AAEzD;;;;GAIG;AAEH,MAAM,MAAM,aAAa,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;AAEhD;;;GAGG;AAEH,MAAM,WAAW,SAAS;IACxB,QAAQ,CAAC,EAAE,EAAE,QAAQ,CAAC;CACvB;AAED,MAAM,MAAM,SAAS,CAAC,CAAC,SAAS,aAAa,IAAI,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;AAE/D,MAAM,MAAM,WAAW,CAAC,CAAC,SAAS,aAAa,IAAI,OAAO,CAAC,MAAM,SAAS,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;AAGvF,KAAK,QAAQ,GAAG;IAAE,CAAC,SAAS,CAAC,CAAC,EAAE,UAAU,CAAA;CAAE,CAAC;AAE7C;;GAEG;AACH,eAAO,MAAM,SAAS,GAAI,CAAC,SAAS,MAAM,CAAC,MAAM,CAAC,YAAY,UACpD,CAAC,KACR,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAErF,CAAC"}
@@ -0,0 +1,37 @@
1
+ import * as Schema from 'effect/Schema';
2
+ /**
3
+ * String key used to identify the kind of an entity instance (object or relation).
4
+ */
5
+ export declare const KindId: '~@dxos/echo/Kind';
6
+ export type KindId = typeof KindId;
7
+ /**
8
+ * String key used to identify the kind of a schema (object schema or relation schema).
9
+ * Parallels KindId which identifies instance kinds.
10
+ */
11
+ export declare const SchemaKindId: '~@dxos/echo/SchemaKind';
12
+ export type SchemaKindId = typeof SchemaKindId;
13
+ /**
14
+ * String key used to brand snapshot types.
15
+ * Snapshots have SnapshotKindId instead of KindId, making them
16
+ * distinguishable from reactive objects at the type level.
17
+ */
18
+ export declare const SnapshotKindId: '~@dxos/echo/SnapshotKind';
19
+ export type SnapshotKindId = typeof SnapshotKindId;
20
+ /**
21
+ * Kinds of entities stored in ECHO: objects and relations.
22
+ */
23
+ export declare enum EntityKind {
24
+ Object = "object",
25
+ Relation = "relation"
26
+ }
27
+ export declare const EntityKindSchema: Schema.Enums<typeof EntityKind>;
28
+ /**
29
+ * Typename for generic object references (Type.Obj / Ref.Ref(Obj.Unknown)).
30
+ * Used when referencing any object without a specific schema.
31
+ */
32
+ export declare const ANY_OBJECT_TYPENAME = "org.dxos.schema.anyObject";
33
+ /**
34
+ * Version for generic object references.
35
+ */
36
+ export declare const ANY_OBJECT_VERSION = "0.0.0";
37
+ //# sourceMappingURL=entity.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"entity.d.ts","sourceRoot":"","sources":["../../../../../../src/internal/common/types/entity.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AASxC;;GAEG;AACH,eAAO,MAAM,MAAM,EAAG,kBAA2B,CAAC;AAClD,MAAM,MAAM,MAAM,GAAG,OAAO,MAAM,CAAC;AAEnC;;;GAGG;AACH,eAAO,MAAM,YAAY,EAAG,wBAAiC,CAAC;AAC9D,MAAM,MAAM,YAAY,GAAG,OAAO,YAAY,CAAC;AAE/C;;;;GAIG;AACH,eAAO,MAAM,cAAc,EAAG,0BAAmC,CAAC;AAClE,MAAM,MAAM,cAAc,GAAG,OAAO,cAAc,CAAC;AAEnD;;GAEG;AACH,oBAAY,UAAU;IACpB,MAAM,WAAW;IACjB,QAAQ,aAAa;CACtB;AAED,eAAO,MAAM,gBAAgB,iCAA2B,CAAC;AAEzD;;;GAGG;AACH,eAAO,MAAM,mBAAmB,8BAA8B,CAAC;AAE/D;;GAEG;AACH,eAAO,MAAM,kBAAkB,UAAU,CAAC"}