@dxos/echo 0.8.4-main.3eb6e50203 → 0.8.4-main.3fbcb4aa9b

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 (563) hide show
  1. package/README.md +4 -4
  2. package/dist/lib/neutral/Annotation.mjs +7 -3
  3. package/dist/lib/neutral/Database.mjs +8 -4
  4. package/dist/lib/neutral/Entity.mjs +24 -14
  5. package/dist/lib/neutral/Err.mjs +1 -1
  6. package/dist/lib/neutral/Extension.mjs +18 -0
  7. package/dist/lib/neutral/Extension.mjs.map +7 -0
  8. package/dist/lib/neutral/Feed.mjs +50 -0
  9. package/dist/lib/neutral/Feed.mjs.map +7 -0
  10. package/dist/lib/neutral/Filter.mjs +21 -10
  11. package/dist/lib/neutral/Format.mjs +3 -3
  12. package/dist/lib/neutral/JsonSchema.mjs +9 -9
  13. package/dist/lib/neutral/Key.mjs +1 -1
  14. package/dist/lib/neutral/Migration.mjs +17 -0
  15. package/dist/lib/neutral/Migration.mjs.map +7 -0
  16. package/dist/lib/neutral/Obj.mjs +26 -17
  17. package/dist/lib/neutral/Order.mjs +1 -1
  18. package/dist/lib/neutral/Query.mjs +21 -9
  19. package/dist/lib/neutral/QueryResult.mjs +1 -1
  20. package/dist/lib/neutral/Ref.mjs +9 -7
  21. package/dist/lib/neutral/Relation.mjs +23 -13
  22. package/dist/lib/neutral/SchemaRegistry.mjs +1 -1
  23. package/dist/lib/neutral/Tag.mjs +14 -10
  24. package/dist/lib/neutral/Type.mjs +13 -23
  25. package/dist/lib/neutral/{chunk-N2QNHMT5.mjs → chunk-44HT3MEC.mjs} +2 -2
  26. package/dist/lib/neutral/{chunk-N2QNHMT5.mjs.map → chunk-44HT3MEC.mjs.map} +1 -1
  27. package/dist/lib/neutral/{chunk-XAJMXQ4H.mjs → chunk-5SL5LDLD.mjs} +6 -2
  28. package/dist/lib/neutral/chunk-5SL5LDLD.mjs.map +7 -0
  29. package/dist/lib/neutral/chunk-6VIJV543.mjs +34 -0
  30. package/dist/lib/neutral/chunk-6VIJV543.mjs.map +7 -0
  31. package/dist/lib/neutral/{chunk-ANHVGJI4.mjs → chunk-7RVZT53K.mjs} +1 -1
  32. package/dist/lib/neutral/{chunk-4L6DOFXP.mjs → chunk-BICZKPQG.mjs} +1 -1
  33. package/dist/lib/neutral/{chunk-4L6DOFXP.mjs.map → chunk-BICZKPQG.mjs.map} +1 -1
  34. package/dist/lib/neutral/{chunk-B4FLOYG7.mjs → chunk-FHYIM4RD.mjs} +18 -20
  35. package/dist/lib/neutral/chunk-FHYIM4RD.mjs.map +7 -0
  36. package/dist/lib/neutral/chunk-FZHVQEHN.mjs +81 -0
  37. package/dist/lib/neutral/chunk-FZHVQEHN.mjs.map +7 -0
  38. package/dist/lib/neutral/chunk-GWFFC34K.mjs +50 -0
  39. package/dist/lib/neutral/chunk-GWFFC34K.mjs.map +7 -0
  40. package/dist/lib/neutral/{chunk-EXAYCLIM.mjs → chunk-HPNQTEEQ.mjs} +5 -5
  41. package/dist/lib/neutral/chunk-HPNQTEEQ.mjs.map +7 -0
  42. package/dist/lib/neutral/{chunk-YPIP3WGI.mjs → chunk-LVGOVFDV.mjs} +40 -12
  43. package/dist/lib/neutral/chunk-LVGOVFDV.mjs.map +7 -0
  44. package/dist/lib/neutral/chunk-MPAI2MHO.mjs +346 -0
  45. package/dist/lib/neutral/chunk-MPAI2MHO.mjs.map +7 -0
  46. package/dist/lib/neutral/{chunk-KB7RIVLK.mjs → chunk-N4B7FHQT.mjs} +4 -4
  47. package/dist/lib/neutral/{chunk-KB7RIVLK.mjs.map → chunk-N4B7FHQT.mjs.map} +2 -2
  48. package/dist/lib/neutral/chunk-O5LRY6CO.mjs +734 -0
  49. package/dist/lib/neutral/chunk-O5LRY6CO.mjs.map +7 -0
  50. package/dist/lib/neutral/{chunk-VYEWMV5U.mjs → chunk-QGMIH2SN.mjs} +8 -4
  51. package/dist/lib/neutral/chunk-QGMIH2SN.mjs.map +7 -0
  52. package/dist/lib/neutral/chunk-QXIANHKU.mjs +206 -0
  53. package/dist/lib/neutral/chunk-QXIANHKU.mjs.map +7 -0
  54. package/dist/lib/neutral/{chunk-UMECVTXM.mjs → chunk-RF7ZBZ4A.mjs} +72 -5
  55. package/dist/lib/neutral/chunk-RF7ZBZ4A.mjs.map +7 -0
  56. package/dist/lib/neutral/chunk-S7IMFVTB.mjs +132 -0
  57. package/dist/lib/neutral/chunk-S7IMFVTB.mjs.map +7 -0
  58. package/dist/lib/neutral/chunk-SJKBWMJY.mjs +2436 -0
  59. package/dist/lib/neutral/chunk-SJKBWMJY.mjs.map +7 -0
  60. package/dist/lib/neutral/chunk-SUZMWP3Y.mjs +36 -0
  61. package/dist/lib/neutral/chunk-SUZMWP3Y.mjs.map +7 -0
  62. package/dist/lib/neutral/{chunk-HQXQWXLH.mjs → chunk-SW5CUSBY.mjs} +183 -32
  63. package/dist/lib/neutral/chunk-SW5CUSBY.mjs.map +7 -0
  64. package/dist/lib/neutral/{chunk-RIMHNJ3E.mjs → chunk-TNBK56IN.mjs} +98 -44
  65. package/dist/lib/neutral/chunk-TNBK56IN.mjs.map +7 -0
  66. package/dist/lib/neutral/{chunk-7WE7SBA2.mjs → chunk-TRPZU2HV.mjs} +13 -13
  67. package/dist/lib/neutral/chunk-TRPZU2HV.mjs.map +7 -0
  68. package/dist/lib/neutral/{chunk-ROKO4RKJ.mjs → chunk-TTCSATUD.mjs} +2 -2
  69. package/dist/lib/neutral/chunk-TTCSATUD.mjs.map +7 -0
  70. package/dist/lib/neutral/{chunk-OMUPQMLR.mjs → chunk-V72DY6LU.mjs} +1 -1
  71. package/dist/lib/neutral/chunk-VGKLHHRT.mjs +318 -0
  72. package/dist/lib/neutral/chunk-VGKLHHRT.mjs.map +7 -0
  73. package/dist/lib/neutral/{chunk-TMLVKIMX.mjs → chunk-VYAGNFSJ.mjs} +8 -3
  74. package/dist/lib/neutral/chunk-VYAGNFSJ.mjs.map +7 -0
  75. package/dist/lib/neutral/{chunk-7YWDDFPH.mjs → chunk-WRVRDZDA.mjs} +77 -58
  76. package/dist/lib/neutral/chunk-WRVRDZDA.mjs.map +7 -0
  77. package/dist/lib/neutral/{chunk-MXQJZCPY.mjs → chunk-ZISMEVKD.mjs} +1 -1
  78. package/dist/lib/neutral/chunk-ZISMEVKD.mjs.map +7 -0
  79. package/dist/lib/neutral/index.mjs +51 -28
  80. package/dist/lib/neutral/internal/index.mjs +52 -38
  81. package/dist/lib/neutral/meta.json +1 -1
  82. package/dist/lib/neutral/testing/index.mjs +199 -136
  83. package/dist/lib/neutral/testing/index.mjs.map +3 -3
  84. package/dist/types/src/Annotation.d.ts +3 -3
  85. package/dist/types/src/Annotation.d.ts.map +1 -1
  86. package/dist/types/src/Collection.d.ts +16 -0
  87. package/dist/types/src/Collection.d.ts.map +1 -0
  88. package/dist/types/src/Database.d.ts +20 -35
  89. package/dist/types/src/Database.d.ts.map +1 -1
  90. package/dist/types/src/Dataset.d.ts +19 -0
  91. package/dist/types/src/Dataset.d.ts.map +1 -0
  92. package/dist/types/src/Entity.d.ts +54 -22
  93. package/dist/types/src/Entity.d.ts.map +1 -1
  94. package/dist/types/src/Err.d.ts +18 -18
  95. package/dist/types/src/Err.d.ts.map +1 -1
  96. package/dist/types/src/Extension.d.ts +80 -0
  97. package/dist/types/src/Extension.d.ts.map +1 -0
  98. package/dist/types/src/Extension.test.d.ts +2 -0
  99. package/dist/types/src/Extension.test.d.ts.map +1 -0
  100. package/dist/types/src/Feed.d.ts +182 -0
  101. package/dist/types/src/Feed.d.ts.map +1 -0
  102. package/dist/types/src/Filter.d.ts +34 -5
  103. package/dist/types/src/Filter.d.ts.map +1 -1
  104. package/dist/types/src/Filter.test.d.ts +2 -0
  105. package/dist/types/src/Filter.test.d.ts.map +1 -0
  106. package/dist/types/src/Format.d.ts +3 -3
  107. package/dist/types/src/Format.d.ts.map +1 -1
  108. package/dist/types/src/Hypergraph.d.ts +8 -3
  109. package/dist/types/src/Hypergraph.d.ts.map +1 -1
  110. package/dist/types/src/Json.d.ts +33 -0
  111. package/dist/types/src/Json.d.ts.map +1 -0
  112. package/dist/types/src/Json.test.d.ts +2 -0
  113. package/dist/types/src/Json.test.d.ts.map +1 -0
  114. package/dist/types/src/JsonSchema.d.ts +11 -4
  115. package/dist/types/src/JsonSchema.d.ts.map +1 -1
  116. package/dist/types/src/Migration.d.ts +57 -0
  117. package/dist/types/src/Migration.d.ts.map +1 -0
  118. package/dist/types/src/Obj.d.ts +109 -60
  119. package/dist/types/src/Obj.d.ts.map +1 -1
  120. package/dist/types/src/Order.d.ts.map +1 -1
  121. package/dist/types/src/Query.d.ts +105 -17
  122. package/dist/types/src/Query.d.ts.map +1 -1
  123. package/dist/types/src/Ref.d.ts +58 -10
  124. package/dist/types/src/Ref.d.ts.map +1 -1
  125. package/dist/types/src/Relation.d.ts +86 -40
  126. package/dist/types/src/Relation.d.ts.map +1 -1
  127. package/dist/types/src/SchemaRegistry.d.ts +4 -4
  128. package/dist/types/src/SchemaRegistry.d.ts.map +1 -1
  129. package/dist/types/src/Tag.d.ts +2 -1
  130. package/dist/types/src/Tag.d.ts.map +1 -1
  131. package/dist/types/src/Type.d.ts +51 -180
  132. package/dist/types/src/Type.d.ts.map +1 -1
  133. package/dist/types/src/View.d.ts +68 -0
  134. package/dist/types/src/View.d.ts.map +1 -0
  135. package/dist/types/src/exemplars.test.d.ts +2 -0
  136. package/dist/types/src/exemplars.test.d.ts.map +1 -0
  137. package/dist/types/src/index.d.ts +7 -0
  138. package/dist/types/src/index.d.ts.map +1 -1
  139. package/dist/types/src/internal/{annotations → Annotation}/annotations.d.ts +65 -2
  140. package/dist/types/src/internal/Annotation/annotations.d.ts.map +1 -0
  141. package/dist/types/src/internal/Annotation/annotations.test.d.ts.map +1 -0
  142. package/dist/types/src/internal/Annotation/index.d.ts +4 -0
  143. package/dist/types/src/internal/Annotation/index.d.ts.map +1 -0
  144. package/dist/types/src/internal/{api → Annotation}/sorting.d.ts +1 -1
  145. package/dist/types/src/internal/Annotation/sorting.d.ts.map +1 -0
  146. package/dist/types/src/internal/{annotations → Annotation}/util.d.ts +2 -2
  147. package/dist/types/src/internal/Annotation/util.d.ts.map +1 -0
  148. package/dist/types/src/internal/{api/entity.d.ts → Entity/api.d.ts} +2 -2
  149. package/dist/types/src/internal/Entity/api.d.ts.map +1 -0
  150. package/dist/types/src/internal/{entities → Entity}/entity.d.ts +3 -3
  151. package/dist/types/src/internal/Entity/entity.d.ts.map +1 -0
  152. package/dist/types/src/internal/{entities → Entity}/index.d.ts +2 -0
  153. package/dist/types/src/internal/Entity/index.d.ts.map +1 -0
  154. package/dist/types/src/internal/{entities → Entity}/model.d.ts +2 -26
  155. package/dist/types/src/internal/Entity/model.d.ts.map +1 -0
  156. package/dist/types/src/internal/{entities → Entity}/object.d.ts +2 -2
  157. package/dist/types/src/internal/Entity/object.d.ts.map +1 -0
  158. package/dist/types/src/internal/{entities → Entity}/relation.d.ts +3 -30
  159. package/dist/types/src/internal/Entity/relation.d.ts.map +1 -0
  160. package/dist/types/src/internal/Entity/util.d.ts.map +1 -0
  161. package/dist/types/src/internal/{api → Entity}/version.d.ts +1 -1
  162. package/dist/types/src/internal/Entity/version.d.ts.map +1 -0
  163. package/dist/types/src/internal/Format/date.d.ts.map +1 -0
  164. package/dist/types/src/internal/Format/date.test.d.ts.map +1 -0
  165. package/dist/types/src/internal/Format/format.d.ts.map +1 -0
  166. package/dist/types/src/internal/Format/format.test.d.ts.map +1 -0
  167. package/dist/types/src/internal/Format/index.d.ts.map +1 -0
  168. package/dist/types/src/internal/Format/number.d.ts.map +1 -0
  169. package/dist/types/src/internal/Format/object.d.ts.map +1 -0
  170. package/dist/types/src/internal/Format/select.d.ts.map +1 -0
  171. package/dist/types/src/internal/Format/string.d.ts.map +1 -0
  172. package/dist/types/src/internal/{formats → Format}/types.d.ts +1 -1
  173. package/dist/types/src/internal/Format/types.d.ts.map +1 -0
  174. package/dist/types/src/internal/{json-schema → JsonSchema}/annotations.d.ts +1 -1
  175. package/dist/types/src/internal/JsonSchema/annotations.d.ts.map +1 -0
  176. package/dist/types/src/internal/JsonSchema/effect-schema.test.d.ts.map +1 -0
  177. package/dist/types/src/internal/JsonSchema/index.d.ts.map +1 -0
  178. package/dist/types/src/internal/JsonSchema/json-schema-normalize.d.ts.map +1 -0
  179. package/dist/types/src/internal/{json-schema → JsonSchema}/json-schema-type.d.ts +37 -37
  180. package/dist/types/src/internal/JsonSchema/json-schema-type.d.ts.map +1 -0
  181. package/dist/types/src/internal/{json-schema → JsonSchema}/json-schema.d.ts +1 -1
  182. package/dist/types/src/internal/JsonSchema/json-schema.d.ts.map +1 -0
  183. package/dist/types/src/internal/JsonSchema/json-schema.test.d.ts.map +1 -0
  184. package/dist/types/src/internal/Obj/clone.d.ts.map +1 -0
  185. package/dist/types/src/internal/Obj/common.d.ts.map +1 -0
  186. package/dist/types/src/internal/{object → Obj}/create-object.d.ts +2 -2
  187. package/dist/types/src/internal/Obj/create-object.d.ts.map +1 -0
  188. package/dist/types/src/internal/Obj/create-object.test.d.ts.map +1 -0
  189. package/dist/types/src/internal/{object → Obj}/deleted.d.ts +1 -1
  190. package/dist/types/src/internal/Obj/deleted.d.ts.map +1 -0
  191. package/dist/types/src/internal/Obj/ids.d.ts.map +1 -0
  192. package/dist/types/src/internal/Obj/index.d.ts.map +1 -0
  193. package/dist/types/src/internal/Obj/inspect.d.ts.map +1 -0
  194. package/dist/types/src/internal/{object → Obj}/json-serializer.d.ts +13 -5
  195. package/dist/types/src/internal/Obj/json-serializer.d.ts.map +1 -0
  196. package/dist/types/src/internal/Obj/json-serializer.test.d.ts.map +1 -0
  197. package/dist/types/src/internal/Obj/schema-validator.d.ts +2 -0
  198. package/dist/types/src/internal/Obj/schema-validator.d.ts.map +1 -0
  199. package/dist/types/src/internal/Obj/schema-validator.test.d.ts.map +1 -0
  200. package/dist/types/src/internal/{object → Obj}/set-value.d.ts +2 -2
  201. package/dist/types/src/internal/Obj/set-value.d.ts.map +1 -0
  202. package/dist/types/src/internal/Obj/set-value.test.d.ts.map +1 -0
  203. package/dist/types/src/internal/Obj/snapshot.d.ts.map +1 -0
  204. package/dist/types/src/internal/{object → Obj}/typed-object.d.ts +4 -4
  205. package/dist/types/src/internal/Obj/typed-object.d.ts.map +1 -0
  206. package/dist/types/src/internal/Obj/typed-object.test.d.ts.map +1 -0
  207. package/dist/types/src/internal/Query.d.ts +10 -0
  208. package/dist/types/src/internal/Query.d.ts.map +1 -0
  209. package/dist/types/src/internal/Ref/index.d.ts.map +1 -0
  210. package/dist/types/src/internal/{ref → Ref}/ref-array.d.ts +1 -1
  211. package/dist/types/src/internal/Ref/ref-array.d.ts.map +1 -0
  212. package/dist/types/src/internal/{ref → Ref}/ref.d.ts +15 -2
  213. package/dist/types/src/internal/Ref/ref.d.ts.map +1 -0
  214. package/dist/types/src/internal/Ref/ref.test.d.ts.map +1 -0
  215. package/dist/types/src/internal/{schema → Type}/compose.d.ts +1 -1
  216. package/dist/types/src/internal/Type/compose.d.ts.map +1 -0
  217. package/dist/types/src/internal/Type/compose.test.d.ts.map +1 -0
  218. package/dist/types/src/internal/{schema → Type}/echo-schema.d.ts +7 -7
  219. package/dist/types/src/internal/Type/echo-schema.d.ts.map +1 -0
  220. package/dist/types/src/internal/Type/index.d.ts.map +1 -0
  221. package/dist/types/src/internal/Type/manipulation.d.ts.map +1 -0
  222. package/dist/types/src/internal/{schema → Type}/persistent-schema.d.ts +2 -2
  223. package/dist/types/src/internal/Type/persistent-schema.d.ts.map +1 -0
  224. package/dist/types/src/internal/{api → common/api}/index.d.ts +0 -4
  225. package/dist/types/src/internal/common/api/index.d.ts.map +1 -0
  226. package/dist/types/src/internal/{api → common/api}/meta.d.ts +3 -3
  227. package/dist/types/src/internal/common/api/meta.d.ts.map +1 -0
  228. package/dist/types/src/internal/common/index.d.ts +4 -0
  229. package/dist/types/src/internal/common/index.d.ts.map +1 -0
  230. package/dist/types/src/internal/{proxy → common/proxy}/change-context.d.ts +1 -1
  231. package/dist/types/src/internal/common/proxy/change-context.d.ts.map +1 -0
  232. package/dist/types/src/internal/common/proxy/change.test.d.ts.map +1 -0
  233. package/dist/types/src/internal/common/proxy/define-hidden-property.d.ts.map +1 -0
  234. package/dist/types/src/internal/{proxy → common/proxy}/errors.d.ts +1 -1
  235. package/dist/types/src/internal/common/proxy/errors.d.ts.map +1 -0
  236. package/dist/types/src/internal/common/proxy/event-batch.d.ts.map +1 -0
  237. package/dist/types/src/internal/common/proxy/handler.test.d.ts.map +1 -0
  238. package/dist/types/src/internal/common/proxy/index.d.ts.map +1 -0
  239. package/dist/types/src/internal/common/proxy/json-serializer.d.ts.map +1 -0
  240. package/dist/types/src/internal/common/proxy/make-object.d.ts.map +1 -0
  241. package/dist/types/src/internal/common/proxy/ownership.d.ts.map +1 -0
  242. package/dist/types/src/internal/common/proxy/proxy-types.d.ts.map +1 -0
  243. package/dist/types/src/internal/common/proxy/proxy-utils.d.ts.map +1 -0
  244. package/dist/types/src/internal/{proxy → common/proxy}/reactive-array.d.ts +1 -1
  245. package/dist/types/src/internal/common/proxy/reactive-array.d.ts.map +1 -0
  246. package/dist/types/src/internal/{proxy → common/proxy}/reactive.d.ts +2 -2
  247. package/dist/types/src/internal/{proxy → common/proxy}/reactive.d.ts.map +1 -1
  248. package/dist/types/src/internal/common/proxy/reactive.test.d.ts +2 -0
  249. package/dist/types/src/internal/common/proxy/reactive.test.d.ts.map +1 -0
  250. package/dist/types/src/internal/common/proxy/schema-validator.d.ts.map +1 -0
  251. package/dist/types/src/internal/common/proxy/schema.test.d.ts.map +1 -0
  252. package/dist/types/src/internal/common/proxy/symbols.d.ts.map +1 -0
  253. package/dist/types/src/internal/common/proxy/typed-handler.d.ts.map +1 -0
  254. package/dist/types/src/internal/common/proxy/typed-handler.test.d.ts.map +1 -0
  255. package/dist/types/src/internal/common/proxy/typed-object.test.d.ts.map +1 -0
  256. package/dist/types/src/internal/{types → common/types}/base.d.ts +1 -0
  257. package/dist/types/src/internal/common/types/base.d.ts.map +1 -0
  258. package/dist/types/src/internal/{types → common/types}/entity.d.ts +5 -5
  259. package/dist/types/src/internal/common/types/entity.d.ts.map +1 -0
  260. package/dist/types/src/internal/{types → common/types}/index.d.ts +1 -0
  261. package/dist/types/src/internal/common/types/index.d.ts.map +1 -0
  262. package/dist/types/src/internal/{types → common/types}/meta.d.ts +2 -1
  263. package/dist/types/src/internal/common/types/meta.d.ts.map +1 -0
  264. package/dist/types/src/internal/common/types/model-symbols.d.ts +54 -0
  265. package/dist/types/src/internal/common/types/model-symbols.d.ts.map +1 -0
  266. package/dist/types/src/internal/common/types/typename.d.ts.map +1 -0
  267. package/dist/types/src/internal/{types → common/types}/version.d.ts +2 -2
  268. package/dist/types/src/internal/common/types/version.d.ts.map +1 -0
  269. package/dist/types/src/internal/index.d.ts +9 -10
  270. package/dist/types/src/internal/index.d.ts.map +1 -1
  271. package/dist/types/src/testing/test-data.d.ts +8 -8
  272. package/dist/types/src/testing/test-data.d.ts.map +1 -1
  273. package/dist/types/src/testing/test-schema.d.ts +47 -46
  274. package/dist/types/src/testing/test-schema.d.ts.map +1 -1
  275. package/dist/types/src/testing/util.d.ts.map +1 -1
  276. package/dist/types/tsconfig.tsbuildinfo +1 -1
  277. package/package.json +29 -14
  278. package/src/Annotation.ts +7 -3
  279. package/src/Collection.ts +37 -0
  280. package/src/Database.ts +63 -64
  281. package/src/Dataset.ts +26 -0
  282. package/src/Entity.ts +87 -61
  283. package/src/Err.ts +2 -0
  284. package/src/Extension.test.ts +235 -0
  285. package/src/Extension.ts +122 -0
  286. package/src/Feed.ts +304 -0
  287. package/src/Filter.test.ts +90 -0
  288. package/src/Filter.ts +85 -7
  289. package/src/Format.ts +3 -3
  290. package/src/Hypergraph.ts +9 -4
  291. package/src/Json.test.ts +175 -0
  292. package/src/Json.ts +102 -0
  293. package/src/JsonSchema.ts +14 -4
  294. package/src/Migration.ts +94 -0
  295. package/src/Obj.test.ts +112 -15
  296. package/src/Obj.ts +302 -166
  297. package/src/Order.ts +3 -1
  298. package/src/Query.test.ts +372 -15
  299. package/src/Query.ts +269 -26
  300. package/src/Ref.ts +64 -11
  301. package/src/Relation.test.ts +8 -2
  302. package/src/Relation.ts +183 -147
  303. package/src/SchemaRegistry.ts +5 -4
  304. package/src/Tag.ts +6 -5
  305. package/src/Type.test.ts +10 -10
  306. package/src/Type.ts +70 -303
  307. package/src/View.ts +107 -0
  308. package/src/exemplars.test.ts +21 -0
  309. package/src/index.ts +8 -0
  310. package/src/internal/{annotations → Annotation}/annotations.test.ts +56 -7
  311. package/src/internal/{annotations → Annotation}/annotations.ts +122 -19
  312. package/src/internal/{annotations → Annotation}/index.ts +1 -0
  313. package/src/internal/{api → Annotation}/sorting.ts +2 -4
  314. package/src/internal/{annotations → Annotation}/util.ts +1 -1
  315. package/src/internal/{api/entity.ts → Entity/api.ts} +3 -2
  316. package/src/internal/{entities → Entity}/entity.ts +6 -4
  317. package/src/internal/{entities → Entity}/index.ts +2 -0
  318. package/src/internal/{entities → Entity}/model.ts +13 -42
  319. package/src/internal/{entities → Entity}/object.ts +2 -3
  320. package/src/internal/{entities → Entity}/relation.ts +19 -36
  321. package/src/internal/{api → Entity}/version.ts +2 -2
  322. package/src/internal/{formats → Format}/date.test.ts +1 -2
  323. package/src/internal/{formats → Format}/format.test.ts +1 -2
  324. package/src/internal/{formats → Format}/types.ts +2 -2
  325. package/src/internal/{json-schema → JsonSchema}/annotations.ts +3 -3
  326. package/src/internal/{json-schema → JsonSchema}/json-schema-type.ts +4 -4
  327. package/src/internal/{json-schema → JsonSchema}/json-schema.test.ts +48 -49
  328. package/src/internal/{json-schema → JsonSchema}/json-schema.ts +6 -5
  329. package/src/internal/{object → Obj}/clone.ts +3 -3
  330. package/src/internal/{object → Obj}/common.ts +2 -2
  331. package/src/internal/{object → Obj}/create-object.test.ts +5 -7
  332. package/src/internal/{object → Obj}/create-object.ts +5 -6
  333. package/src/internal/{object → Obj}/deleted.ts +2 -2
  334. package/src/internal/{object → Obj}/inspect.ts +2 -2
  335. package/src/internal/{object → Obj}/json-serializer.test.ts +31 -9
  336. package/src/internal/{object → Obj}/json-serializer.ts +52 -27
  337. package/src/internal/{object → Obj}/schema-validator.ts +1 -1
  338. package/src/internal/{object → Obj}/set-value.test.ts +24 -24
  339. package/src/internal/{object → Obj}/set-value.ts +3 -3
  340. package/src/internal/{object → Obj}/snapshot.ts +35 -23
  341. package/src/internal/{object → Obj}/typed-object.test.ts +3 -3
  342. package/src/internal/{object → Obj}/typed-object.ts +4 -4
  343. package/src/internal/Query.ts +137 -0
  344. package/src/internal/{ref → Ref}/ref-array.ts +1 -2
  345. package/src/internal/{ref → Ref}/ref.test.ts +4 -5
  346. package/src/internal/{ref → Ref}/ref.ts +20 -3
  347. package/src/internal/{schema → Type}/compose.test.ts +5 -6
  348. package/src/internal/{schema → Type}/compose.ts +1 -1
  349. package/src/internal/{schema → Type}/echo-schema.ts +9 -10
  350. package/src/internal/{schema → Type}/manipulation.ts +1 -1
  351. package/src/internal/{schema → Type}/persistent-schema.ts +9 -4
  352. package/src/internal/{README.md → common/README.md} +2 -2
  353. package/src/internal/{api → common/api}/index.ts +0 -4
  354. package/src/internal/{api → common/api}/meta.ts +3 -3
  355. package/src/internal/common/index.ts +7 -0
  356. package/src/internal/{proxy → common/proxy}/change-context.ts +1 -1
  357. package/src/internal/{proxy → common/proxy}/change.test.ts +97 -97
  358. package/src/internal/{proxy → common/proxy}/errors.ts +2 -2
  359. package/src/internal/{proxy → common/proxy}/handler.test.ts +2 -4
  360. package/src/internal/{proxy → common/proxy}/json-serializer.ts +6 -3
  361. package/src/internal/{proxy → common/proxy}/make-object.ts +1 -2
  362. package/src/internal/{proxy → common/proxy}/ownership.ts +0 -1
  363. package/src/internal/{proxy → common/proxy}/reactive-array.ts +1 -1
  364. package/src/internal/common/proxy/reactive.test.ts +54 -0
  365. package/src/internal/{proxy → common/proxy}/reactive.ts +12 -4
  366. package/src/internal/{proxy → common/proxy}/schema.test.ts +10 -10
  367. package/src/internal/{proxy → common/proxy}/typed-handler.test.ts +6 -7
  368. package/src/internal/{proxy → common/proxy}/typed-handler.ts +10 -13
  369. package/src/internal/{proxy → common/proxy}/typed-object.test.ts +5 -6
  370. package/src/internal/{types → common/types}/base.ts +1 -1
  371. package/src/internal/{types → common/types}/entity.ts +2 -2
  372. package/src/internal/{types → common/types}/index.ts +1 -0
  373. package/src/internal/{types → common/types}/meta.ts +3 -1
  374. package/src/internal/common/types/model-symbols.ts +69 -0
  375. package/src/internal/{types → common/types}/version.ts +2 -3
  376. package/src/internal/index.ts +9 -31
  377. package/src/testing/api.test.ts +4 -5
  378. package/src/testing/test-data.ts +157 -98
  379. package/src/testing/test-schema.ts +20 -18
  380. package/dist/lib/neutral/chunk-7WE7SBA2.mjs.map +0 -7
  381. package/dist/lib/neutral/chunk-7YWDDFPH.mjs.map +0 -7
  382. package/dist/lib/neutral/chunk-B4FLOYG7.mjs.map +0 -7
  383. package/dist/lib/neutral/chunk-EXAYCLIM.mjs.map +0 -7
  384. package/dist/lib/neutral/chunk-F6BTBXL7.mjs +0 -171
  385. package/dist/lib/neutral/chunk-F6BTBXL7.mjs.map +0 -7
  386. package/dist/lib/neutral/chunk-HQXQWXLH.mjs.map +0 -7
  387. package/dist/lib/neutral/chunk-MXQJZCPY.mjs.map +0 -7
  388. package/dist/lib/neutral/chunk-RCBBZLVM.mjs +0 -142
  389. package/dist/lib/neutral/chunk-RCBBZLVM.mjs.map +0 -7
  390. package/dist/lib/neutral/chunk-RIMHNJ3E.mjs.map +0 -7
  391. package/dist/lib/neutral/chunk-ROKO4RKJ.mjs.map +0 -7
  392. package/dist/lib/neutral/chunk-TMLVKIMX.mjs.map +0 -7
  393. package/dist/lib/neutral/chunk-UMECVTXM.mjs.map +0 -7
  394. package/dist/lib/neutral/chunk-VJ2H5MOJ.mjs +0 -3905
  395. package/dist/lib/neutral/chunk-VJ2H5MOJ.mjs.map +0 -7
  396. package/dist/lib/neutral/chunk-VYEWMV5U.mjs.map +0 -7
  397. package/dist/lib/neutral/chunk-X2MPMYYN.mjs +0 -13
  398. package/dist/lib/neutral/chunk-X2MPMYYN.mjs.map +0 -7
  399. package/dist/lib/neutral/chunk-XAJMXQ4H.mjs.map +0 -7
  400. package/dist/lib/neutral/chunk-YPIP3WGI.mjs.map +0 -7
  401. package/dist/types/src/internal/annotations/annotations.d.ts.map +0 -1
  402. package/dist/types/src/internal/annotations/annotations.test.d.ts.map +0 -1
  403. package/dist/types/src/internal/annotations/index.d.ts +0 -3
  404. package/dist/types/src/internal/annotations/index.d.ts.map +0 -1
  405. package/dist/types/src/internal/annotations/util.d.ts.map +0 -1
  406. package/dist/types/src/internal/api/annotations.d.ts +0 -23
  407. package/dist/types/src/internal/api/annotations.d.ts.map +0 -1
  408. package/dist/types/src/internal/api/entity.d.ts.map +0 -1
  409. package/dist/types/src/internal/api/index.d.ts.map +0 -1
  410. package/dist/types/src/internal/api/meta.d.ts.map +0 -1
  411. package/dist/types/src/internal/api/sorting.d.ts.map +0 -1
  412. package/dist/types/src/internal/api/version.d.ts.map +0 -1
  413. package/dist/types/src/internal/entities/entity.d.ts.map +0 -1
  414. package/dist/types/src/internal/entities/index.d.ts.map +0 -1
  415. package/dist/types/src/internal/entities/model.d.ts.map +0 -1
  416. package/dist/types/src/internal/entities/object.d.ts.map +0 -1
  417. package/dist/types/src/internal/entities/relation.d.ts.map +0 -1
  418. package/dist/types/src/internal/entities/util.d.ts.map +0 -1
  419. package/dist/types/src/internal/formats/date.d.ts.map +0 -1
  420. package/dist/types/src/internal/formats/date.test.d.ts.map +0 -1
  421. package/dist/types/src/internal/formats/format.d.ts.map +0 -1
  422. package/dist/types/src/internal/formats/format.test.d.ts.map +0 -1
  423. package/dist/types/src/internal/formats/index.d.ts.map +0 -1
  424. package/dist/types/src/internal/formats/number.d.ts.map +0 -1
  425. package/dist/types/src/internal/formats/object.d.ts.map +0 -1
  426. package/dist/types/src/internal/formats/select.d.ts.map +0 -1
  427. package/dist/types/src/internal/formats/string.d.ts.map +0 -1
  428. package/dist/types/src/internal/formats/types.d.ts.map +0 -1
  429. package/dist/types/src/internal/json-schema/annotations.d.ts.map +0 -1
  430. package/dist/types/src/internal/json-schema/effect-schema.test.d.ts.map +0 -1
  431. package/dist/types/src/internal/json-schema/index.d.ts.map +0 -1
  432. package/dist/types/src/internal/json-schema/json-schema-normalize.d.ts.map +0 -1
  433. package/dist/types/src/internal/json-schema/json-schema-type.d.ts.map +0 -1
  434. package/dist/types/src/internal/json-schema/json-schema.d.ts.map +0 -1
  435. package/dist/types/src/internal/json-schema/json-schema.test.d.ts.map +0 -1
  436. package/dist/types/src/internal/object/clone.d.ts.map +0 -1
  437. package/dist/types/src/internal/object/common.d.ts.map +0 -1
  438. package/dist/types/src/internal/object/create-object.d.ts.map +0 -1
  439. package/dist/types/src/internal/object/create-object.test.d.ts.map +0 -1
  440. package/dist/types/src/internal/object/deleted.d.ts.map +0 -1
  441. package/dist/types/src/internal/object/ids.d.ts.map +0 -1
  442. package/dist/types/src/internal/object/index.d.ts.map +0 -1
  443. package/dist/types/src/internal/object/inspect.d.ts.map +0 -1
  444. package/dist/types/src/internal/object/json-serializer.d.ts.map +0 -1
  445. package/dist/types/src/internal/object/json-serializer.test.d.ts.map +0 -1
  446. package/dist/types/src/internal/object/schema-validator.d.ts +0 -2
  447. package/dist/types/src/internal/object/schema-validator.d.ts.map +0 -1
  448. package/dist/types/src/internal/object/schema-validator.test.d.ts.map +0 -1
  449. package/dist/types/src/internal/object/set-value.d.ts.map +0 -1
  450. package/dist/types/src/internal/object/set-value.test.d.ts.map +0 -1
  451. package/dist/types/src/internal/object/snapshot.d.ts.map +0 -1
  452. package/dist/types/src/internal/object/typed-object.d.ts.map +0 -1
  453. package/dist/types/src/internal/object/typed-object.test.d.ts.map +0 -1
  454. package/dist/types/src/internal/proxy/change-context.d.ts.map +0 -1
  455. package/dist/types/src/internal/proxy/change.test.d.ts.map +0 -1
  456. package/dist/types/src/internal/proxy/define-hidden-property.d.ts.map +0 -1
  457. package/dist/types/src/internal/proxy/errors.d.ts.map +0 -1
  458. package/dist/types/src/internal/proxy/event-batch.d.ts.map +0 -1
  459. package/dist/types/src/internal/proxy/handler.test.d.ts.map +0 -1
  460. package/dist/types/src/internal/proxy/index.d.ts.map +0 -1
  461. package/dist/types/src/internal/proxy/json-serializer.d.ts.map +0 -1
  462. package/dist/types/src/internal/proxy/make-object.d.ts.map +0 -1
  463. package/dist/types/src/internal/proxy/ownership.d.ts.map +0 -1
  464. package/dist/types/src/internal/proxy/proxy-types.d.ts.map +0 -1
  465. package/dist/types/src/internal/proxy/proxy-utils.d.ts.map +0 -1
  466. package/dist/types/src/internal/proxy/reactive-array.d.ts.map +0 -1
  467. package/dist/types/src/internal/proxy/schema-validator.d.ts.map +0 -1
  468. package/dist/types/src/internal/proxy/schema.test.d.ts.map +0 -1
  469. package/dist/types/src/internal/proxy/symbols.d.ts.map +0 -1
  470. package/dist/types/src/internal/proxy/typed-handler.d.ts.map +0 -1
  471. package/dist/types/src/internal/proxy/typed-handler.test.d.ts.map +0 -1
  472. package/dist/types/src/internal/proxy/typed-object.test.d.ts.map +0 -1
  473. package/dist/types/src/internal/ref/index.d.ts.map +0 -1
  474. package/dist/types/src/internal/ref/ref-array.d.ts.map +0 -1
  475. package/dist/types/src/internal/ref/ref.d.ts.map +0 -1
  476. package/dist/types/src/internal/ref/ref.test.d.ts.map +0 -1
  477. package/dist/types/src/internal/schema/compose.d.ts.map +0 -1
  478. package/dist/types/src/internal/schema/compose.test.d.ts.map +0 -1
  479. package/dist/types/src/internal/schema/echo-schema.d.ts.map +0 -1
  480. package/dist/types/src/internal/schema/index.d.ts.map +0 -1
  481. package/dist/types/src/internal/schema/manipulation.d.ts.map +0 -1
  482. package/dist/types/src/internal/schema/persistent-schema.d.ts.map +0 -1
  483. package/dist/types/src/internal/types/base.d.ts.map +0 -1
  484. package/dist/types/src/internal/types/entity.d.ts.map +0 -1
  485. package/dist/types/src/internal/types/index.d.ts.map +0 -1
  486. package/dist/types/src/internal/types/meta.d.ts.map +0 -1
  487. package/dist/types/src/internal/types/typename.d.ts.map +0 -1
  488. package/dist/types/src/internal/types/version.d.ts.map +0 -1
  489. package/src/internal/api/annotations.ts +0 -60
  490. /package/dist/lib/neutral/{chunk-ANHVGJI4.mjs.map → chunk-7RVZT53K.mjs.map} +0 -0
  491. /package/dist/lib/neutral/{chunk-OMUPQMLR.mjs.map → chunk-V72DY6LU.mjs.map} +0 -0
  492. /package/dist/types/src/internal/{annotations → Annotation}/annotations.test.d.ts +0 -0
  493. /package/dist/types/src/internal/{entities → Entity}/util.d.ts +0 -0
  494. /package/dist/types/src/internal/{formats → Format}/date.d.ts +0 -0
  495. /package/dist/types/src/internal/{formats → Format}/date.test.d.ts +0 -0
  496. /package/dist/types/src/internal/{formats → Format}/format.d.ts +0 -0
  497. /package/dist/types/src/internal/{formats → Format}/format.test.d.ts +0 -0
  498. /package/dist/types/src/internal/{formats → Format}/index.d.ts +0 -0
  499. /package/dist/types/src/internal/{formats → Format}/number.d.ts +0 -0
  500. /package/dist/types/src/internal/{formats → Format}/object.d.ts +0 -0
  501. /package/dist/types/src/internal/{formats → Format}/select.d.ts +0 -0
  502. /package/dist/types/src/internal/{formats → Format}/string.d.ts +0 -0
  503. /package/dist/types/src/internal/{json-schema → JsonSchema}/effect-schema.test.d.ts +0 -0
  504. /package/dist/types/src/internal/{json-schema → JsonSchema}/index.d.ts +0 -0
  505. /package/dist/types/src/internal/{json-schema → JsonSchema}/json-schema-normalize.d.ts +0 -0
  506. /package/dist/types/src/internal/{json-schema → JsonSchema}/json-schema.test.d.ts +0 -0
  507. /package/dist/types/src/internal/{object → Obj}/clone.d.ts +0 -0
  508. /package/dist/types/src/internal/{object → Obj}/common.d.ts +0 -0
  509. /package/dist/types/src/internal/{object → Obj}/create-object.test.d.ts +0 -0
  510. /package/dist/types/src/internal/{object → Obj}/ids.d.ts +0 -0
  511. /package/dist/types/src/internal/{object → Obj}/index.d.ts +0 -0
  512. /package/dist/types/src/internal/{object → Obj}/inspect.d.ts +0 -0
  513. /package/dist/types/src/internal/{object → Obj}/json-serializer.test.d.ts +0 -0
  514. /package/dist/types/src/internal/{object → Obj}/schema-validator.test.d.ts +0 -0
  515. /package/dist/types/src/internal/{object → Obj}/set-value.test.d.ts +0 -0
  516. /package/dist/types/src/internal/{object → Obj}/snapshot.d.ts +0 -0
  517. /package/dist/types/src/internal/{object → Obj}/typed-object.test.d.ts +0 -0
  518. /package/dist/types/src/internal/{ref → Ref}/index.d.ts +0 -0
  519. /package/dist/types/src/internal/{ref → Ref}/ref.test.d.ts +0 -0
  520. /package/dist/types/src/internal/{schema → Type}/compose.test.d.ts +0 -0
  521. /package/dist/types/src/internal/{schema → Type}/index.d.ts +0 -0
  522. /package/dist/types/src/internal/{schema → Type}/manipulation.d.ts +0 -0
  523. /package/dist/types/src/internal/{proxy → common/proxy}/change.test.d.ts +0 -0
  524. /package/dist/types/src/internal/{proxy → common/proxy}/define-hidden-property.d.ts +0 -0
  525. /package/dist/types/src/internal/{proxy → common/proxy}/event-batch.d.ts +0 -0
  526. /package/dist/types/src/internal/{proxy → common/proxy}/handler.test.d.ts +0 -0
  527. /package/dist/types/src/internal/{proxy → common/proxy}/index.d.ts +0 -0
  528. /package/dist/types/src/internal/{proxy → common/proxy}/json-serializer.d.ts +0 -0
  529. /package/dist/types/src/internal/{proxy → common/proxy}/make-object.d.ts +0 -0
  530. /package/dist/types/src/internal/{proxy → common/proxy}/ownership.d.ts +0 -0
  531. /package/dist/types/src/internal/{proxy → common/proxy}/proxy-types.d.ts +0 -0
  532. /package/dist/types/src/internal/{proxy → common/proxy}/proxy-utils.d.ts +0 -0
  533. /package/dist/types/src/internal/{proxy → common/proxy}/schema-validator.d.ts +0 -0
  534. /package/dist/types/src/internal/{proxy → common/proxy}/schema.test.d.ts +0 -0
  535. /package/dist/types/src/internal/{proxy → common/proxy}/symbols.d.ts +0 -0
  536. /package/dist/types/src/internal/{proxy → common/proxy}/typed-handler.d.ts +0 -0
  537. /package/dist/types/src/internal/{proxy → common/proxy}/typed-handler.test.d.ts +0 -0
  538. /package/dist/types/src/internal/{proxy → common/proxy}/typed-object.test.d.ts +0 -0
  539. /package/dist/types/src/internal/{types → common/types}/typename.d.ts +0 -0
  540. /package/src/internal/{entities → Entity}/util.ts +0 -0
  541. /package/src/internal/{formats → Format}/date.ts +0 -0
  542. /package/src/internal/{formats → Format}/format.ts +0 -0
  543. /package/src/internal/{formats → Format}/index.ts +0 -0
  544. /package/src/internal/{formats → Format}/number.ts +0 -0
  545. /package/src/internal/{formats → Format}/object.ts +0 -0
  546. /package/src/internal/{formats → Format}/select.ts +0 -0
  547. /package/src/internal/{formats → Format}/string.ts +0 -0
  548. /package/src/internal/{json-schema → JsonSchema}/effect-schema.test.ts +0 -0
  549. /package/src/internal/{json-schema → JsonSchema}/index.ts +0 -0
  550. /package/src/internal/{json-schema → JsonSchema}/json-schema-normalize.ts +0 -0
  551. /package/src/internal/{object → Obj}/ids.ts +0 -0
  552. /package/src/internal/{object → Obj}/index.ts +0 -0
  553. /package/src/internal/{object → Obj}/schema-validator.test.ts +0 -0
  554. /package/src/internal/{ref → Ref}/index.ts +0 -0
  555. /package/src/internal/{schema → Type}/index.ts +0 -0
  556. /package/src/internal/{proxy → common/proxy}/define-hidden-property.ts +0 -0
  557. /package/src/internal/{proxy → common/proxy}/event-batch.ts +0 -0
  558. /package/src/internal/{proxy → common/proxy}/index.ts +0 -0
  559. /package/src/internal/{proxy → common/proxy}/proxy-types.ts +0 -0
  560. /package/src/internal/{proxy → common/proxy}/proxy-utils.ts +0 -0
  561. /package/src/internal/{proxy → common/proxy}/schema-validator.ts +0 -0
  562. /package/src/internal/{proxy → common/proxy}/symbols.ts +0 -0
  563. /package/src/internal/{types → common/types}/typename.ts +0 -0
@@ -1,6 +1,14 @@
1
+ import {
2
+ Unknown
3
+ } from "./chunk-SW5CUSBY.mjs";
4
+ import {
5
+ KindId,
6
+ SnapshotKindId
7
+ } from "./chunk-LVGOVFDV.mjs";
1
8
  import {
2
9
  ATTR_RELATION_SOURCE,
3
10
  ATTR_RELATION_TARGET,
11
+ EchoRelationSchema,
4
12
  MetaId,
5
13
  RelationSourceDXNId,
6
14
  RelationSourceId,
@@ -12,38 +20,38 @@ import {
12
20
  deleteKeys,
13
21
  getDXN,
14
22
  getDatabase,
15
- getDescription,
16
23
  getKeys,
17
- getLabel,
18
24
  getMetaChecked,
19
25
  getObjectDXN,
20
26
  getSnapshot,
27
+ getValue,
21
28
  isDeleted,
22
29
  isVersion,
23
30
  makeObject,
24
31
  objectToJSON,
25
32
  removeTag,
26
- setDescription,
27
- setLabel,
28
33
  setValue,
29
34
  sort,
30
35
  sortByLabel,
31
36
  sortByTypename,
32
37
  subscribe,
33
38
  version
34
- } from "./chunk-VJ2H5MOJ.mjs";
39
+ } from "./chunk-SJKBWMJY.mjs";
35
40
  import {
36
41
  ParentId,
42
+ getDescription,
43
+ getLabel,
37
44
  getSchema,
38
45
  getTypeAnnotation,
39
46
  getTypeDXN,
40
- getTypename
41
- } from "./chunk-RIMHNJ3E.mjs";
47
+ getTypename,
48
+ setDescription,
49
+ setLabel
50
+ } from "./chunk-TNBK56IN.mjs";
42
51
  import {
43
52
  EntityKind,
44
- KindId,
45
- SnapshotKindId
46
- } from "./chunk-KB7RIVLK.mjs";
53
+ SchemaKindId
54
+ } from "./chunk-N4B7FHQT.mjs";
47
55
  import {
48
56
  __export
49
57
  } from "./chunk-J5LGTIGS.mjs";
@@ -51,11 +59,12 @@ import {
51
59
  // src/Relation.ts
52
60
  var Relation_exports = {};
53
61
  __export(Relation_exports, {
62
+ Meta: () => Meta,
54
63
  Source: () => Source,
55
64
  Target: () => Target,
56
- VersionTypeId: () => VersionTypeId,
65
+ Unknown: () => Unknown3,
66
+ VersionTypeId: () => VersionTypeId2,
57
67
  addTag: () => addTag2,
58
- change: () => change2,
59
68
  deleteKeys: () => deleteKeys2,
60
69
  getDXN: () => getDXN2,
61
70
  getDatabase: () => getDatabase2,
@@ -71,10 +80,11 @@ __export(Relation_exports, {
71
80
  getTargetDXN: () => getTargetDXN,
72
81
  getTypeDXN: () => getTypeDXN2,
73
82
  getTypename: () => getTypename2,
74
- getValue: () => getValue,
83
+ getValue: () => getValue2,
75
84
  isDeleted: () => isDeleted2,
76
85
  isRelation: () => isRelation,
77
- isVersion: () => isVersion,
86
+ isSnapshot: () => isSnapshot,
87
+ isVersion: () => isVersion2,
78
88
  make: () => make,
79
89
  removeTag: () => removeTag2,
80
90
  setDescription: () => setDescription2,
@@ -85,19 +95,42 @@ __export(Relation_exports, {
85
95
  sortByTypename: () => sortByTypename2,
86
96
  subscribe: () => subscribe2,
87
97
  toJSON: () => toJSON,
98
+ update: () => update,
88
99
  version: () => version2
89
100
  });
101
+ import * as Schema from "effect/Schema";
90
102
  import { raise } from "@dxos/debug";
91
- import { createJsonPath, getValue as getValue$ } from "@dxos/effect";
103
+ import { createJsonPath } from "@dxos/effect";
92
104
  import { assertArgument, invariant } from "@dxos/invariant";
93
105
  import { DXN } from "@dxos/keys";
94
106
  import { assumeType } from "@dxos/util";
95
107
  var __dxlog_file = "/__w/dxos/dxos/packages/core/echo/echo/src/Relation.ts";
108
+ var Unknown3 = Schema.Struct({
109
+ id: Schema.String
110
+ }).pipe(
111
+ Schema.extend(Schema.Record({
112
+ key: Schema.String,
113
+ value: Schema.Unknown
114
+ })),
115
+ // TODO(dmaretskyi): Clean this up.
116
+ // NOTE: The EchoRelationSchema annotation is required for Ref.Ref(Relation.Unknown) to work.
117
+ // The typename/version/source/target only satisfy ECHO schema machinery for reference targets.
118
+ EchoRelationSchema({
119
+ typename: "org.dxos.schema.anyRelation",
120
+ version: "0.0.0",
121
+ source: Unknown,
122
+ target: Unknown
123
+ }),
124
+ (schema) => Object.assign(schema, {
125
+ [SchemaKindId]: schema[SchemaKindId]
126
+ })
127
+ );
96
128
  var Source = RelationSourceId;
97
129
  var Target = RelationTargetId;
98
- var make = (schema, props, meta) => {
130
+ var make = (schema, props) => {
99
131
  assertArgument(getTypeAnnotation(schema)?.kind === EntityKind.Relation, "schema", "Expected a relation schema");
100
132
  assertArgument(props[ParentId] === void 0, "props", "Parent is not allowed for relations");
133
+ let meta = void 0;
101
134
  if (props[MetaId] != null) {
102
135
  meta = props[MetaId];
103
136
  delete props[MetaId];
@@ -118,75 +151,53 @@ var isRelation = (value) => {
118
151
  const kind = value[KindId] ?? value[SnapshotKindId];
119
152
  return kind === EntityKind.Relation;
120
153
  };
154
+ var isSnapshot = (value) => {
155
+ if (typeof value !== "object" || value === null) {
156
+ return false;
157
+ }
158
+ return value[SnapshotKindId] === EntityKind.Relation;
159
+ };
121
160
  var getSourceDXN = (value) => {
122
161
  assertArgument(isRelation(value), "Expected a relation");
123
162
  assumeType(value);
124
163
  const dxn = value[RelationSourceDXNId];
125
- invariant(dxn instanceof DXN, void 0, {
126
- F: __dxlog_file,
127
- L: 190,
128
- S: void 0,
129
- A: [
130
- "dxn instanceof DXN",
131
- ""
132
- ]
133
- });
164
+ invariant(dxn instanceof DXN, void 0, { "~LogMeta": "~LogMeta", F: __dxlog_file, L: 100, S: void 0, A: ["dxn instanceof DXN", ""] });
134
165
  return dxn;
135
166
  };
136
167
  var getTargetDXN = (value) => {
137
168
  assertArgument(isRelation(value), "Expected a relation");
138
169
  assumeType(value);
139
170
  const dxn = value[RelationTargetDXNId];
140
- invariant(dxn instanceof DXN, void 0, {
141
- F: __dxlog_file,
142
- L: 203,
143
- S: void 0,
144
- A: [
145
- "dxn instanceof DXN",
146
- ""
147
- ]
148
- });
171
+ invariant(dxn instanceof DXN, void 0, { "~LogMeta": "~LogMeta", F: __dxlog_file, L: 111, S: void 0, A: ["dxn instanceof DXN", ""] });
149
172
  return dxn;
150
173
  };
151
174
  var getSource = (relation) => {
152
175
  assertArgument(isRelation(relation), "Expected a relation");
153
176
  assumeType(relation);
154
177
  const obj = relation[RelationSourceId];
155
- invariant(obj !== void 0, `Invalid source: ${relation.id}`, {
156
- F: __dxlog_file,
157
- L: 216,
158
- S: void 0,
159
- A: [
160
- "obj !== undefined",
161
- "`Invalid source: ${relation.id}`"
162
- ]
163
- });
178
+ if (obj === void 0) {
179
+ throw new Error(`Relation source could not be resolved.`);
180
+ }
164
181
  return obj;
165
182
  };
166
183
  var getTarget = (relation) => {
167
184
  assertArgument(isRelation(relation), "Expected a relation");
168
185
  assumeType(relation);
169
186
  const obj = relation[RelationTargetId];
170
- invariant(obj !== void 0, `Invalid target: ${relation.id}`, {
171
- F: __dxlog_file,
172
- L: 229,
173
- S: void 0,
174
- A: [
175
- "obj !== undefined",
176
- "`Invalid target: ${relation.id}`"
177
- ]
178
- });
187
+ if (obj === void 0) {
188
+ throw new Error(`Relation target could not be resolved.`);
189
+ }
179
190
  return obj;
180
191
  };
181
- var change2 = (relation, callback) => {
192
+ var update = (relation, callback) => {
182
193
  change(relation, callback);
183
194
  };
184
195
  var getSnapshot2 = getSnapshot;
185
196
  var subscribe2 = (rel, callback) => {
186
197
  return subscribe(rel, callback);
187
198
  };
188
- var getValue = (rel, path) => {
189
- return getValue$(rel, createJsonPath(path));
199
+ var getValue2 = (rel, path) => {
200
+ return getValue(rel, createJsonPath(path));
190
201
  };
191
202
  var setValue2 = setValue;
192
203
  var getDXN2 = (entity) => getDXN(entity);
@@ -194,6 +205,7 @@ var getTypeDXN2 = getTypeDXN;
194
205
  var getSchema2 = getSchema;
195
206
  var getTypename2 = (entity) => getTypename(entity);
196
207
  var getDatabase2 = (entity) => getDatabase(entity);
208
+ var Meta = MetaId;
197
209
  function getMeta(entity) {
198
210
  return getMetaChecked(entity);
199
211
  }
@@ -210,27 +222,32 @@ var toJSON = (entity) => objectToJSON(entity);
210
222
  var sortByLabel2 = sortByLabel;
211
223
  var sortByTypename2 = sortByTypename;
212
224
  var sort2 = (...comparators) => sort(...comparators);
225
+ var VersionTypeId2 = VersionTypeId;
226
+ var isVersion2 = isVersion;
213
227
  var version2 = (entity) => version(entity);
214
228
 
215
229
  export {
230
+ Unknown3 as Unknown,
216
231
  Source,
217
232
  Target,
218
233
  make,
219
234
  isRelation,
235
+ isSnapshot,
220
236
  getSourceDXN,
221
237
  getTargetDXN,
222
238
  getSource,
223
239
  getTarget,
224
- change2 as change,
240
+ update,
225
241
  getSnapshot2 as getSnapshot,
226
242
  subscribe2 as subscribe,
227
- getValue,
243
+ getValue2 as getValue,
228
244
  setValue2 as setValue,
229
245
  getDXN2 as getDXN,
230
246
  getTypeDXN2 as getTypeDXN,
231
247
  getSchema2 as getSchema,
232
248
  getTypename2 as getTypename,
233
249
  getDatabase2 as getDatabase,
250
+ Meta,
234
251
  getMeta,
235
252
  getKeys2 as getKeys,
236
253
  deleteKeys2 as deleteKeys,
@@ -245,7 +262,9 @@ export {
245
262
  sortByLabel2 as sortByLabel,
246
263
  sortByTypename2 as sortByTypename,
247
264
  sort2 as sort,
265
+ VersionTypeId2 as VersionTypeId,
266
+ isVersion2 as isVersion,
248
267
  version2 as version,
249
268
  Relation_exports
250
269
  };
251
- //# sourceMappingURL=chunk-7YWDDFPH.mjs.map
270
+ //# sourceMappingURL=chunk-WRVRDZDA.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/Relation.ts"],
4
+ "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\n// @import-as-namespace\n\nimport * as Schema from 'effect/Schema';\n\nimport { raise } from '@dxos/debug';\nimport type { ForeignKey } from '@dxos/echo-protocol';\nimport { createJsonPath } from '@dxos/effect';\nimport { assertArgument, invariant } from '@dxos/invariant';\nimport { DXN, type ObjectId } from '@dxos/keys';\nimport { assumeType } from '@dxos/util';\n\nimport type * as Database from './Database';\nimport * as Entity from './Entity';\nimport * as internal from './internal';\nimport * as entityInternal from './internal/Entity';\nimport * as Obj from './Obj';\nimport type * as Type from './Type';\n\nexport type Endpoints<Source, Target> = {\n [Source]: Source;\n [Target]: Target;\n};\n\n/**\n * Base type for all ECHO relations.\n * @private\n */\ninterface BaseRelation<Source, Target>\n extends internal.AnyEntity, Endpoints<Source, Target>, Entity.OfKind<internal.EntityKind.Relation> {}\n\n/**\n * Relation with no known properties beyond id, kind, source, and target.\n * Use this when the relation's schema/properties are not known.\n *\n * NOTE: This is a TypeScript type only, not a schema.\n * To validate that a value is an ECHO relation, use `Relation.isRelation`.\n */\nexport interface Unknown extends BaseRelation<Obj.Unknown, Obj.Unknown> {}\n\n/**\n * Runtime Effect schema for any ECHO relation.\n * Use for validation, parsing, or as a reference target for collections.\n * A relation has `id`, source, and target fields plus any additional properties.\n *\n * NOTE: `Schema.is(Type.Relation)` does STRUCTURAL validation only (checks for `id` field).\n * Use `Relation.isRelation()` for proper ECHO instance type guards that check the KindId brand.\n *\n * @example\n * ```ts\n * // Structural type guard (accepts any object with id field)\n * if (Schema.is(Type.Relation)(unknownValue)) { ... }\n *\n * // ECHO instance type guard (checks KindId brand)\n * if (Relation.isRelation(unknownValue)) { ... }\n * ```\n */\n// TODO(dmaretskyi): Change ObjModule.Any to ObjModule.Unknown to have stricter types.\nexport const Unknown: Type.Relation<Unknown, Obj.Any, Obj.Any> = Schema.Struct({\n id: Schema.String,\n}).pipe(\n Schema.extend(Schema.Record({ key: Schema.String, value: Schema.Unknown })),\n // TODO(dmaretskyi): Clean this up.\n // NOTE: The EchoRelationSchema annotation is required for Ref.Ref(Relation.Unknown) to work.\n // The typename/version/source/target only satisfy ECHO schema machinery for reference targets.\n internal.EchoRelationSchema({\n typename: 'org.dxos.schema.anyRelation',\n version: '0.0.0',\n source: Obj.Unknown,\n target: Obj.Unknown,\n }),\n (schema) =>\n Object.assign(schema, {\n [internal.SchemaKindId]: (schema as any)[internal.SchemaKindId],\n }) as unknown as Type.Relation<Unknown, Obj.Any, Obj.Any>,\n);\n\n/**\n * Relation type with specific source and target types.\n */\nexport type OfShape<Source extends Obj.Unknown, Target extends Obj.Unknown, Props> = BaseRelation<Source, Target> &\n Props;\n\n/**\n * Base type for snapshot relations (has SnapshotKindId instead of KindId).\n */\ninterface BaseRelationSnapshot<Source, Target> extends internal.AnyEntity, Endpoints<Source, Target> {\n readonly [Entity.SnapshotKindId]: internal.EntityKind.Relation;\n readonly id: ObjectId;\n}\n\n/**\n * JSON-encoded properties for relations.\n */\nexport interface BaseRelationJson {\n id: string;\n [internal.ATTR_RELATION_SOURCE]: string;\n [internal.ATTR_RELATION_TARGET]: string;\n}\n\n/**\n * Immutable snapshot of an ECHO relation.\n * Branded with SnapshotKindId (not KindId).\n * Property values are frozen at the time the snapshot was created.\n * Returned by getSnapshot() and hooks.\n */\nexport type Snapshot<T extends Unknown = Unknown> = Omit<T, Entity.KindId> &\n BaseRelationSnapshot<Obj.Unknown, Obj.Unknown>;\n\nexport const Source: unique symbol = entityInternal.RelationSourceId as any;\nexport type Source = typeof Source;\n\nexport const Target: unique symbol = entityInternal.RelationTargetId as any;\nexport type Target = typeof Target;\n\n/**\n * Get relation source type.\n */\nexport type SourceOf<A> = A extends Endpoints<infer S, infer _T> ? S : never;\n\n/**\n * Get relation target type.\n */\nexport type TargetOf<A> = A extends Endpoints<infer _S, infer T> ? T : never;\n\n/**\n * Internal props type for relation instance creation.\n */\ntype MakePropsInternal<T extends Unknown> = {\n id?: ObjectId;\n [Meta]?: internal.ObjectMeta;\n [Source]: T[Source];\n [Target]: T[Target];\n} & Entity.Properties<T>;\n\n/**\n * Props type for relation creation with a given schema.\n * Takes a schema type (created with Type.Relation) and extracts the props type.\n */\nexport type MakeProps<S extends Type.AnyRelation> = MakePropsInternal<Schema.Schema.Type<S>>;\n\n/**\n * Creates new relation.\n * @param schema - Relation schema.\n * @param props - Relation properties. Endpoints are passed as [Relation.Source] and [Relation.Target] keys.\n * @param meta - Relation metadata. (deprecated; use [Obj.Meta] instead)\n * @returns\n */\n// NOTE: Writing the definition this way (with generic over schema) makes typescript perfer to infer the type from the first param (this schema) rather than the second param (the props).\n// TODO(dmaretskyi): Move meta into props.\nexport const make = <S extends Type.AnyRelation>(\n schema: S,\n props: NoInfer<MakeProps<S>>,\n): Schema.Schema.Type<S> & Entity.OfKind<typeof Entity.Kind.Relation> => {\n assertArgument(\n internal.getTypeAnnotation(schema)?.kind === internal.EntityKind.Relation,\n 'schema',\n 'Expected a relation schema',\n );\n assertArgument(props[internal.ParentId] === undefined, 'props', 'Parent is not allowed for relations');\n\n let meta: internal.ObjectMeta | undefined = undefined;\n\n if (props[internal.MetaId] != null) {\n meta = props[internal.MetaId] as any;\n delete props[internal.MetaId];\n }\n\n const sourceDXN = internal.getObjectDXN(props[Source]) ?? raise(new Error('Unresolved relation source'));\n const targetDXN = internal.getObjectDXN(props[Target]) ?? raise(new Error('Unresolved relation target'));\n\n (props as any)[internal.RelationSourceDXNId] = sourceDXN;\n (props as any)[internal.RelationTargetDXNId] = targetDXN;\n\n return internal.makeObject<Schema.Schema.Type<S>>(schema, props as any, meta);\n};\n\n/**\n * Type guard for relations.\n * Returns true for both reactive relations and relation snapshots.\n */\nexport const isRelation = (value: unknown): value is Unknown => {\n if (typeof value !== 'object' || value === null) {\n return false;\n }\n if (internal.ATTR_RELATION_SOURCE in value || internal.ATTR_RELATION_TARGET in value) {\n return true;\n }\n\n // Check for reactive relation (KindId) or snapshot (SnapshotKindId).\n const kind = (value as any)[Entity.KindId] ?? (value as any)[Entity.SnapshotKindId];\n return kind === internal.EntityKind.Relation;\n};\n\nexport const isSnapshot = (value: unknown): value is Snapshot => {\n if (typeof value !== 'object' || value === null) {\n return false;\n }\n return (value as any)[Entity.SnapshotKindId] === internal.EntityKind.Relation;\n};\n\n/**\n * @returns Relation source DXN.\n * Accepts both reactive relations and snapshots.\n * @throws If the object is not a relation.\n */\nexport const getSourceDXN = (value: Unknown | Snapshot): DXN => {\n assertArgument(isRelation(value), 'Expected a relation');\n assumeType<internal.InternalObjectProps>(value);\n const dxn = (value as internal.InternalObjectProps)[internal.RelationSourceDXNId];\n invariant(dxn instanceof DXN);\n return dxn;\n};\n\n/**\n * @returns Relation target DXN.\n * Accepts both reactive relations and snapshots.\n * @throws If the object is not a relation.\n */\nexport const getTargetDXN = (value: Unknown | Snapshot): DXN => {\n assertArgument(isRelation(value), 'Expected a relation');\n assumeType<internal.InternalObjectProps>(value);\n const dxn = (value as internal.InternalObjectProps)[internal.RelationTargetDXNId];\n invariant(dxn instanceof DXN);\n return dxn;\n};\n\n/**\n * @returns Relation source.\n * Accepts both reactive relations and snapshots.\n * @throws If the object is not a relation.\n */\nexport const getSource = <T extends Unknown | Snapshot>(relation: T): SourceOf<T> => {\n assertArgument(isRelation(relation), 'Expected a relation');\n assumeType<internal.InternalObjectProps>(relation);\n const obj = (relation as internal.InternalObjectProps)[internal.RelationSourceId];\n if (obj === undefined) {\n throw new Error(`Relation source could not be resolved.`);\n }\n return obj as SourceOf<T>;\n};\n\n/**\n * @returns Relation target.\n * Accepts both reactive relations and snapshots.\n * @throws If the object is not a relation.\n */\nexport const getTarget = <T extends Unknown | Snapshot>(relation: T): TargetOf<T> => {\n assertArgument(isRelation(relation), 'Expected a relation');\n assumeType<internal.InternalObjectProps>(relation);\n const obj = (relation as internal.InternalObjectProps)[internal.RelationTargetId];\n if (obj === undefined) {\n throw new Error(`Relation target could not be resolved.`);\n }\n return obj as TargetOf<T>;\n};\n\n//\n// Change\n//\n\n/**\n * Makes all properties mutable recursively.\n * Used to provide a mutable view of a relation within `Relation.update`.\n */\nexport type Mutable<T> = internal.Mutable<T>;\n\n/**\n * Perform mutations on an echo relation within a controlled context.\n *\n * All mutations within the callback are batched and trigger a single notification\n * when the callback completes. Direct mutations outside of `Relation.update` will throw\n * an error for echo relations.\n *\n * @param relation - The echo relation to mutate. Use `Obj.update` for objects.\n * @param callback - The callback that performs mutations on the relation.\n *\n * @example\n * ```ts\n * const worksFor = Relation.make(EmployedBy, {\n * [Relation.Source]: person,\n * [Relation.Target]: company,\n * role: 'Engineer',\n * });\n *\n * // Mutate within Relation.update\n * Relation.update(worksFor, (obj) => {\n * obj.role = 'Senior Engineer';\n * });\n * ```\n *\n * Note: Only accepts relations. Use `Obj.update` for objects.\n */\nexport const update = <T extends Unknown>(relation: T, callback: internal.ChangeCallback<T>): void => {\n internal.change(relation, callback);\n};\n\n//\n// Snapshot\n//\n\n/**\n * Returns an immutable snapshot of a relation.\n * The snapshot is branded with SnapshotKindId instead of KindId,\n * making it distinguishable from the reactive relation at the type level.\n */\nexport const getSnapshot: <T extends Unknown>(rel: T) => Snapshot<T> = internal.getSnapshot as any;\n\n//\n// Subscribe\n//\n\n/**\n * Subscribe to relation updates.\n * The callback is called synchronously when the relation is modified.\n * Only accepts reactive relations (not snapshots).\n * @returns Unsubscribe function.\n */\nexport const subscribe = (rel: Unknown, callback: () => void): (() => void) => {\n return internal.subscribe(rel, callback);\n};\n\n//\n// Property Access\n//\n\n/**\n * Get a deeply nested property from a relation.\n * Accepts both reactive relations and snapshots.\n */\nexport const getValue = (rel: Unknown | Snapshot, path: readonly (string | number)[]): any => {\n return internal.getValue(rel, createJsonPath(path));\n};\n\n/**\n * Set a deeply nested property on a relation.\n * Must be called within a `Relation.update` callback.\n *\n * NOTE: TypeScript's structural typing allows readonly objects to be passed to `Mutable<T>`\n * parameters, so there is no compile-time error. Enforcement is runtime-only.\n */\nexport const setValue: (rel: Mutable<Unknown>, path: readonly (string | number)[], value: any) => void =\n internal.setValue as any;\n\n//\n// Type\n//\n\n/**\n * Get the DXN of the relation.\n * Accepts both reactive relations and snapshots.\n */\nexport const getDXN = (entity: Unknown | Snapshot): DXN => internal.getDXN(entity);\n\n/**\n * @returns The DXN of the relation's type.\n */\nexport const getTypeDXN = internal.getTypeDXN;\n\n/**\n * Get the schema of the relation.\n * Returns the branded ECHO schema used to create the relation.\n */\nexport const getSchema: (rel: unknown | undefined) => Type.AnyEntity | undefined = internal.getSchema as any;\n\n/**\n * @returns The typename of the relation's type.\n * Accepts both reactive relations and snapshots.\n */\nexport const getTypename = (entity: Unknown | Snapshot): string | undefined => internal.getTypename(entity);\n\n//\n// Database\n//\n\n/**\n * Get the database the relation belongs to.\n * Accepts both reactive relations and snapshots.\n */\nexport const getDatabase = (entity: Unknown | Snapshot): Database.Database | undefined => internal.getDatabase(entity);\n\n//\n// Meta\n//\n\n/**\n * Property that accesses metadata for an entity.\n *\n * Alias for `Entity.Meta`.\n */\nexport const Meta = internal.MetaId;\n\n/**\n * Deeply read-only version of ObjectMeta.\n */\nexport type ReadonlyMeta = internal.ReadonlyMeta;\n\n/**\n * Mutable meta type returned by `Relation.getMeta` inside a `Relation.update` callback.\n */\nexport type Meta = internal.Meta;\n\n/**\n * Get the metadata for a relation.\n * Returns mutable meta when passed a mutable relation (inside `Relation.update` callback).\n * Returns read-only meta when passed a regular relation or snapshot.\n */\n// TODO(wittjosiah): When passed a Snapshot, should return a snapshot of meta, not the live meta proxy.\nexport function getMeta(entity: Mutable<Unknown>): Meta;\nexport function getMeta(entity: Unknown | Snapshot): ReadonlyMeta;\nexport function getMeta(entity: Unknown | Snapshot | Mutable<Unknown>): Meta | ReadonlyMeta {\n return internal.getMetaChecked(entity);\n}\n\n/**\n * @returns Foreign keys for the relation from the specified source.\n * Accepts both reactive relations and snapshots.\n */\nexport const getKeys = (entity: Unknown | Snapshot, source: string): ForeignKey[] => internal.getKeys(entity, source);\n\n/**\n * Delete all keys from the relation for the specified source.\n * Must be called within a `Relation.update` callback.\n *\n * NOTE: TypeScript's structural typing allows readonly objects to be passed to `Mutable<T>`\n * parameters, so there is no compile-time error. Enforcement is runtime-only.\n */\nexport const deleteKeys = (entity: Mutable<Unknown>, source: string): void => internal.deleteKeys(entity, source);\n\n/**\n * Add a tag to the relation.\n * Must be called within a `Relation.update` callback.\n *\n * NOTE: TypeScript's structural typing allows readonly objects to be passed to `Mutable<T>`\n * parameters, so there is no compile-time error. Enforcement is runtime-only.\n */\nexport const addTag = (entity: Mutable<Unknown>, tag: string): void => internal.addTag(entity, tag);\n\n/**\n * Remove a tag from the relation.\n * Must be called within a `Relation.update` callback.\n *\n * NOTE: TypeScript's structural typing allows readonly objects to be passed to `Mutable<T>`\n * parameters, so there is no compile-time error. Enforcement is runtime-only.\n */\nexport const removeTag = (entity: Mutable<Unknown>, tag: string): void => internal.removeTag(entity, tag);\n\n/**\n * Check if the relation is deleted.\n * Accepts both reactive relations and snapshots.\n */\nexport const isDeleted = (entity: Unknown | Snapshot): boolean => internal.isDeleted(entity);\n\n//\n// Annotations\n//\n\n/**\n * Get the label of the relation.\n * Accepts both reactive relations and snapshots.\n */\nexport const getLabel = (entity: Unknown | Snapshot): string | undefined => internal.getLabel(entity);\n\n/**\n * Set the label of the relation.\n * Must be called within a `Relation.update` callback.\n *\n * NOTE: TypeScript's structural typing allows readonly objects to be passed to `Mutable<T>`\n * parameters, so there is no compile-time error. Enforcement is runtime-only.\n */\nexport const setLabel = (entity: Mutable<Unknown>, label: string): void => internal.setLabel(entity, label);\n\n/**\n * Get the description of the relation.\n * Accepts both reactive relations and snapshots.\n */\nexport const getDescription = (entity: Unknown | Snapshot): string | undefined => internal.getDescription(entity);\n\n/**\n * Set the description of the relation.\n * Must be called within a `Relation.update` callback.\n *\n * NOTE: TypeScript's structural typing allows readonly objects to be passed to `Mutable<T>`\n * parameters, so there is no compile-time error. Enforcement is runtime-only.\n */\nexport const setDescription = (entity: Mutable<Unknown>, description: string): void =>\n internal.setDescription(entity, description);\n\n//\n// JSON\n//\n\n/**\n * JSON representation of a relation.\n */\nexport type JSON = internal.ObjectJSON;\n\n/**\n * Converts relation to its JSON representation.\n * Accepts both reactive relations and snapshots.\n */\nexport const toJSON = (entity: Unknown | Snapshot): JSON => internal.objectToJSON(entity);\n\n//\n// Sorting\n//\n\n/**\n * Comparator function type for sorting relations.\n * Accepts both reactive relations and snapshots.\n */\nexport type Comparator = internal.Comparator<Unknown | Snapshot>;\n\nexport const sortByLabel: Comparator = internal.sortByLabel as Comparator;\nexport const sortByTypename: Comparator = internal.sortByTypename as Comparator;\nexport const sort = (...comparators: Comparator[]): Comparator => internal.sort(...comparators) as Comparator;\n\n//\n// Version\n//\n\nexport const VersionTypeId = internal.VersionTypeId;\nexport const isVersion = internal.isVersion;\n\n/**\n * Represent relation version.\n */\nexport type Version = internal.EntityVersion;\n\n/**\n * Returns the version of the relation.\n * Accepts both reactive relations and snapshots.\n */\nexport const version = (entity: Unknown | Snapshot): Version => internal.version(entity);\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;;;;iBAAAA;EAAA,qBAAAC;EAAA,cAAAC;EAAA,kBAAAC;EAAA,cAAAC;EAAA,mBAAAC;EAAA,sBAAAC;EAAA,eAAAC;EAAA,gBAAAC;EAAA;mBAAAC;EAAA,mBAAAC;EAAA;;;;oBAAAC;EAAA,mBAAAC;EAAA,gBAAAC;EAAA,iBAAAC;EAAA;;mBAAAC;EAAA;mBAAAC;EAAA,sBAAAC;EAAA,gBAAAC;EAAA,gBAAAC;EAAA,YAAAC;EAAA,mBAAAC;EAAA,sBAAAC;EAAA,iBAAAC;EAAA;;iBAAAC;;AAMA,YAAYC,YAAY;AAExB,SAASC,aAAa;AAEtB,SAASC,sBAAsB;AAC/B,SAASC,gBAAgBC,iBAAiB;AAC1C,SAASC,WAA0B;AACnC,SAASC,kBAAkB;AA8B3B,IAAA,eAAA;AAoBO,IACLC,WAAqBC,cAAO;EAAEC,IAAKF;;EAAsBA,cAAc,cAAA;IAAC,KACxE;IACA,OAAA;EACA,CAAA,CAAA;;;;EAGEG,mBAAS;IACTC,UAAQC;IACRC,SAAQD;IAEV,QACEE;YACGC;;EACH,CAAA,WACF,OAAA,OAAA,QAAA;IAkCK,CAAMC,YAAwBC,GAAAA,OAAeC,YAAwB;EAG5E,CAAA;AAAA;AA6BA,IAAA,SAAA;;AAkBEC,IAAAA,OAAeC,CAAAA,QAAML,UAASM;AAE9B,iBAA4CC,kBAAAA,MAAAA,GAAAA,SAAAA,WAAAA,UAAAA,UAAAA,4BAAAA;AAE5C,iBAAUP,MAAoB,QAAM,MAAA,QAAA,SAAA,qCAAA;MAClCQ,OAAOH;MACP,MAAaL,MAAAA,KAASS,MAAO;AAC/B,WAAA,MAAA,MAAA;AAEA,WAAMC,MAAYV,MAASW;EAC3B;AAECN,QAAcL,YAASY,aAAuBF,MAAAA,MAAAA,CAAAA,KAAAA,MAAAA,IAAAA,MAAAA,4BAAAA,CAAAA;AAC9CL,QAAcL,YAASa,aAAuBC,MAAAA,MAAAA,CAAAA,KAAAA,MAAAA,IAAAA,MAAAA,4BAAAA,CAAAA;AAE/C,QAAOd,mBAA2Ce,IAAQV;AAC1D,QAAA,mBAAA,IAAA;AAEF,SAAA,WAAA,QAAA,OAAA,IAAA;;AAMI,IAAO,aAAA,CAAA,UAAA;AACT,MAAA,OAAA,UAAA,YAAA,UAAA,MAAA;AACIL,WAAAA;;AAEJ,MAAA,wBAAA,SAAA,wBAAA,OAAA;AAEA,WAAA;EACA;AAEA,QAAA,OAAA,MAAA,MAAA,KAAA,MAAA,cAAA;AAEF,SAAO,SAAoBgB,WAAAA;;IAEvB,aAAO,CAAA,UAAA;AACT,MAAA,OAAA,UAAA,YAAA,UAAA,MAAA;AACA,WAAQA;EACR;AAEF,SAAA,MAAA,cAAA,MAAA,WAAA;;AAOEC,IAAyCD,eAAAA,CAAAA,UAAAA;AACzC,iBAAaA,WAAuChB,KAASY,GAAAA,qBAAoB;AACjFM,aAAUC,KAAAA;AACV,QAAA,MAAOA,MAAAA,mBAAAA;AACP,YAAA,eAAA,KAAA,QAAA,EAAA,YAAA,YAAA,GAAA,cAAA,GAAA,KAAA,GAAA,QAAA,GAAA,CAAA,sBAAA,EAAA,EAAA,CAAA;AAEF,SAAA;;AAOEF,IAAyCD,eAAAA,CAAAA,UAAAA;AACzC,iBAAaA,WAAuChB,KAASa,GAAAA,qBAAoB;AACjFK,aAAUC,KAAAA;AACV,QAAA,MAAOA,MAAAA,mBAAAA;AACP,YAAA,eAAA,KAAA,QAAA,EAAA,YAAA,YAAA,GAAA,cAAA,GAAA,KAAA,GAAA,QAAA,GAAA,CAAA,sBAAA,EAAA,EAAA,CAAA;AAEF,SAAA;;AAOEF,IAAyCG,YAAAA,CAAAA,aAAAA;AACzC,iBAAaA,WAA0CpB,QAASG,GAAAA,qBAAiB;AACjF,aAAIkB,QAAQd;QACV,MAAM,SAAW,gBAAA;AACnB,MAAA,QAAA,QAAA;AACA,UAAOc,IAAAA,MAAAA,wCAAAA;EACP;AAEF,SAAA;;AAOEJ,IAAyCG,YAAAA,CAAAA,aAAAA;AACzC,iBAAaA,WAA0CpB,QAASsB,GAAAA,qBAAiB;AACjF,aAAID,QAAQd;QACV,MAAM,SAAW,gBAAA;AACnB,MAAA,QAAA,QAAA;AACA,UAAOc,IAAAA,MAAAA,wCAAAA;EACP;AAYF,SAAA;;AA4BE,IAAA,SAAA,CAAA,UAAA,aAAA;AAEA,EAAA,OAAA,UAAA,QAAA;AACF;AAWA,IAAYE,eAAA;AAWV,IAAAC,aAAA,CAAA,KAAA,aAAA;AAEA,SAAA,UAAA,KAAA,QAAA;AACF;AASE,IAAAC,YAAA,CAAA,KAAA,SAAA;AAEF,SAAA,SAAA,KAAA,eAAA,IAAA,CAAA;;AAWO,IAAAC,YAAA;;;;AA2BI,IAAAC,eAAA,CAAA,WAAA,YAAA,MAAA;AAUJ,IAAAC,eAAA,CAAA,WAAA,YAAA,MAAA;AA6BE5B,IAAAA,OAAS6B;AAClB,SAAA,QAAA,QAAA;AAEA,SAAA,eAAA,MAAA;;;;;;AAwCA,IAAcC,aAAA,CAAA,WAAA,UAAA,MAAA;;;;;AA4DP,IAAMC,SAAAA,CAAAA,WAAsCA,aAA6B,MAAA;AACzE,IAAMC,eAAWC;AAEtB,IAAAF,kBAAA;AACF,IAAUC,QAAA,IAAA,gBAAA,KAAA,GAAA,WAAA;AAWV,IAAAE,iBAAA;;;",
6
+ "names": ["Unknown", "VersionTypeId", "addTag", "deleteKeys", "getDXN", "getDatabase", "getDescription", "getKeys", "getLabel", "getSchema", "getSnapshot", "getTypeDXN", "getTypename", "getValue", "isDeleted", "isVersion", "removeTag", "setDescription", "setLabel", "setValue", "sort", "sortByLabel", "sortByTypename", "subscribe", "version", "Schema", "raise", "createJsonPath", "assertArgument", "invariant", "DXN", "assumeType", "Schema", "Record", "key", "version", "source", "Obj", "target", "Object", "internal", "Source", "entityInternal", "RelationSourceId", "assertArgument", "props", "ParentId", "undefined", "meta", "MetaId", "sourceDXN", "getObjectDXN", "RelationSourceDXNId", "RelationTargetDXNId", "targetDXN", "schema", "value", "assumeType", "invariant", "dxn", "relation", "obj", "RelationTargetId", "getSnapshot", "subscribe", "getValue", "setValue", "getTypename", "getDatabase", "getMetaChecked", "isDeleted", "sortByTypename", "sort", "comparators", "VersionTypeId"]
7
+ }
@@ -48,4 +48,4 @@ export {
48
48
  GetReactiveError,
49
49
  Err_exports
50
50
  };
51
- //# sourceMappingURL=chunk-MXQJZCPY.mjs.map
51
+ //# sourceMappingURL=chunk-ZISMEVKD.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/Err.ts"],
4
+ "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\n// @import-as-namespace\n\nimport { BaseError, type BaseErrorOptions } from '@dxos/errors';\nimport { type DXN } from '@dxos/keys';\n\nexport class SchemaNotFoundError extends BaseError.extend('SchemaNotFoundError', 'Schema not found') {\n constructor(schema: string, options?: BaseErrorOptions) {\n super({ context: { schema }, ...options });\n }\n}\n\nexport class ObjectNotFoundError extends BaseError.extend('ObjectNotFoundError', 'Object not found') {\n constructor(dxn: DXN, options?: BaseErrorOptions) {\n super({ context: { dxn }, ...options });\n }\n}\n\n/**\n * Reason why getting a reactive object from a snapshot failed.\n * - `no-database`: The snapshot is not associated with a database.\n * - `object-not-found`: The object was removed or does not exist in the database.\n */\nexport type GetReactiveErrorReason = 'no-database' | 'object-not-found';\n\n/**\n * Error thrown when a reactive object cannot be resolved from a snapshot.\n * Extends `BaseError` with a `reason` and optional `snapshotId` in its context.\n */\nexport class GetReactiveError extends BaseError.extend(\n 'GetReactiveError',\n 'Failed to get reactive object from snapshot',\n) {\n constructor(options: { reason: GetReactiveErrorReason; snapshotId?: string } & BaseErrorOptions) {\n super({ context: { reason: options.reason, snapshotId: options.snapshotId }, ...options });\n }\n}\n"],
5
+ "mappings": ";;;;;AAAA;;;;;;AAMA,SAASA,iBAAwC;AAG1C,IAAMC,sBAAN,cAAkCD,UAAUE,OAAO,uBAAuB,kBAAA,EAAA;EAC/E,YAAYC,QAAgBC,SAA4B;AACtD,UAAM;MAAEC,SAAS;QAAEF;MAAO;MAAG,GAAGC;IAAQ,CAAA;EAC1C;AACF;AAEO,IAAME,sBAAN,cAAkCN,UAAUE,OAAO,uBAAuB,kBAAA,EAAA;EAC/E,YAAYK,KAAUH,SAA4B;AAChD,UAAM;MAAEC,SAAS;QAAEE;MAAI;MAAG,GAAGH;IAAQ,CAAA;EACvC;AACF;AAaO,IAAMI,mBAAN,cAA+BR,UAAUE,OAC9C,oBACA,6CAAA,EAAA;EAEA,YAAYE,SAAqF;AAC/F,UAAM;MAAEC,SAAS;QAAEI,QAAQL,QAAQK;QAAQC,YAAYN,QAAQM;MAAW;MAAG,GAAGN;IAAQ,CAAA;EAC1F;AACF;",
6
+ "names": ["BaseError", "SchemaNotFoundError", "extend", "schema", "options", "context", "ObjectNotFoundError", "dxn", "GetReactiveError", "reason", "snapshotId"]
7
+ }
@@ -1,75 +1,97 @@
1
1
  import {
2
+ Collection_exports,
2
3
  DXN,
4
+ Dataset_exports,
3
5
  Hypergraph_exports,
4
- QueryAST
5
- } from "./chunk-X2MPMYYN.mjs";
6
+ Json_exports,
7
+ QueryAST,
8
+ View_exports
9
+ } from "./chunk-QXIANHKU.mjs";
10
+ import {
11
+ SchemaRegistry_exports
12
+ } from "./chunk-BICZKPQG.mjs";
6
13
  import {
7
14
  Tag_exports
8
- } from "./chunk-EXAYCLIM.mjs";
15
+ } from "./chunk-HPNQTEEQ.mjs";
9
16
  import {
10
17
  Order_exports
11
- } from "./chunk-ROKO4RKJ.mjs";
18
+ } from "./chunk-TTCSATUD.mjs";
12
19
  import {
13
20
  Key_exports
14
- } from "./chunk-ANHVGJI4.mjs";
21
+ } from "./chunk-7RVZT53K.mjs";
15
22
  import {
16
- Type_exports
17
- } from "./chunk-RCBBZLVM.mjs";
23
+ Migration_exports
24
+ } from "./chunk-SUZMWP3Y.mjs";
25
+ import {
26
+ Extension_exports
27
+ } from "./chunk-GWFFC34K.mjs";
18
28
  import {
19
29
  Format_exports
20
- } from "./chunk-N2QNHMT5.mjs";
30
+ } from "./chunk-44HT3MEC.mjs";
21
31
  import {
22
32
  Relation_exports
23
- } from "./chunk-7YWDDFPH.mjs";
33
+ } from "./chunk-WRVRDZDA.mjs";
24
34
  import {
25
35
  JsonSchema_exports
26
- } from "./chunk-VYEWMV5U.mjs";
36
+ } from "./chunk-QGMIH2SN.mjs";
27
37
  import {
28
38
  QueryResult_exports
29
- } from "./chunk-OMUPQMLR.mjs";
39
+ } from "./chunk-V72DY6LU.mjs";
30
40
  import {
31
41
  Query_exports
32
- } from "./chunk-F6BTBXL7.mjs";
42
+ } from "./chunk-VGKLHHRT.mjs";
33
43
  import {
34
- Filter_exports
35
- } from "./chunk-UMECVTXM.mjs";
44
+ Feed_exports
45
+ } from "./chunk-S7IMFVTB.mjs";
36
46
  import {
37
- Ref_exports
38
- } from "./chunk-TMLVKIMX.mjs";
47
+ Type_exports
48
+ } from "./chunk-FZHVQEHN.mjs";
39
49
  import {
40
- SchemaRegistry_exports
41
- } from "./chunk-4L6DOFXP.mjs";
50
+ Filter_exports
51
+ } from "./chunk-RF7ZBZ4A.mjs";
42
52
  import {
43
53
  Obj_exports
44
- } from "./chunk-HQXQWXLH.mjs";
54
+ } from "./chunk-SW5CUSBY.mjs";
55
+ import {
56
+ Ref_exports
57
+ } from "./chunk-VYAGNFSJ.mjs";
45
58
  import {
46
59
  Entity_exports
47
- } from "./chunk-YPIP3WGI.mjs";
48
- import "./chunk-VJ2H5MOJ.mjs";
49
- import "./chunk-7WE7SBA2.mjs";
60
+ } from "./chunk-LVGOVFDV.mjs";
61
+ import "./chunk-SJKBWMJY.mjs";
62
+ import "./chunk-6VIJV543.mjs";
63
+ import "./chunk-O5LRY6CO.mjs";
64
+ import "./chunk-TRPZU2HV.mjs";
65
+ import "./chunk-MPAI2MHO.mjs";
50
66
  import {
51
67
  Annotation_exports
52
- } from "./chunk-XAJMXQ4H.mjs";
68
+ } from "./chunk-5SL5LDLD.mjs";
53
69
  import {
54
70
  Database_exports
55
- } from "./chunk-B4FLOYG7.mjs";
56
- import "./chunk-RIMHNJ3E.mjs";
57
- import "./chunk-KB7RIVLK.mjs";
71
+ } from "./chunk-FHYIM4RD.mjs";
72
+ import "./chunk-TNBK56IN.mjs";
73
+ import "./chunk-N4B7FHQT.mjs";
58
74
  import {
59
75
  Err_exports
60
- } from "./chunk-MXQJZCPY.mjs";
76
+ } from "./chunk-ZISMEVKD.mjs";
61
77
  import "./chunk-J5LGTIGS.mjs";
62
78
  export {
63
79
  Annotation_exports as Annotation,
80
+ Collection_exports as Collection,
64
81
  DXN,
65
82
  Database_exports as Database,
83
+ Dataset_exports as Dataset,
66
84
  Entity_exports as Entity,
67
85
  Err_exports as Err,
86
+ Extension_exports as Extension,
87
+ Feed_exports as Feed,
68
88
  Filter_exports as Filter,
69
89
  Format_exports as Format,
70
90
  Hypergraph_exports as Hypergraph,
91
+ Json_exports as Json,
71
92
  JsonSchema_exports as JsonSchema,
72
93
  Key_exports as Key,
94
+ Migration_exports as Migration,
73
95
  Obj_exports as Obj,
74
96
  Order_exports as Order,
75
97
  Query_exports as Query,
@@ -79,6 +101,7 @@ export {
79
101
  Relation_exports as Relation,
80
102
  SchemaRegistry_exports as SchemaRegistry,
81
103
  Tag_exports as Tag,
82
- Type_exports as Type
104
+ Type_exports as Type,
105
+ View_exports as View
83
106
  };
84
107
  //# sourceMappingURL=index.mjs.map