@dxos/echo 0.8.4-main.ead640a → 0.8.4-main.effb148878

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 (703) hide show
  1. package/LICENSE +102 -5
  2. package/README.md +10 -11
  3. package/dist/lib/neutral/Annotation.mjs +39 -0
  4. package/dist/lib/neutral/Database.mjs +49 -0
  5. package/dist/lib/neutral/Entity.mjs +68 -0
  6. package/dist/lib/neutral/Err.mjs +12 -0
  7. package/dist/lib/neutral/Extension.mjs +18 -0
  8. package/dist/lib/neutral/Feed.mjs +54 -0
  9. package/dist/lib/neutral/Filter.mjs +74 -0
  10. package/dist/lib/neutral/Filter.mjs.map +7 -0
  11. package/dist/lib/neutral/Format.mjs +86 -0
  12. package/dist/lib/neutral/Format.mjs.map +7 -0
  13. package/dist/lib/neutral/JsonSchema.mjs +19 -0
  14. package/dist/lib/neutral/JsonSchema.mjs.map +7 -0
  15. package/dist/lib/neutral/Key.mjs +16 -0
  16. package/dist/lib/neutral/Key.mjs.map +7 -0
  17. package/dist/lib/neutral/Migration.mjs +18 -0
  18. package/dist/lib/neutral/Migration.mjs.map +7 -0
  19. package/dist/lib/neutral/Obj.mjs +114 -0
  20. package/dist/lib/neutral/Obj.mjs.map +7 -0
  21. package/dist/lib/neutral/Order.mjs +12 -0
  22. package/dist/lib/neutral/Order.mjs.map +7 -0
  23. package/dist/lib/neutral/Query.mjs +38 -0
  24. package/dist/lib/neutral/Query.mjs.map +7 -0
  25. package/dist/lib/neutral/QueryResult.mjs +2 -0
  26. package/dist/lib/neutral/QueryResult.mjs.map +7 -0
  27. package/dist/lib/neutral/Ref.mjs +26 -0
  28. package/dist/lib/neutral/Ref.mjs.map +7 -0
  29. package/dist/lib/neutral/Relation.mjs +95 -0
  30. package/dist/lib/neutral/Relation.mjs.map +7 -0
  31. package/dist/lib/neutral/SchemaRegistry.mjs +2 -0
  32. package/dist/lib/neutral/SchemaRegistry.mjs.map +7 -0
  33. package/dist/lib/neutral/Tag.mjs +29 -0
  34. package/dist/lib/neutral/Tag.mjs.map +7 -0
  35. package/dist/lib/neutral/Type.mjs +63 -0
  36. package/dist/lib/neutral/Type.mjs.map +7 -0
  37. package/dist/lib/neutral/chunk-4SYHDOQA.mjs +48 -0
  38. package/dist/lib/neutral/chunk-4SYHDOQA.mjs.map +7 -0
  39. package/dist/lib/neutral/chunk-4U7OD55H.mjs +47 -0
  40. package/dist/lib/neutral/chunk-4U7OD55H.mjs.map +7 -0
  41. package/dist/lib/neutral/chunk-52NG2XEE.mjs +34 -0
  42. package/dist/lib/neutral/chunk-52NG2XEE.mjs.map +7 -0
  43. package/dist/lib/neutral/chunk-A5HDDVKS.mjs +94 -0
  44. package/dist/lib/neutral/chunk-A5HDDVKS.mjs.map +7 -0
  45. package/dist/lib/neutral/chunk-EZ4XJFHJ.mjs +54 -0
  46. package/dist/lib/neutral/chunk-EZ4XJFHJ.mjs.map +7 -0
  47. package/dist/lib/neutral/chunk-F625JEZB.mjs +365 -0
  48. package/dist/lib/neutral/chunk-F625JEZB.mjs.map +7 -0
  49. package/dist/lib/neutral/chunk-FFCN66OF.mjs +420 -0
  50. package/dist/lib/neutral/chunk-FFCN66OF.mjs.map +7 -0
  51. package/dist/lib/neutral/chunk-GOHDOJE3.mjs +51 -0
  52. package/dist/lib/neutral/chunk-GOHDOJE3.mjs.map +7 -0
  53. package/dist/lib/neutral/chunk-GWFFC34K.mjs +50 -0
  54. package/dist/lib/neutral/chunk-GWFFC34K.mjs.map +7 -0
  55. package/dist/lib/neutral/chunk-J5LGTIGS.mjs +10 -0
  56. package/dist/lib/neutral/chunk-J5LGTIGS.mjs.map +7 -0
  57. package/dist/lib/neutral/chunk-J7QWJQQV.mjs +318 -0
  58. package/dist/lib/neutral/chunk-J7QWJQQV.mjs.map +7 -0
  59. package/dist/lib/neutral/chunk-JTHNDGAR.mjs +27 -0
  60. package/dist/lib/neutral/chunk-JTHNDGAR.mjs.map +7 -0
  61. package/dist/lib/neutral/chunk-K5RH2PBH.mjs +361 -0
  62. package/dist/lib/neutral/chunk-K5RH2PBH.mjs.map +7 -0
  63. package/dist/lib/neutral/chunk-KHRAQDYX.mjs +343 -0
  64. package/dist/lib/neutral/chunk-KHRAQDYX.mjs.map +7 -0
  65. package/dist/lib/neutral/chunk-L65CW5EI.mjs +156 -0
  66. package/dist/lib/neutral/chunk-L65CW5EI.mjs.map +7 -0
  67. package/dist/lib/neutral/chunk-LNZIPZX6.mjs +2186 -0
  68. package/dist/lib/neutral/chunk-LNZIPZX6.mjs.map +7 -0
  69. package/dist/lib/neutral/chunk-MPXUNTME.mjs +41 -0
  70. package/dist/lib/neutral/chunk-MPXUNTME.mjs.map +7 -0
  71. package/dist/lib/neutral/chunk-O2EOH7XQ.mjs +420 -0
  72. package/dist/lib/neutral/chunk-O2EOH7XQ.mjs.map +7 -0
  73. package/dist/lib/neutral/chunk-Q7ID37KF.mjs +278 -0
  74. package/dist/lib/neutral/chunk-Q7ID37KF.mjs.map +7 -0
  75. package/dist/lib/neutral/chunk-QLYEQ5VA.mjs +205 -0
  76. package/dist/lib/neutral/chunk-QLYEQ5VA.mjs.map +7 -0
  77. package/dist/lib/neutral/chunk-SSDGRJ3A.mjs +747 -0
  78. package/dist/lib/neutral/chunk-SSDGRJ3A.mjs.map +7 -0
  79. package/dist/lib/neutral/chunk-TTCSATUD.mjs +42 -0
  80. package/dist/lib/neutral/chunk-TTCSATUD.mjs.map +7 -0
  81. package/dist/lib/neutral/chunk-UEFRFUYC.mjs +25 -0
  82. package/dist/lib/neutral/chunk-UEFRFUYC.mjs.map +7 -0
  83. package/dist/lib/neutral/chunk-UN7K472Q.mjs +132 -0
  84. package/dist/lib/neutral/chunk-UN7K472Q.mjs.map +7 -0
  85. package/dist/lib/neutral/chunk-UQAMAXDU.mjs +243 -0
  86. package/dist/lib/neutral/chunk-UQAMAXDU.mjs.map +7 -0
  87. package/dist/lib/neutral/chunk-V5NE2X7Y.mjs +7 -0
  88. package/dist/lib/neutral/chunk-V5NE2X7Y.mjs.map +7 -0
  89. package/dist/lib/neutral/chunk-V72DY6LU.mjs +7 -0
  90. package/dist/lib/neutral/chunk-V72DY6LU.mjs.map +7 -0
  91. package/dist/lib/neutral/chunk-ZII2BGPM.mjs +269 -0
  92. package/dist/lib/neutral/chunk-ZII2BGPM.mjs.map +7 -0
  93. package/dist/lib/neutral/chunk-ZM7VFIS2.mjs +93 -0
  94. package/dist/lib/neutral/chunk-ZM7VFIS2.mjs.map +7 -0
  95. package/dist/lib/neutral/index.mjs +111 -0
  96. package/dist/lib/neutral/index.mjs.map +7 -0
  97. package/dist/lib/neutral/internal/index.mjs +513 -0
  98. package/dist/lib/neutral/internal/index.mjs.map +7 -0
  99. package/dist/lib/neutral/meta.json +1 -0
  100. package/dist/lib/neutral/testing/index.mjs +418 -0
  101. package/dist/lib/neutral/testing/index.mjs.map +7 -0
  102. package/dist/types/src/Annotation.d.ts +24 -0
  103. package/dist/types/src/Annotation.d.ts.map +1 -0
  104. package/dist/types/src/Collection.d.ts +15 -0
  105. package/dist/types/src/Collection.d.ts.map +1 -0
  106. package/dist/types/src/Database.d.ts +201 -0
  107. package/dist/types/src/Database.d.ts.map +1 -0
  108. package/dist/types/src/Dataset.d.ts +29 -0
  109. package/dist/types/src/Dataset.d.ts.map +1 -0
  110. package/dist/types/src/Entity.d.ts +236 -0
  111. package/dist/types/src/Entity.d.ts.map +1 -0
  112. package/dist/types/src/Entity.test.d.ts +2 -0
  113. package/dist/types/src/Entity.test.d.ts.map +1 -0
  114. package/dist/types/src/Err.d.ts +107 -0
  115. package/dist/types/src/Err.d.ts.map +1 -0
  116. package/dist/types/src/Extension.d.ts +80 -0
  117. package/dist/types/src/Extension.d.ts.map +1 -0
  118. package/dist/types/src/Extension.test.d.ts +2 -0
  119. package/dist/types/src/Extension.test.d.ts.map +1 -0
  120. package/dist/types/src/Feed.d.ts +229 -0
  121. package/dist/types/src/Feed.d.ts.map +1 -0
  122. package/dist/types/src/Filter.d.ts +183 -0
  123. package/dist/types/src/Filter.d.ts.map +1 -0
  124. package/dist/types/src/Filter.test.d.ts +2 -0
  125. package/dist/types/src/Filter.test.d.ts.map +1 -0
  126. package/dist/types/src/Format.d.ts +4 -0
  127. package/dist/types/src/Format.d.ts.map +1 -0
  128. package/dist/types/src/Hypergraph.d.ts +65 -0
  129. package/dist/types/src/Hypergraph.d.ts.map +1 -0
  130. package/dist/types/src/Json.d.ts +33 -0
  131. package/dist/types/src/Json.d.ts.map +1 -0
  132. package/dist/types/src/Json.test.d.ts +2 -0
  133. package/dist/types/src/Json.test.d.ts.map +1 -0
  134. package/dist/types/src/JsonSchema.d.ts +16 -0
  135. package/dist/types/src/JsonSchema.d.ts.map +1 -0
  136. package/dist/types/src/Key.d.ts +2 -1
  137. package/dist/types/src/Key.d.ts.map +1 -1
  138. package/dist/types/src/Migration.d.ts +72 -0
  139. package/dist/types/src/Migration.d.ts.map +1 -0
  140. package/dist/types/src/Obj.d.ts +459 -107
  141. package/dist/types/src/Obj.d.ts.map +1 -1
  142. package/dist/types/src/Obj.test.d.ts +2 -0
  143. package/dist/types/src/Obj.test.d.ts.map +1 -0
  144. package/dist/types/src/Order.d.ts +16 -0
  145. package/dist/types/src/Order.d.ts.map +1 -0
  146. package/dist/types/src/Query.d.ts +225 -0
  147. package/dist/types/src/Query.d.ts.map +1 -0
  148. package/dist/types/src/Query.test.d.ts +2 -0
  149. package/dist/types/src/Query.test.d.ts.map +1 -0
  150. package/dist/types/src/QueryResult.d.ts +80 -0
  151. package/dist/types/src/QueryResult.d.ts.map +1 -0
  152. package/dist/types/src/Ref.d.ts +69 -11
  153. package/dist/types/src/Ref.d.ts.map +1 -1
  154. package/dist/types/src/Relation.d.ts +316 -23
  155. package/dist/types/src/Relation.d.ts.map +1 -1
  156. package/dist/types/src/Relation.test.d.ts +2 -0
  157. package/dist/types/src/Relation.test.d.ts.map +1 -0
  158. package/dist/types/src/SchemaRegistry.d.ts +83 -0
  159. package/dist/types/src/SchemaRegistry.d.ts.map +1 -0
  160. package/dist/types/src/Tag.d.ts +18 -0
  161. package/dist/types/src/Tag.d.ts.map +1 -0
  162. package/dist/types/src/Type.d.ts +378 -106
  163. package/dist/types/src/Type.d.ts.map +1 -1
  164. package/dist/types/src/Type.test.d.ts +2 -0
  165. package/dist/types/src/Type.test.d.ts.map +1 -0
  166. package/dist/types/src/View.d.ts +65 -0
  167. package/dist/types/src/View.d.ts.map +1 -0
  168. package/dist/types/src/exemplars.test.d.ts +2 -0
  169. package/dist/types/src/exemplars.test.d.ts.map +1 -0
  170. package/dist/types/src/hierarchy.test.d.ts +2 -0
  171. package/dist/types/src/hierarchy.test.d.ts.map +1 -0
  172. package/dist/types/src/index.d.ts +22 -5
  173. package/dist/types/src/index.d.ts.map +1 -1
  174. package/dist/types/src/internal/Annotation/annotations.d.ts +251 -0
  175. package/dist/types/src/internal/Annotation/annotations.d.ts.map +1 -0
  176. package/dist/types/src/internal/Annotation/annotations.test.d.ts.map +1 -0
  177. package/dist/types/src/internal/Annotation/index.d.ts +4 -0
  178. package/dist/types/src/internal/Annotation/index.d.ts.map +1 -0
  179. package/dist/types/src/internal/Annotation/sorting.d.ts +24 -0
  180. package/dist/types/src/internal/Annotation/sorting.d.ts.map +1 -0
  181. package/dist/types/src/internal/Annotation/util.d.ts +48 -0
  182. package/dist/types/src/internal/Annotation/util.d.ts.map +1 -0
  183. package/dist/types/src/internal/Entity/api.d.ts +13 -0
  184. package/dist/types/src/internal/Entity/api.d.ts.map +1 -0
  185. package/dist/types/src/internal/Entity/entity.d.ts +67 -0
  186. package/dist/types/src/internal/Entity/entity.d.ts.map +1 -0
  187. package/dist/types/src/internal/Entity/index.d.ts +10 -0
  188. package/dist/types/src/internal/Entity/index.d.ts.map +1 -0
  189. package/dist/types/src/internal/Entity/model.d.ts +57 -0
  190. package/dist/types/src/internal/Entity/model.d.ts.map +1 -0
  191. package/dist/types/src/internal/Entity/object.d.ts +18 -0
  192. package/dist/types/src/internal/Entity/object.d.ts.map +1 -0
  193. package/dist/types/src/internal/Entity/relation.d.ts +51 -0
  194. package/dist/types/src/internal/Entity/relation.d.ts.map +1 -0
  195. package/dist/types/src/internal/Entity/type-kind.d.ts +24 -0
  196. package/dist/types/src/internal/Entity/type-kind.d.ts.map +1 -0
  197. package/dist/types/src/internal/Entity/type-uri.d.ts +25 -0
  198. package/dist/types/src/internal/Entity/type-uri.d.ts.map +1 -0
  199. package/dist/types/src/internal/Entity/util.d.ts +2 -0
  200. package/dist/types/src/internal/Entity/util.d.ts.map +1 -0
  201. package/dist/types/src/internal/Entity/version.d.ts +42 -0
  202. package/dist/types/src/internal/Entity/version.d.ts.map +1 -0
  203. package/dist/types/src/internal/Format/date.d.ts.map +1 -0
  204. package/dist/types/src/internal/Format/date.test.d.ts.map +1 -0
  205. package/dist/types/src/internal/{formats → Format}/format.d.ts +6 -3
  206. package/dist/types/src/internal/Format/format.d.ts.map +1 -0
  207. package/dist/types/src/internal/Format/format.test.d.ts.map +1 -0
  208. package/dist/types/src/internal/{formats → Format}/index.d.ts +2 -2
  209. package/dist/types/src/internal/Format/index.d.ts.map +1 -0
  210. package/dist/types/src/internal/Format/number.d.ts.map +1 -0
  211. package/dist/types/src/internal/Format/object.d.ts.map +1 -0
  212. package/dist/types/src/internal/{formats → Format}/select.d.ts +6 -4
  213. package/dist/types/src/internal/Format/select.d.ts.map +1 -0
  214. package/dist/types/src/internal/{formats → Format}/string.d.ts +4 -0
  215. package/dist/types/src/internal/Format/string.d.ts.map +1 -0
  216. package/dist/types/src/internal/{formats → Format}/types.d.ts +14 -10
  217. package/dist/types/src/internal/Format/types.d.ts.map +1 -0
  218. package/dist/types/src/internal/{json → JsonSchema}/annotations.d.ts +1 -1
  219. package/dist/types/src/internal/JsonSchema/annotations.d.ts.map +1 -0
  220. package/dist/types/src/internal/JsonSchema/effect-schema.test.d.ts.map +1 -0
  221. package/dist/types/src/internal/JsonSchema/index.d.ts +5 -0
  222. package/dist/types/src/internal/JsonSchema/index.d.ts.map +1 -0
  223. package/dist/types/src/internal/JsonSchema/json-schema-normalize.d.ts.map +1 -0
  224. package/dist/types/src/internal/{json-schema → JsonSchema}/json-schema-type.d.ts +131 -30
  225. package/dist/types/src/internal/JsonSchema/json-schema-type.d.ts.map +1 -0
  226. package/dist/types/src/internal/{json → JsonSchema}/json-schema.d.ts +6 -3
  227. package/dist/types/src/internal/JsonSchema/json-schema.d.ts.map +1 -0
  228. package/dist/types/src/internal/JsonSchema/json-schema.test.d.ts.map +1 -0
  229. package/dist/types/src/internal/Obj/clone.d.ts +8 -0
  230. package/dist/types/src/internal/Obj/clone.d.ts.map +1 -0
  231. package/dist/types/src/internal/Obj/common.d.ts.map +1 -0
  232. package/dist/types/src/internal/{object/create.d.ts → Obj/create-object.d.ts} +13 -16
  233. package/dist/types/src/internal/Obj/create-object.d.ts.map +1 -0
  234. package/dist/types/src/internal/Obj/create-object.test.d.ts +2 -0
  235. package/dist/types/src/internal/Obj/create-object.test.d.ts.map +1 -0
  236. package/dist/types/src/internal/Obj/deleted.d.ts +6 -0
  237. package/dist/types/src/internal/Obj/deleted.d.ts.map +1 -0
  238. package/dist/types/src/internal/Obj/index.d.ts +10 -0
  239. package/dist/types/src/internal/Obj/index.d.ts.map +1 -0
  240. package/dist/types/src/internal/Obj/inspect.d.ts.map +1 -0
  241. package/dist/types/src/internal/Obj/json-serializer.d.ts +45 -0
  242. package/dist/types/src/internal/Obj/json-serializer.d.ts.map +1 -0
  243. package/dist/types/src/internal/Obj/json-serializer.test.d.ts.map +1 -0
  244. package/dist/types/src/internal/Obj/schema-validator.d.ts +2 -0
  245. package/dist/types/src/internal/Obj/schema-validator.d.ts.map +1 -0
  246. package/dist/types/src/internal/Obj/schema-validator.test.d.ts.map +1 -0
  247. package/dist/types/src/internal/Obj/set-value.d.ts +7 -0
  248. package/dist/types/src/internal/Obj/set-value.d.ts.map +1 -0
  249. package/dist/types/src/internal/Obj/set-value.test.d.ts +2 -0
  250. package/dist/types/src/internal/Obj/set-value.test.d.ts.map +1 -0
  251. package/dist/types/src/internal/Obj/snapshot.d.ts +6 -0
  252. package/dist/types/src/internal/Obj/snapshot.d.ts.map +1 -0
  253. package/dist/types/src/internal/Obj/typed-object.d.ts +25 -0
  254. package/dist/types/src/internal/Obj/typed-object.d.ts.map +1 -0
  255. package/dist/types/src/internal/Obj/typed-object.test.d.ts.map +1 -0
  256. package/dist/types/src/internal/Query.d.ts +10 -0
  257. package/dist/types/src/internal/Query.d.ts.map +1 -0
  258. package/dist/types/src/internal/Ref/index.d.ts.map +1 -0
  259. package/dist/types/src/internal/{ref → Ref}/ref-array.d.ts +4 -4
  260. package/dist/types/src/internal/Ref/ref-array.d.ts.map +1 -0
  261. package/dist/types/src/internal/{ref → Ref}/ref.d.ts +79 -31
  262. package/dist/types/src/internal/Ref/ref.d.ts.map +1 -0
  263. package/dist/types/src/internal/Ref/ref.test.d.ts.map +1 -0
  264. package/dist/types/src/internal/Type/compose.d.ts +7 -0
  265. package/dist/types/src/internal/Type/compose.d.ts.map +1 -0
  266. package/dist/types/src/internal/Type/compose.test.d.ts.map +1 -0
  267. package/dist/types/src/internal/Type/index.d.ts +3 -0
  268. package/dist/types/src/internal/Type/index.d.ts.map +1 -0
  269. package/dist/types/src/internal/{schema → Type}/manipulation.d.ts +0 -1
  270. package/dist/types/src/internal/Type/manipulation.d.ts.map +1 -0
  271. package/dist/types/src/internal/Type/type-schema.d.ts +52 -0
  272. package/dist/types/src/internal/Type/type-schema.d.ts.map +1 -0
  273. package/dist/types/src/internal/common/api/index.d.ts +11 -0
  274. package/dist/types/src/internal/common/api/index.d.ts.map +1 -0
  275. package/dist/types/src/internal/common/api/meta.d.ts +42 -0
  276. package/dist/types/src/internal/common/api/meta.d.ts.map +1 -0
  277. package/dist/types/src/internal/common/index.d.ts +4 -0
  278. package/dist/types/src/internal/common/index.d.ts.map +1 -0
  279. package/dist/types/src/internal/common/proxy/change-context.d.ts +55 -0
  280. package/dist/types/src/internal/common/proxy/change-context.d.ts.map +1 -0
  281. package/dist/types/src/internal/common/proxy/change.test.d.ts +2 -0
  282. package/dist/types/src/internal/common/proxy/change.test.d.ts.map +1 -0
  283. package/dist/types/src/internal/common/proxy/define-hidden-property.d.ts +5 -0
  284. package/dist/types/src/internal/common/proxy/define-hidden-property.d.ts.map +1 -0
  285. package/dist/types/src/internal/common/proxy/errors.d.ts +19 -0
  286. package/dist/types/src/internal/common/proxy/errors.d.ts.map +1 -0
  287. package/dist/types/src/internal/common/proxy/event-batch.d.ts +10 -0
  288. package/dist/types/src/internal/common/proxy/event-batch.d.ts.map +1 -0
  289. package/dist/types/src/internal/common/proxy/handler.test.d.ts.map +1 -0
  290. package/dist/types/src/internal/common/proxy/index.d.ts +14 -0
  291. package/dist/types/src/internal/common/proxy/index.d.ts.map +1 -0
  292. package/dist/types/src/internal/common/proxy/json-serializer.d.ts +6 -0
  293. package/dist/types/src/internal/common/proxy/json-serializer.d.ts.map +1 -0
  294. package/dist/types/src/internal/common/proxy/make-object.d.ts +19 -0
  295. package/dist/types/src/internal/common/proxy/make-object.d.ts.map +1 -0
  296. package/dist/types/src/internal/common/proxy/ownership.d.ts +57 -0
  297. package/dist/types/src/internal/common/proxy/ownership.d.ts.map +1 -0
  298. package/dist/types/src/internal/common/proxy/proxy-types.d.ts +18 -0
  299. package/dist/types/src/internal/common/proxy/proxy-types.d.ts.map +1 -0
  300. package/dist/types/src/internal/common/proxy/proxy-utils.d.ts +47 -0
  301. package/dist/types/src/internal/common/proxy/proxy-utils.d.ts.map +1 -0
  302. package/dist/types/src/internal/common/proxy/reactive-array.d.ts +8 -0
  303. package/dist/types/src/internal/common/proxy/reactive-array.d.ts.map +1 -0
  304. package/dist/types/src/internal/common/proxy/reactive.d.ts +39 -0
  305. package/dist/types/src/internal/common/proxy/reactive.d.ts.map +1 -0
  306. package/dist/types/src/internal/common/proxy/reactive.test.d.ts +2 -0
  307. package/dist/types/src/internal/common/proxy/reactive.test.d.ts.map +1 -0
  308. package/dist/types/src/internal/common/proxy/schema-validator.d.ts.map +1 -0
  309. package/dist/types/src/internal/common/proxy/schema.test.d.ts.map +1 -0
  310. package/dist/types/src/internal/common/proxy/symbols.d.ts +3 -0
  311. package/dist/types/src/internal/common/proxy/symbols.d.ts.map +1 -0
  312. package/dist/types/src/internal/common/proxy/typed-handler.d.ts +64 -0
  313. package/dist/types/src/internal/common/proxy/typed-handler.d.ts.map +1 -0
  314. package/dist/types/src/internal/common/proxy/typed-handler.test.d.ts.map +1 -0
  315. package/dist/types/src/internal/common/proxy/typed-object.test.d.ts.map +1 -0
  316. package/dist/types/src/internal/common/types/base.d.ts +27 -0
  317. package/dist/types/src/internal/common/types/base.d.ts.map +1 -0
  318. package/dist/types/src/internal/common/types/entity.d.ts +94 -0
  319. package/dist/types/src/internal/common/types/entity.d.ts.map +1 -0
  320. package/dist/types/src/internal/common/types/index.d.ts +7 -0
  321. package/dist/types/src/internal/common/types/index.d.ts.map +1 -0
  322. package/dist/types/src/internal/common/types/meta.d.ts +43 -0
  323. package/dist/types/src/internal/common/types/meta.d.ts.map +1 -0
  324. package/dist/types/src/internal/common/types/model-symbols.d.ts +58 -0
  325. package/dist/types/src/internal/common/types/model-symbols.d.ts.map +1 -0
  326. package/dist/types/src/internal/common/types/typename.d.ts +28 -0
  327. package/dist/types/src/internal/common/types/typename.d.ts.map +1 -0
  328. package/dist/types/src/internal/common/types/version.d.ts +15 -0
  329. package/dist/types/src/internal/common/types/version.d.ts.map +1 -0
  330. package/dist/types/src/internal/index.d.ts +10 -14
  331. package/dist/types/src/internal/index.d.ts.map +1 -1
  332. package/dist/types/src/{test → testing}/api.test.d.ts.map +1 -1
  333. package/dist/types/src/testing/index.d.ts +3 -3
  334. package/dist/types/src/testing/index.d.ts.map +1 -1
  335. package/dist/types/src/testing/test-data.d.ts +18 -0
  336. package/dist/types/src/testing/test-data.d.ts.map +1 -0
  337. package/dist/types/src/testing/test-schema.d.ts +298 -0
  338. package/dist/types/src/testing/test-schema.d.ts.map +1 -0
  339. package/dist/types/src/testing/util.d.ts +23 -0
  340. package/dist/types/src/testing/util.d.ts.map +1 -0
  341. package/dist/types/tsconfig.tsbuildinfo +1 -1
  342. package/package.json +117 -66
  343. package/src/Annotation.ts +49 -0
  344. package/src/Collection.ts +36 -0
  345. package/src/Database.ts +356 -0
  346. package/src/Dataset.ts +34 -0
  347. package/src/Entity.test.ts +132 -0
  348. package/src/Entity.ts +332 -0
  349. package/src/Err.ts +40 -0
  350. package/src/Extension.test.ts +235 -0
  351. package/src/Extension.ts +122 -0
  352. package/src/Feed.ts +356 -0
  353. package/src/Filter.test.ts +90 -0
  354. package/src/Filter.ts +507 -0
  355. package/src/Format.ts +9 -0
  356. package/src/Hypergraph.ts +79 -0
  357. package/src/Json.test.ts +175 -0
  358. package/src/Json.ts +103 -0
  359. package/src/JsonSchema.ts +26 -0
  360. package/src/Key.ts +4 -1
  361. package/src/Migration.ts +114 -0
  362. package/src/Obj.test.ts +550 -0
  363. package/src/Obj.ts +754 -267
  364. package/src/Order.ts +46 -0
  365. package/src/Query.test.ts +822 -0
  366. package/src/Query.ts +589 -0
  367. package/src/QueryResult.ts +106 -0
  368. package/src/Ref.ts +98 -10
  369. package/src/Relation.test.ts +88 -0
  370. package/src/Relation.ts +491 -67
  371. package/src/SchemaRegistry.ts +101 -0
  372. package/src/{query/tag.ts → Tag.ts} +15 -12
  373. package/src/Type.test.ts +197 -0
  374. package/src/Type.ts +605 -151
  375. package/src/View.ts +101 -0
  376. package/src/exemplars.test.ts +21 -0
  377. package/src/hierarchy.test.ts +33 -0
  378. package/src/index.ts +23 -6
  379. package/src/internal/Annotation/annotations.test.ts +165 -0
  380. package/src/internal/Annotation/annotations.ts +567 -0
  381. package/src/internal/Annotation/index.ts +7 -0
  382. package/src/internal/Annotation/sorting.ts +51 -0
  383. package/src/internal/Annotation/util.ts +93 -0
  384. package/src/internal/Entity/api.ts +30 -0
  385. package/src/internal/Entity/entity.ts +246 -0
  386. package/src/internal/Entity/index.ts +13 -0
  387. package/src/internal/Entity/model.ts +120 -0
  388. package/src/internal/Entity/object.ts +65 -0
  389. package/src/internal/Entity/relation.ts +179 -0
  390. package/src/internal/Entity/type-kind.ts +67 -0
  391. package/src/internal/Entity/type-uri.ts +87 -0
  392. package/src/internal/Entity/util.ts +34 -0
  393. package/src/internal/Entity/version.ts +96 -0
  394. package/src/internal/{formats → Format}/date.test.ts +1 -2
  395. package/src/internal/{formats → Format}/date.ts +5 -9
  396. package/src/internal/{formats → Format}/format.test.ts +6 -7
  397. package/src/internal/{formats → Format}/format.ts +8 -6
  398. package/src/internal/{formats → Format}/index.ts +2 -3
  399. package/src/internal/{formats → Format}/number.ts +5 -5
  400. package/src/internal/{formats → Format}/object.ts +4 -4
  401. package/src/internal/{formats → Format}/select.ts +6 -4
  402. package/src/internal/{formats → Format}/string.ts +14 -9
  403. package/src/internal/{formats → Format}/types.ts +54 -43
  404. package/src/internal/{json → JsonSchema}/annotations.ts +3 -3
  405. package/src/internal/{json-schema → JsonSchema}/index.ts +2 -0
  406. package/src/internal/{json-schema → JsonSchema}/json-schema-normalize.ts +4 -2
  407. package/src/internal/{json-schema → JsonSchema}/json-schema-type.ts +36 -36
  408. package/src/internal/{json → JsonSchema}/json-schema.test.ts +92 -175
  409. package/src/internal/{json → JsonSchema}/json-schema.ts +69 -37
  410. package/src/internal/Obj/clone.ts +52 -0
  411. package/src/internal/{object → Obj}/common.ts +3 -4
  412. package/src/internal/{object/create.test.ts → Obj/create-object.test.ts} +34 -37
  413. package/src/internal/Obj/create-object.ts +135 -0
  414. package/src/internal/Obj/deleted.ts +19 -0
  415. package/src/internal/Obj/index.ts +13 -0
  416. package/src/internal/{object → Obj}/inspect.ts +5 -7
  417. package/src/internal/Obj/json-serializer.test.ts +185 -0
  418. package/src/internal/Obj/json-serializer.ts +260 -0
  419. package/src/internal/{object → Obj}/schema-validator.test.ts +3 -7
  420. package/src/internal/Obj/schema-validator.ts +6 -0
  421. package/src/internal/Obj/set-value.test.ts +258 -0
  422. package/src/internal/Obj/set-value.ts +165 -0
  423. package/src/internal/Obj/snapshot.ts +111 -0
  424. package/src/internal/Obj/typed-object.test.ts +32 -0
  425. package/src/internal/Obj/typed-object.ts +30 -0
  426. package/src/internal/Query.ts +156 -0
  427. package/src/internal/{ref → Ref}/ref-array.ts +4 -5
  428. package/src/internal/{ref → Ref}/ref.test.ts +21 -30
  429. package/src/internal/{ref → Ref}/ref.ts +209 -98
  430. package/src/internal/{projection → Type}/compose.test.ts +9 -9
  431. package/src/internal/{projection → Type}/compose.ts +14 -9
  432. package/src/internal/Type/index.ts +6 -0
  433. package/src/internal/{schema → Type}/manipulation.ts +0 -25
  434. package/src/internal/Type/type-schema.ts +60 -0
  435. package/src/internal/common/README.md +102 -0
  436. package/src/internal/common/api/index.ts +15 -0
  437. package/src/internal/common/api/meta.ts +88 -0
  438. package/src/internal/{testing → common}/index.ts +2 -1
  439. package/src/internal/common/proxy/change-context.ts +138 -0
  440. package/src/internal/common/proxy/change.test.ts +519 -0
  441. package/src/internal/common/proxy/define-hidden-property.ts +14 -0
  442. package/src/internal/common/proxy/errors.ts +42 -0
  443. package/src/internal/common/proxy/event-batch.ts +44 -0
  444. package/src/internal/common/proxy/handler.test.ts +121 -0
  445. package/src/internal/common/proxy/index.ts +17 -0
  446. package/src/internal/common/proxy/json-serializer.ts +93 -0
  447. package/src/internal/common/proxy/make-object.ts +128 -0
  448. package/src/internal/common/proxy/ownership.ts +252 -0
  449. package/src/internal/common/proxy/proxy-types.ts +23 -0
  450. package/src/internal/common/proxy/proxy-utils.ts +150 -0
  451. package/src/internal/common/proxy/reactive-array.ts +71 -0
  452. package/src/internal/common/proxy/reactive.test.ts +54 -0
  453. package/src/internal/common/proxy/reactive.ts +77 -0
  454. package/src/internal/{object → common/proxy}/schema-validator.ts +6 -3
  455. package/src/internal/common/proxy/schema.test.ts +107 -0
  456. package/src/internal/common/proxy/symbols.ts +7 -0
  457. package/src/internal/common/proxy/typed-handler.test.ts +314 -0
  458. package/src/internal/common/proxy/typed-handler.ts +507 -0
  459. package/src/internal/common/proxy/typed-object.test.ts +103 -0
  460. package/src/internal/common/types/base.ts +43 -0
  461. package/src/internal/common/types/entity.ts +133 -0
  462. package/src/internal/common/types/index.ts +10 -0
  463. package/src/internal/common/types/meta.ts +79 -0
  464. package/src/internal/common/types/model-symbols.ts +74 -0
  465. package/src/internal/common/types/typename.ts +91 -0
  466. package/src/internal/common/types/version.ts +19 -0
  467. package/src/internal/index.ts +12 -17
  468. package/src/testing/api.test.ts +129 -0
  469. package/src/testing/index.ts +3 -3
  470. package/src/testing/test-data.ts +189 -0
  471. package/src/testing/test-schema.ts +204 -0
  472. package/src/testing/util.ts +88 -0
  473. package/dist/lib/browser/chunk-HKFCK2GL.mjs +0 -175
  474. package/dist/lib/browser/chunk-HKFCK2GL.mjs.map +0 -7
  475. package/dist/lib/browser/chunk-MAAYELT7.mjs +0 -830
  476. package/dist/lib/browser/chunk-MAAYELT7.mjs.map +0 -7
  477. package/dist/lib/browser/chunk-MB6MMNFP.mjs +0 -3857
  478. package/dist/lib/browser/chunk-MB6MMNFP.mjs.map +0 -7
  479. package/dist/lib/browser/index.mjs +0 -35
  480. package/dist/lib/browser/internal/index.mjs +0 -332
  481. package/dist/lib/browser/meta.json +0 -1
  482. package/dist/lib/browser/query/index.mjs +0 -15
  483. package/dist/lib/browser/testing/index.mjs +0 -298
  484. package/dist/lib/browser/testing/index.mjs.map +0 -7
  485. package/dist/lib/node-esm/chunk-5NWDGIBT.mjs +0 -830
  486. package/dist/lib/node-esm/chunk-5NWDGIBT.mjs.map +0 -7
  487. package/dist/lib/node-esm/chunk-AUAH4E2J.mjs +0 -175
  488. package/dist/lib/node-esm/chunk-AUAH4E2J.mjs.map +0 -7
  489. package/dist/lib/node-esm/chunk-BQRA4VLX.mjs +0 -3857
  490. package/dist/lib/node-esm/chunk-BQRA4VLX.mjs.map +0 -7
  491. package/dist/lib/node-esm/index.mjs +0 -35
  492. package/dist/lib/node-esm/internal/index.mjs +0 -332
  493. package/dist/lib/node-esm/meta.json +0 -1
  494. package/dist/lib/node-esm/query/index.mjs +0 -15
  495. package/dist/lib/node-esm/testing/index.mjs +0 -298
  496. package/dist/lib/node-esm/testing/index.mjs.map +0 -7
  497. package/dist/types/src/errors.d.ts +0 -72
  498. package/dist/types/src/errors.d.ts.map +0 -1
  499. package/dist/types/src/internal/ast/annotation-helper.d.ts +0 -8
  500. package/dist/types/src/internal/ast/annotation-helper.d.ts.map +0 -1
  501. package/dist/types/src/internal/ast/annotations.d.ts +0 -125
  502. package/dist/types/src/internal/ast/annotations.d.ts.map +0 -1
  503. package/dist/types/src/internal/ast/annotations.test.d.ts.map +0 -1
  504. package/dist/types/src/internal/ast/entity-kind.d.ts +0 -10
  505. package/dist/types/src/internal/ast/entity-kind.d.ts.map +0 -1
  506. package/dist/types/src/internal/ast/index.d.ts +0 -5
  507. package/dist/types/src/internal/ast/index.d.ts.map +0 -1
  508. package/dist/types/src/internal/ast/types.d.ts +0 -6
  509. package/dist/types/src/internal/ast/types.d.ts.map +0 -1
  510. package/dist/types/src/internal/formats/date.d.ts.map +0 -1
  511. package/dist/types/src/internal/formats/date.test.d.ts.map +0 -1
  512. package/dist/types/src/internal/formats/format.d.ts.map +0 -1
  513. package/dist/types/src/internal/formats/format.test.d.ts.map +0 -1
  514. package/dist/types/src/internal/formats/index.d.ts.map +0 -1
  515. package/dist/types/src/internal/formats/number.d.ts.map +0 -1
  516. package/dist/types/src/internal/formats/object.d.ts.map +0 -1
  517. package/dist/types/src/internal/formats/select.d.ts.map +0 -1
  518. package/dist/types/src/internal/formats/string.d.ts.map +0 -1
  519. package/dist/types/src/internal/formats/types.d.ts.map +0 -1
  520. package/dist/types/src/internal/json/annotations.d.ts.map +0 -1
  521. package/dist/types/src/internal/json/effect-schema.test.d.ts.map +0 -1
  522. package/dist/types/src/internal/json/index.d.ts +0 -2
  523. package/dist/types/src/internal/json/index.d.ts.map +0 -1
  524. package/dist/types/src/internal/json/json-schema.d.ts.map +0 -1
  525. package/dist/types/src/internal/json/json-schema.test.d.ts.map +0 -1
  526. package/dist/types/src/internal/json-schema/index.d.ts +0 -3
  527. package/dist/types/src/internal/json-schema/index.d.ts.map +0 -1
  528. package/dist/types/src/internal/json-schema/json-schema-normalize.d.ts.map +0 -1
  529. package/dist/types/src/internal/json-schema/json-schema-type.d.ts.map +0 -1
  530. package/dist/types/src/internal/object/accessors.d.ts +0 -37
  531. package/dist/types/src/internal/object/accessors.d.ts.map +0 -1
  532. package/dist/types/src/internal/object/common.d.ts.map +0 -1
  533. package/dist/types/src/internal/object/create.d.ts.map +0 -1
  534. package/dist/types/src/internal/object/create.test.d.ts +0 -2
  535. package/dist/types/src/internal/object/create.test.d.ts.map +0 -1
  536. package/dist/types/src/internal/object/deleted.d.ts +0 -6
  537. package/dist/types/src/internal/object/deleted.d.ts.map +0 -1
  538. package/dist/types/src/internal/object/entity.d.ts +0 -33
  539. package/dist/types/src/internal/object/entity.d.ts.map +0 -1
  540. package/dist/types/src/internal/object/expando.d.ts +0 -14
  541. package/dist/types/src/internal/object/expando.d.ts.map +0 -1
  542. package/dist/types/src/internal/object/ids.d.ts +0 -6
  543. package/dist/types/src/internal/object/ids.d.ts.map +0 -1
  544. package/dist/types/src/internal/object/index.d.ts +0 -16
  545. package/dist/types/src/internal/object/index.d.ts.map +0 -1
  546. package/dist/types/src/internal/object/inspect.d.ts.map +0 -1
  547. package/dist/types/src/internal/object/json-serializer.d.ts +0 -32
  548. package/dist/types/src/internal/object/json-serializer.d.ts.map +0 -1
  549. package/dist/types/src/internal/object/json-serializer.test.d.ts.map +0 -1
  550. package/dist/types/src/internal/object/meta.d.ts +0 -31
  551. package/dist/types/src/internal/object/meta.d.ts.map +0 -1
  552. package/dist/types/src/internal/object/model.d.ts +0 -117
  553. package/dist/types/src/internal/object/model.d.ts.map +0 -1
  554. package/dist/types/src/internal/object/relation.d.ts +0 -17
  555. package/dist/types/src/internal/object/relation.d.ts.map +0 -1
  556. package/dist/types/src/internal/object/schema-validator.d.ts.map +0 -1
  557. package/dist/types/src/internal/object/schema-validator.test.d.ts.map +0 -1
  558. package/dist/types/src/internal/object/typed-object.d.ts +0 -31
  559. package/dist/types/src/internal/object/typed-object.d.ts.map +0 -1
  560. package/dist/types/src/internal/object/typed-object.test.d.ts.map +0 -1
  561. package/dist/types/src/internal/object/typename.d.ts +0 -15
  562. package/dist/types/src/internal/object/typename.d.ts.map +0 -1
  563. package/dist/types/src/internal/object/version.d.ts +0 -14
  564. package/dist/types/src/internal/object/version.d.ts.map +0 -1
  565. package/dist/types/src/internal/projection/compose.d.ts +0 -6
  566. package/dist/types/src/internal/projection/compose.d.ts.map +0 -1
  567. package/dist/types/src/internal/projection/compose.test.d.ts.map +0 -1
  568. package/dist/types/src/internal/projection/index.d.ts +0 -2
  569. package/dist/types/src/internal/projection/index.d.ts.map +0 -1
  570. package/dist/types/src/internal/proxy/handler.test.d.ts.map +0 -1
  571. package/dist/types/src/internal/proxy/reactive-object.d.ts +0 -15
  572. package/dist/types/src/internal/proxy/reactive-object.d.ts.map +0 -1
  573. package/dist/types/src/internal/proxy/schema.test.d.ts.map +0 -1
  574. package/dist/types/src/internal/proxy/typed-handler.d.ts +0 -44
  575. package/dist/types/src/internal/proxy/typed-handler.d.ts.map +0 -1
  576. package/dist/types/src/internal/proxy/typed-handler.test.d.ts.map +0 -1
  577. package/dist/types/src/internal/proxy/typed-object.test.d.ts.map +0 -1
  578. package/dist/types/src/internal/query/index.d.ts +0 -2
  579. package/dist/types/src/internal/query/index.d.ts.map +0 -1
  580. package/dist/types/src/internal/query/query.d.ts +0 -17
  581. package/dist/types/src/internal/query/query.d.ts.map +0 -1
  582. package/dist/types/src/internal/ref/index.d.ts.map +0 -1
  583. package/dist/types/src/internal/ref/ref-array.d.ts.map +0 -1
  584. package/dist/types/src/internal/ref/ref.d.ts.map +0 -1
  585. package/dist/types/src/internal/ref/ref.test.d.ts.map +0 -1
  586. package/dist/types/src/internal/schema/echo-schema.d.ts +0 -168
  587. package/dist/types/src/internal/schema/echo-schema.d.ts.map +0 -1
  588. package/dist/types/src/internal/schema/index.d.ts +0 -7
  589. package/dist/types/src/internal/schema/index.d.ts.map +0 -1
  590. package/dist/types/src/internal/schema/manipulation.d.ts.map +0 -1
  591. package/dist/types/src/internal/schema/runtime-schema-registry.d.ts +0 -18
  592. package/dist/types/src/internal/schema/runtime-schema-registry.d.ts.map +0 -1
  593. package/dist/types/src/internal/schema/snapshot.d.ts +0 -6
  594. package/dist/types/src/internal/schema/snapshot.d.ts.map +0 -1
  595. package/dist/types/src/internal/schema/stored-schema.d.ts +0 -13
  596. package/dist/types/src/internal/schema/stored-schema.d.ts.map +0 -1
  597. package/dist/types/src/internal/testing/index.d.ts +0 -3
  598. package/dist/types/src/internal/testing/index.d.ts.map +0 -1
  599. package/dist/types/src/internal/testing/types.d.ts +0 -455
  600. package/dist/types/src/internal/testing/types.d.ts.map +0 -1
  601. package/dist/types/src/internal/testing/utils.d.ts +0 -10
  602. package/dist/types/src/internal/testing/utils.d.ts.map +0 -1
  603. package/dist/types/src/internal/types/index.d.ts +0 -3
  604. package/dist/types/src/internal/types/index.d.ts.map +0 -1
  605. package/dist/types/src/internal/types/types.d.ts +0 -79
  606. package/dist/types/src/internal/types/types.d.ts.map +0 -1
  607. package/dist/types/src/internal/types/types.test.d.ts +0 -2
  608. package/dist/types/src/internal/types/types.test.d.ts.map +0 -1
  609. package/dist/types/src/internal/types/util.d.ts +0 -5
  610. package/dist/types/src/internal/types/util.d.ts.map +0 -1
  611. package/dist/types/src/query/index.d.ts +0 -3
  612. package/dist/types/src/query/index.d.ts.map +0 -1
  613. package/dist/types/src/query/query.d.ts +0 -248
  614. package/dist/types/src/query/query.d.ts.map +0 -1
  615. package/dist/types/src/query/query.test.d.ts +0 -2
  616. package/dist/types/src/query/query.test.d.ts.map +0 -1
  617. package/dist/types/src/query/tag.d.ts +0 -17
  618. package/dist/types/src/query/tag.d.ts.map +0 -1
  619. package/dist/types/src/testing/echo-schema.d.ts +0 -7
  620. package/dist/types/src/testing/echo-schema.d.ts.map +0 -1
  621. package/dist/types/src/testing/types.d.ts +0 -113
  622. package/dist/types/src/testing/types.d.ts.map +0 -1
  623. package/src/errors.ts +0 -18
  624. package/src/internal/ast/annotation-helper.ts +0 -22
  625. package/src/internal/ast/annotations.test.ts +0 -98
  626. package/src/internal/ast/annotations.ts +0 -219
  627. package/src/internal/ast/entity-kind.ts +0 -15
  628. package/src/internal/ast/index.ts +0 -8
  629. package/src/internal/ast/types.ts +0 -17
  630. package/src/internal/json/index.ts +0 -5
  631. package/src/internal/object/accessors.ts +0 -153
  632. package/src/internal/object/create.ts +0 -96
  633. package/src/internal/object/deleted.ts +0 -19
  634. package/src/internal/object/entity.ts +0 -248
  635. package/src/internal/object/expando.ts +0 -21
  636. package/src/internal/object/ids.ts +0 -12
  637. package/src/internal/object/index.ts +0 -19
  638. package/src/internal/object/json-serializer.test.ts +0 -99
  639. package/src/internal/object/json-serializer.ts +0 -225
  640. package/src/internal/object/meta.ts +0 -61
  641. package/src/internal/object/model.ts +0 -170
  642. package/src/internal/object/relation.ts +0 -24
  643. package/src/internal/object/typed-object.test.ts +0 -34
  644. package/src/internal/object/typed-object.ts +0 -88
  645. package/src/internal/object/typename.ts +0 -61
  646. package/src/internal/object/version.ts +0 -22
  647. package/src/internal/projection/index.ts +0 -5
  648. package/src/internal/proxy/handler.test.ts +0 -163
  649. package/src/internal/proxy/reactive-object.ts +0 -108
  650. package/src/internal/proxy/schema.test.ts +0 -136
  651. package/src/internal/proxy/typed-handler.test.ts +0 -102
  652. package/src/internal/proxy/typed-handler.ts +0 -228
  653. package/src/internal/proxy/typed-object.test.ts +0 -100
  654. package/src/internal/query/index.ts +0 -5
  655. package/src/internal/query/query.ts +0 -23
  656. package/src/internal/schema/echo-schema.ts +0 -383
  657. package/src/internal/schema/index.ts +0 -10
  658. package/src/internal/schema/runtime-schema-registry.ts +0 -78
  659. package/src/internal/schema/snapshot.ts +0 -25
  660. package/src/internal/schema/stored-schema.ts +0 -26
  661. package/src/internal/testing/types.ts +0 -211
  662. package/src/internal/testing/utils.ts +0 -54
  663. package/src/internal/types/index.ts +0 -6
  664. package/src/internal/types/types.test.ts +0 -48
  665. package/src/internal/types/types.ts +0 -176
  666. package/src/internal/types/util.ts +0 -9
  667. package/src/query/index.ts +0 -6
  668. package/src/query/query.test.ts +0 -401
  669. package/src/query/query.ts +0 -789
  670. package/src/test/api.test.ts +0 -180
  671. package/src/testing/echo-schema.ts +0 -39
  672. package/src/testing/types.ts +0 -91
  673. /package/dist/lib/{browser/index.mjs.map → neutral/Annotation.mjs.map} +0 -0
  674. /package/dist/lib/{browser/internal/index.mjs.map → neutral/Database.mjs.map} +0 -0
  675. /package/dist/lib/{browser/query/index.mjs.map → neutral/Entity.mjs.map} +0 -0
  676. /package/dist/lib/{node-esm/index.mjs.map → neutral/Err.mjs.map} +0 -0
  677. /package/dist/lib/{node-esm/internal/index.mjs.map → neutral/Extension.mjs.map} +0 -0
  678. /package/dist/lib/{node-esm/query/index.mjs.map → neutral/Feed.mjs.map} +0 -0
  679. /package/dist/types/src/internal/{ast → Annotation}/annotations.test.d.ts +0 -0
  680. /package/dist/types/src/internal/{formats → Format}/date.d.ts +0 -0
  681. /package/dist/types/src/internal/{formats → Format}/date.test.d.ts +0 -0
  682. /package/dist/types/src/internal/{formats → Format}/format.test.d.ts +0 -0
  683. /package/dist/types/src/internal/{formats → Format}/number.d.ts +0 -0
  684. /package/dist/types/src/internal/{formats → Format}/object.d.ts +0 -0
  685. /package/dist/types/src/internal/{json → JsonSchema}/effect-schema.test.d.ts +0 -0
  686. /package/dist/types/src/internal/{json-schema → JsonSchema}/json-schema-normalize.d.ts +0 -0
  687. /package/dist/types/src/internal/{json → JsonSchema}/json-schema.test.d.ts +0 -0
  688. /package/dist/types/src/internal/{object → Obj}/common.d.ts +0 -0
  689. /package/dist/types/src/internal/{object → Obj}/inspect.d.ts +0 -0
  690. /package/dist/types/src/internal/{object → Obj}/json-serializer.test.d.ts +0 -0
  691. /package/dist/types/src/internal/{object → Obj}/schema-validator.test.d.ts +0 -0
  692. /package/dist/types/src/internal/{object → Obj}/typed-object.test.d.ts +0 -0
  693. /package/dist/types/src/internal/{ref → Ref}/index.d.ts +0 -0
  694. /package/dist/types/src/internal/{ref → Ref}/ref.test.d.ts +0 -0
  695. /package/dist/types/src/internal/{projection → Type}/compose.test.d.ts +0 -0
  696. /package/dist/types/src/internal/{proxy → common/proxy}/handler.test.d.ts +0 -0
  697. /package/dist/types/src/internal/{object → common/proxy}/schema-validator.d.ts +0 -0
  698. /package/dist/types/src/internal/{proxy → common/proxy}/schema.test.d.ts +0 -0
  699. /package/dist/types/src/internal/{proxy → common/proxy}/typed-handler.test.d.ts +0 -0
  700. /package/dist/types/src/internal/{proxy → common/proxy}/typed-object.test.d.ts +0 -0
  701. /package/dist/types/src/{test → testing}/api.test.d.ts +0 -0
  702. /package/src/internal/{json → JsonSchema}/effect-schema.test.ts +0 -0
  703. /package/src/internal/{ref → Ref}/index.ts +0 -0
@@ -1,9 +1,15 @@
1
+ import * as Equal from 'effect/Equal';
2
+ import * as Hash from 'effect/Hash';
3
+ import * as Pipeable from 'effect/Pipeable';
1
4
  import * as Schema from 'effect/Schema';
2
5
  import * as SchemaAST from 'effect/SchemaAST';
3
- import { type EncodedReference } from '@dxos/echo-protocol';
4
- import { DXN, ObjectId } from '@dxos/keys';
5
- import { type JsonSchemaType } from '../json-schema';
6
- import type { BaseObject, WithId } from '../types';
6
+ import type * as Types from 'effect/Types';
7
+ import { type CustomInspectFunction, inspectCustom } from '@dxos/debug';
8
+ import { EncodedReference } from '@dxos/echo-protocol';
9
+ import { ObjectId, type URI } from '@dxos/keys';
10
+ import type * as Type from '../../Type';
11
+ import { type AnyEntity, type AnyProperties, type UnknownTypeSchema } from '../common/types';
12
+ import { type JsonSchemaType } from '../JsonSchema';
7
13
  /**
8
14
  * The `$id` and `$ref` fields for an ECHO reference schema.
9
15
  */
@@ -11,7 +17,7 @@ export declare const JSON_SCHEMA_ECHO_REF_ID = "/schemas/echo/ref";
11
17
  export declare const getSchemaReference: (property: JsonSchemaType) => {
12
18
  typename: string;
13
19
  } | undefined;
14
- export declare const createSchemaReference: (typename: string) => JsonSchemaType;
20
+ export declare const createSchemaReference: (typename: string) => Types.DeepMutable<JsonSchemaType>;
15
21
  /**
16
22
  * Runtime type-info for a reference extracted from effect AST.
17
23
  */
@@ -30,14 +36,17 @@ export declare const RefTypeId: unique symbol;
30
36
  /**
31
37
  * Reference Schema.
32
38
  */
33
- export interface Ref$<T extends WithId> extends Schema.SchemaClass<Ref<T>, EncodedReference> {
39
+ export interface RefSchema<T extends AnyEntity> extends Schema.SchemaClass<Ref<T>, EncodedReference> {
34
40
  }
41
+ /**
42
+ * Type of the `Ref` function and extra methods attached to it.
43
+ */
35
44
  export interface RefFn {
36
- <S extends Schema.Schema.Any>(schema: S): Ref$<Schema.Schema.Type<S>>;
45
+ <S extends Type.AnyEntity | UnknownTypeSchema<any, any> = Type.AnyEntity>(schema: S): RefSchema<S extends Type.AnyType ? Type.AnyEntity : S extends Type.AnyObj | Type.AnyRelation ? Type.InstanceType<S> : S extends UnknownTypeSchema<infer A, any> ? A : never>;
37
46
  /**
38
47
  * @returns True if the object is a reference.
39
48
  */
40
- isRef: (obj: any) => obj is Ref<any>;
49
+ isRef: (obj: unknown) => obj is Ref<any>;
41
50
  /**
42
51
  * @returns True if the reference points to the given object id.
43
52
  */
@@ -45,7 +54,7 @@ export interface RefFn {
45
54
  /**
46
55
  * @returns True if the schema is a reference schema.
47
56
  */
48
- isRefSchema: (schema: Schema.Schema<any, any>) => schema is Ref$<any>;
57
+ isRefSchema: (schema: Schema.Schema<any, any>) => schema is RefSchema<any>;
49
58
  /**
50
59
  * @returns True if the schema AST is a reference schema.
51
60
  */
@@ -53,11 +62,12 @@ export interface RefFn {
53
62
  /**
54
63
  * Constructs a reference that points to the given object.
55
64
  */
56
- make: <T extends WithId>(object: T) => Ref<T>;
65
+ make: <T extends AnyEntity>(object: T) => Ref<T>;
57
66
  /**
58
- * Constructs a reference that points to the object specified by the provided DXN.
67
+ * Constructs a reference that points to the object specified by the provided URI
68
+ * (either an `echo:` EchoURI for an object reference or a `dxn:` DXN for a type reference).
59
69
  */
60
- fromDXN: (dxn: DXN) => Ref<any>;
70
+ fromURI: (uri: URI.URI) => Ref<any>;
61
71
  }
62
72
  /**
63
73
  * Schema builder for references.
@@ -67,17 +77,19 @@ export declare const Ref: RefFn;
67
77
  * Represents materialized reference to a target.
68
78
  * This is the data type for the fields marked as ref.
69
79
  */
70
- export interface Ref<T> {
80
+ export interface Ref<T> extends Pipeable.Pipeable {
71
81
  /**
72
- * Target object DXN.
82
+ * Target URI (either an `echo:` EchoURI for an object reference or a `dxn:` DXN for a type reference).
73
83
  */
74
- get dxn(): DXN;
84
+ get uri(): URI.URI;
85
+ /**
86
+ * Returns true if the reference has a target available (inlined or resolver set).
87
+ */
88
+ get isAvailable(): boolean;
75
89
  /**
76
90
  * @returns The reference target.
77
91
  * May return `undefined` if the object is not loaded in the working set.
78
92
  * Accessing this property, even if it returns `undefined` will trigger the object to be loaded to the working set.
79
- *
80
- * @reactive Supports signal subscriptions.
81
93
  */
82
94
  get target(): T | undefined;
83
95
  /**
@@ -90,6 +102,15 @@ export interface Ref<T> {
90
102
  * @returns Promise that will resolves with the target object or undefined if the object is not loaded locally.
91
103
  */
92
104
  tryLoad(): Promise<T | undefined>;
105
+ /**
106
+ * Subscribe to the ref's resolution event.
107
+ * The callback fires when the target object becomes available in the working set
108
+ * (e.g. when its document is loaded after sibling-client mutation).
109
+ * Note: the resolver only schedules a notification when the target is requested
110
+ * via {@link target} while it is not yet loaded.
111
+ * @returns Function that unsubscribes the callback.
112
+ */
113
+ onResolved(callback: () => void): () => void;
93
114
  /**
94
115
  * Do not inline the target object in the reference.
95
116
  * Makes .target unavailable unless the reference is connected to a database context.
@@ -136,24 +157,36 @@ export interface RefResolver {
136
157
  /**
137
158
  * Resolve ref synchronously from the objects in the working set.
138
159
  *
139
- * @param dxn
160
+ * @param uri
140
161
  * @param load If true the resolver should attempt to load the object from disk.
141
162
  * @param onLoad Callback to call when the object is loaded.
142
163
  */
143
- resolveSync(dxn: DXN, load: boolean, onLoad?: () => void): BaseObject | undefined;
164
+ resolveSync(uri: URI.URI, load: boolean, onLoad?: () => void): AnyProperties | undefined;
144
165
  /**
145
166
  * Resolver ref asynchronously.
146
167
  */
147
- resolve(dxn: DXN): Promise<BaseObject | undefined>;
148
- resolveSchema(dxn: DXN): Promise<Schema.Schema.AnyNoContext | undefined>;
168
+ resolve(uri: URI.URI): Promise<AnyProperties | undefined>;
169
+ resolveSchema(uri: URI.URI): Promise<Schema.Schema.AnyNoContext | undefined>;
170
+ /**
171
+ * Resolve the source `Type.AnyEntity` entity for a type URI. Used by
172
+ * deserialization paths (`Obj.fromJSON`) to set the back-reference accessed
173
+ * via `Obj.getType` / `Entity.getType`. Optional — resolvers that only
174
+ * carry raw schemas may leave this unimplemented; the deserializer falls
175
+ * back to leaving the type entity unset.
176
+ */
177
+ resolveType?(uri: URI.URI): Promise<unknown | undefined>;
149
178
  }
150
179
  export declare class RefImpl<T> implements Ref<T> {
151
180
  #private;
152
- constructor(dxn: DXN, target?: T);
181
+ constructor(uri: URI.URI, target?: T);
153
182
  /**
154
183
  * @inheritdoc
155
184
  */
156
- get dxn(): DXN;
185
+ get uri(): URI.URI;
186
+ /**
187
+ * @inheritdoc
188
+ */
189
+ get isAvailable(): boolean;
157
190
  /**
158
191
  * @inheritdoc
159
192
  */
@@ -166,6 +199,10 @@ export declare class RefImpl<T> implements Ref<T> {
166
199
  * @inheritdoc
167
200
  */
168
201
  tryLoad(): Promise<T | undefined>;
202
+ /**
203
+ * @inheritdoc
204
+ */
205
+ onResolved(callback: () => void): () => void;
169
206
  /**
170
207
  * Do not inline the target object in the reference.
171
208
  * Makes .target unavailable unless the reference is connected to a database context.
@@ -181,9 +218,20 @@ export declare class RefImpl<T> implements Ref<T> {
181
218
  */
182
219
  toJSON(): EncodedReference;
183
220
  toString(): string;
221
+ [inspectCustom]: CustomInspectFunction;
184
222
  [RefTypeId]: {
185
223
  _T: any;
186
224
  };
225
+ /**
226
+ * Effect Hash trait. Required for MutableHashMap-based caches (e.g., Atom.family)
227
+ * to deduplicate Ref instances that point to the same object.
228
+ * ECHO proxies return new RefImpl instances on every property access,
229
+ * so without this, each access would create a separate cache entry.
230
+ */
231
+ [Hash.symbol](): number;
232
+ /** Effect Equal trait. See {@link Hash.symbol} for rationale. */
233
+ [Equal.symbol](that: Equal.Equal): boolean;
234
+ pipe(): unknown;
187
235
  }
188
236
  /**
189
237
  * Internal API for setting the reference resolver.
@@ -192,15 +240,15 @@ export declare const setRefResolver: (ref: Ref<any>, resolver: RefResolver) => v
192
240
  /**
193
241
  * Internal API for getting the saved target on a reference.
194
242
  */
195
- export declare const getRefSavedTarget: (ref: Ref<any>) => BaseObject | undefined;
243
+ export declare const getRefSavedTarget: (ref: Ref<any>) => AnyProperties | undefined;
196
244
  export declare const refFromEncodedReference: (encodedReference: EncodedReference, resolver?: RefResolver) => Ref<any>;
197
245
  export declare class StaticRefResolver implements RefResolver {
198
- objects: Map<string, BaseObject>;
199
- schemas: Map<DXN.String, Schema.Schema.AnyNoContext>;
200
- addObject(obj: BaseObject): this;
201
- addSchema(schema: Schema.Schema.AnyNoContext): this;
202
- resolveSync(dxn: DXN, _load: boolean, _onLoad?: () => void): BaseObject | undefined;
203
- resolve(dxn: DXN): Promise<BaseObject | undefined>;
204
- resolveSchema(dxn: DXN): Promise<Schema.Schema.AnyNoContext | undefined>;
246
+ objects: Map<string, AnyProperties>;
247
+ schemas: Map<URI.URI, Schema.Schema.AnyNoContext>;
248
+ addObject(obj: AnyProperties): this;
249
+ addSchema(input: Type.AnyEntity): this;
250
+ resolveSync(uri: URI.URI, _load: boolean, _onLoad?: () => void): AnyProperties | undefined;
251
+ resolve(uri: URI.URI): Promise<AnyProperties | undefined>;
252
+ resolveSchema(uri: URI.URI): Promise<Schema.Schema.AnyNoContext | undefined>;
205
253
  }
206
254
  //# 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 @@
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 '../JsonSchema';
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/Type/compose.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,KAAK,KAAK,MAAM,cAAc,CAAC;AAI3C,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,eAAe,CAAC;AAEpD;;GAEG;AAGH,eAAO,MAAM,aAAa,WAChB,KAAK,CAAC,OAAO,CAAC,cAAc,CAAC,UAC7B,KAAK,CAAC,OAAO,CAAC,cAAc,CAAC,KACpC,KAAK,CAAC,OAAO,CAAC,cAAc,CAsB9B,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"compose.test.d.ts","sourceRoot":"","sources":["../../../../../src/internal/Type/compose.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,3 @@
1
+ export * from './manipulation';
2
+ export * from './type-schema';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/internal/Type/index.ts"],"names":[],"mappings":"AAIA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,eAAe,CAAC"}
@@ -6,5 +6,4 @@ export declare const updateFieldNameInSchema: (schema: Schema.Schema.AnyNoContex
6
6
  before: PropertyKey;
7
7
  after: PropertyKey;
8
8
  }) => Schema.Schema.AnyNoContext;
9
- export declare const setTypenameInSchema: (schema: Schema.Schema.AnyNoContext, typename: string) => Schema.Schema.AnyNoContext;
10
9
  //# sourceMappingURL=manipulation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"manipulation.d.ts","sourceRoot":"","sources":["../../../../../src/internal/Type/manipulation.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAMxC,eAAO,MAAM,iBAAiB,WACpB,MAAM,CAAC,MAAM,CAAC,YAAY,UAC1B,MAAM,CAAC,MAAM,CAAC,MAAM,KAC3B,MAAM,CAAC,MAAM,CAAC,YAKhB,CAAC;AAEF,eAAO,MAAM,oBAAoB,WACvB,MAAM,CAAC,MAAM,CAAC,YAAY,UAC1B,MAAM,CAAC,MAAM,CAAC,MAAM,KAC3B,MAAM,CAAC,MAAM,CAAC,YAgBhB,CAAC;AAEF,eAAO,MAAM,sBAAsB,WACzB,MAAM,CAAC,MAAM,CAAC,YAAY,cACtB,MAAM,EAAE,KACnB,MAAM,CAAC,MAAM,CAAC,YAEhB,CAAC;AAEF,eAAO,MAAM,uBAAuB,WAC1B,MAAM,CAAC,MAAM,CAAC,YAAY,qBACf;IAAE,MAAM,EAAE,WAAW,CAAC;IAAC,KAAK,EAAE,WAAW,CAAA;CAAE,KAC7D,MAAM,CAAC,MAAM,CAAC,YAehB,CAAC"}
@@ -0,0 +1,52 @@
1
+ import * as Schema from 'effect/Schema';
2
+ import { EntityKind, KindId, SchemaKindId, StaticTypeSchemaSlot } from '../common/types';
3
+ import { EchoTypeKindSchema } from '../Entity';
4
+ import { JsonSchemaType } from '../JsonSchema';
5
+ /**
6
+ * Raw struct backing {@link TypeSchema}. Exposed only so `TypeSchema`
7
+ * (the TS type) can derive its data fields via `Schema.Schema.Type<typeof ...>`;
8
+ * runtime callers should use {@link TypeSchema} (the piped, branded entity).
9
+ *
10
+ * `typename` and `version` are NOT data fields — they live in `ObjectMeta.key` /
11
+ * `ObjectMeta.version` (the canonical registry-provenance pair, queryable via
12
+ * `Filter.key(...)`). The same `jsonSchema` payload also embeds them so a
13
+ * standalone JSON-Schema export remains self-describing, but the schema-registry
14
+ * reads/writes them through meta.
15
+ */
16
+ declare const TypeSchemaStruct: Schema.Struct<{
17
+ name: Schema.optional<typeof Schema.String>;
18
+ jsonSchema: Schema.Schema<JsonSchemaType, JsonSchemaType, never>;
19
+ }>;
20
+ /**
21
+ * Persistent representation of a schema.
22
+ */
23
+ export declare const TypeSchema: EchoTypeKindSchema<Schema.Struct<{
24
+ name: Schema.optional<typeof Schema.String>;
25
+ jsonSchema: Schema.Schema<JsonSchemaType, JsonSchemaType, never>;
26
+ }>, Readonly<{
27
+ name: Schema.optional<typeof Schema.String>;
28
+ jsonSchema: Schema.Schema<JsonSchemaType, JsonSchemaType, never>;
29
+ }>>;
30
+ /**
31
+ * Persistent representation of a schema — the runtime shape that
32
+ * `db.add(Type.makeObjectFromJsonSchema(...))` / `db.schemaRegistry.register([...])` produces
33
+ * and `Filter.type(Type.Type).run()` returns.
34
+ *
35
+ * Structurally identical to a static `Type.Type` entity: the entity-handler's
36
+ * `get` trap exposes `[SchemaKindId]` (derived from `system.kind` and
37
+ * `data.jsonSchema.entityKind`) and rebuilds `[StaticTypeSchemaSlot]` lazily
38
+ * from `jsonSchema`, so a persisted instance satisfies the public `Type<A>`
39
+ * interface without casting.
40
+ */
41
+ export type TypeSchema = Schema.Schema.Type<typeof TypeSchemaStruct> & {
42
+ /** Object identifier — injected by `EchoTypeKindSchema` and stamped at construction. */
43
+ readonly id: string;
44
+ /** Entity-kind discriminator (object/relation/type) carried on every entity instance. */
45
+ readonly [KindId]: EntityKind.Type;
46
+ /** Kind of schema described by this meta-instance — always `EntityKind.Type` for `Type.Type` itself. */
47
+ readonly [SchemaKindId]: EntityKind.Type;
48
+ /** Effect Schema rebuilt lazily from `jsonSchema`; satisfies `Type.getSchema(...)` without an extra cast. */
49
+ readonly [StaticTypeSchemaSlot]: Schema.Schema.AnyNoContext;
50
+ };
51
+ export {};
52
+ //# sourceMappingURL=type-schema.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"type-schema.d.ts","sourceRoot":"","sources":["../../../../../src/internal/Type/type-schema.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAGxC,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,YAAY,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AACzF,OAAO,EAAE,kBAAkB,EAAqB,MAAM,WAAW,CAAC;AAClE,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAE/C;;;;;;;;;;GAUG;AACH,QAAA,MAAM,gBAAgB;;;EAGpB,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,UAAU;;;;;;GAOtB,CAAC;AAEF;;;;;;;;;;GAUG;AACH,MAAM,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,gBAAgB,CAAC,GAAG;IACrE,wFAAwF;IACxF,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,yFAAyF;IACzF,QAAQ,CAAC,CAAC,MAAM,CAAC,EAAE,UAAU,CAAC,IAAI,CAAC;IACnC,wGAAwG;IACxG,QAAQ,CAAC,CAAC,YAAY,CAAC,EAAE,UAAU,CAAC,IAAI,CAAC;IACzC,6GAA6G;IAC7G,QAAQ,CAAC,CAAC,oBAAoB,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC;CAC7D,CAAC"}
@@ -0,0 +1,11 @@
1
+ /**
2
+ * Shared API helpers for Obj and Relation modules.
3
+ * These implementations use generic Entity types.
4
+ * Obj and Relation modules re-export with strongly-typed signatures.
5
+ *
6
+ * TODO(wittjosiah): Could this become the new "internal" where we slowly refactor
7
+ * existing internal modules into here? This would provide a cleaner boundary
8
+ * and prevent external packages from using internals directly.
9
+ */
10
+ export * from './meta';
11
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/internal/common/api/index.ts"],"names":[],"mappings":"AAIA;;;;;;;;GAQG;AAEH,cAAc,QAAQ,CAAC"}
@@ -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 @@
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,19 @@
1
+ import type * as Schema from 'effect/Schema';
2
+ import { type AnyProperties, KindId, type ObjectMeta, SchemaKindId, StaticTypeSchemaSlot } from '../types';
3
+ import { TypeSource } from './typed-handler';
4
+ /**
5
+ *
6
+ */
7
+ export type MakeObjectProps<T extends AnyProperties> = Omit<T, 'id' | KindId | SchemaKindId | StaticTypeSchemaSlot>;
8
+ /**
9
+ * Creates a reactive object from a plain Javascript object.
10
+ * Requires a TS-effect schema.
11
+ *
12
+ * Callers that have a `Type.Type` entity (not a raw schema) must unwrap it
13
+ * themselves — `Obj.make` / `Relation.make` do this via `Type.getSchema(...)`
14
+ * and pass the entity through as `typeSource` so the instance carries a
15
+ * back-reference for `Obj.getType` and resolves the live source schema
16
+ * uniformly via the entity's `[StaticTypeSchemaSlot]`.
17
+ */
18
+ export declare const makeObject: <T extends AnyProperties>(schema: Schema.Schema<T, any, never>, obj: NoInfer<MakeObjectProps<T>>, meta?: ObjectMeta, typeSource?: TypeSource) => T;
19
+ //# 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,EACL,KAAK,aAAa,EAClB,MAAM,EAEN,KAAK,UAAU,EAGf,YAAY,EACZ,oBAAoB,EACrB,MAAM,UAAU,CAAC;AAIlB,OAAO,EAAE,UAAU,EAA0D,MAAM,iBAAiB,CAAC;AAErG;;GAEG;AAMH,MAAM,MAAM,eAAe,CAAC,CAAC,SAAS,aAAa,IAAI,IAAI,CAAC,CAAC,EAAE,IAAI,GAAG,MAAM,GAAG,YAAY,GAAG,oBAAoB,CAAC,CAAC;AAEpH;;;;;;;;;GASG;AAKH,eAAO,MAAM,UAAU,GAAI,CAAC,SAAS,aAAa,UACxC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,GAAG,EAAE,KAAK,CAAC,OAC/B,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,SACzB,UAAU,eACJ,UAAU,KACtB,CAGF,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