@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
@@ -6,18 +6,18 @@ import { type DXN, ObjectId } from '@dxos/keys';
6
6
  import type * as Database from './Database';
7
7
  import * as Entity from './Entity';
8
8
  import * as Err from './Err';
9
- import { type ObjectJSON as APIJSON, type AnyEntity, type AnyProperties, type Comparator as ApiComparator, type Meta as ApiMeta, type ReadonlyMeta as ApiReadonlyMeta, type EntityVersion as ApiVersion, type ChangeCallback, type KindId, type Mutable, type ObjectMeta, SnapshotKindId, type VersionCompareResult, VersionTypeId, compareVersions, decodeVersion, encodeVersion, isVersion, versionValid } from './internal';
10
- import type * as Ref from './Ref';
9
+ import * as internal from './internal';
10
+ import * as Ref from './Ref';
11
11
  import type * as Type from './Type';
12
12
  /**
13
13
  * Base type for all ECHO objects.
14
14
  */
15
- interface BaseObj extends AnyEntity, Entity.OfKind<typeof Entity.Kind.Object> {
15
+ interface BaseObj extends internal.AnyEntity, Entity.OfKind<typeof Entity.Kind.Object> {
16
16
  }
17
17
  /**
18
18
  * Object type with specific properties.
19
19
  */
20
- export type Obj<Props> = BaseObj & Props;
20
+ export type OfShape<Props> = BaseObj & Props;
21
21
  /**
22
22
  * Object with no known properties beyond id and kind.
23
23
  * Use this when the object's schema/properties are not known.
@@ -28,6 +28,28 @@ export type Obj<Props> = BaseObj & Props;
28
28
  */
29
29
  export interface Unknown extends BaseObj {
30
30
  }
31
+ /**
32
+ * Runtime Effect schema for any ECHO object.
33
+ * Use for validation, parsing, or as a reference target for collections.
34
+ *
35
+ * NOTE: `Schema.is(Type.Obj)` does STRUCTURAL validation only (checks for `id` field).
36
+ * Use `Obj.isObject()` for proper ECHO instance type guards that check the KindId brand.
37
+ *
38
+ * @example
39
+ * ```ts
40
+ * // Structural type guard (accepts any object with id field)
41
+ * if (Schema.is(Type.Obj)(unknownValue)) { ... }
42
+ *
43
+ * // ECHO instance type guard (checks KindId brand)
44
+ * if (Obj.isObject(unknownValue)) { ... }
45
+ *
46
+ * // Reference to any object type
47
+ * const Collection = Schema.Struct({
48
+ * objects: Schema.Array(Ref.Ref(Obj.Unknown)),
49
+ * }).pipe(Type.object({ typename: 'Collection', version: '0.1.0' }));
50
+ * ```
51
+ */
52
+ export declare const Unknown: Type.Obj<Unknown>;
31
53
  /**
32
54
  * Object with arbitrary properties.
33
55
  *
@@ -36,13 +58,13 @@ export interface Unknown extends BaseObj {
36
58
  *
37
59
  * Prefer using `Obj.Unknown` when you don't need to access arbitrary properties.
38
60
  */
39
- export interface Any extends BaseObj, AnyProperties {
61
+ export interface Any extends BaseObj, internal.AnyProperties {
40
62
  }
41
63
  /**
42
64
  * Base type for snapshot objects (has SnapshotKindId instead of KindId).
43
65
  */
44
- interface BaseSnapshot extends AnyEntity {
45
- readonly [SnapshotKindId]: typeof Entity.Kind.Object;
66
+ interface BaseSnapshot extends internal.AnyEntity {
67
+ readonly [Entity.SnapshotKindId]: typeof Entity.Kind.Object;
46
68
  readonly id: ObjectId;
47
69
  }
48
70
  /**
@@ -54,19 +76,23 @@ interface BaseSnapshot extends AnyEntity {
54
76
  * Snapshots are structurally identical to reactive objects but have a different brand,
55
77
  * making them distinguishable at the TypeScript level. Neither is assignable to the other.
56
78
  */
57
- export type Snapshot<T extends Unknown = Unknown> = Omit<T, KindId> & BaseSnapshot;
58
- type Props<T = any> = {
79
+ export type Snapshot<T extends Unknown = Unknown> = Omit<T, Entity.KindId> & BaseSnapshot;
80
+ /**
81
+ * JSON-encoded properties for objects.
82
+ */
83
+ export interface BaseObjJson {
84
+ id: string;
85
+ }
86
+ type MakePropsInternal<T extends Unknown> = {
59
87
  id?: ObjectId;
60
- [Meta]?: Partial<ObjectMeta>;
61
- } & Type.Properties<T>;
88
+ } & Entity.Properties<T>;
62
89
  /**
63
90
  * Props type for object creation with a given schema.
64
91
  */
65
92
  export type MakeProps<S extends Schema.Schema.AnyNoContext> = {
66
93
  id?: ObjectId;
67
- [Meta]?: Partial<ObjectMeta>;
68
94
  [Parent]?: Unknown;
69
- } & NoInfer<Props<Schema.Schema.Type<S>>>;
95
+ } & MakePropsInternal<Schema.Schema.Type<S>>;
70
96
  /**
71
97
  * Creates a new echo object of the given schema.
72
98
  * @param schema - Object schema.
@@ -82,17 +108,12 @@ export type MakeProps<S extends Schema.Schema.AnyNoContext> = {
82
108
  *
83
109
  * Note: Only accepts object schemas, not relation schemas. Use `Relation.make` for relations.
84
110
  */
85
- export declare const make: {
86
- <S extends Type.Obj.Any>(schema: S, props: MakeProps<S>): Obj<Schema.Schema.Type<S>>;
87
- /**
88
- * @deprecated Pass meta as in the example: `Obj.make(Person, { [Obj.Meta]: { keys: [...] }, name: 'John' })`.
89
- */
90
- <S extends Type.Obj.Any>(schema: S, props: MakeProps<S>, meta: Partial<ObjectMeta>): Obj<Schema.Schema.Type<S>>;
91
- };
111
+ export declare const make: <S extends Type.AnyObj>(schema: S, props: NoInfer<MakeProps<S>>) => OfShape<Schema.Schema.Type<S>>;
92
112
  /**
93
113
  * Determine if object is an ECHO object.
94
114
  */
95
115
  export declare const isObject: (obj: unknown) => obj is Unknown;
116
+ export declare const isSnapshot: (obj: unknown) => obj is Snapshot;
96
117
  /**
97
118
  * Subscribe to object updates.
98
119
  * The callback is called synchronously when the object is modified.
@@ -161,40 +182,40 @@ export type CloneOptions = {
161
182
  export declare const clone: <T extends Unknown>(obj: T, opts?: CloneOptions) => T;
162
183
  /**
163
184
  * Makes all properties mutable recursively.
164
- * Used to provide a mutable view of an object within `Obj.change`.
185
+ * Used to provide a mutable view of an object within `Obj.update`.
165
186
  */
166
- export type { Mutable };
187
+ export type Mutable<T> = internal.Mutable<T>;
167
188
  /**
168
189
  * Perform mutations on an echo object within a controlled context.
169
190
  *
170
191
  * All mutations within the callback are batched and trigger a single notification
171
- * when the callback completes. Direct mutations outside of `Obj.change` will throw
192
+ * when the callback completes. Direct mutations outside of `Obj.update` will throw
172
193
  * an error for echo objects.
173
194
  *
174
195
  * This function also works with nested objects within echo objects (e.g., Template structs)
175
196
  * that are reactive at runtime.
176
197
  *
177
- * @param obj - The echo object to mutate. Use `Relation.change` for relations.
198
+ * @param obj - The echo object to mutate. Use `Relation.update` for relations.
178
199
  * @param callback - The callback that performs mutations on the object.
179
200
  *
180
201
  * @example
181
202
  * ```ts
182
203
  * const person = Obj.make(Person, { name: 'John', age: 25 });
183
204
  *
184
- * // Mutate within Obj.change
185
- * Obj.change(person, (p) => {
186
- * p.name = 'Jane';
187
- * p.age = 30;
205
+ * // Mutate within Obj.update
206
+ * Obj.update(person, (obj) => {
207
+ * obj.name = 'Jane';
208
+ * obj.age = 30;
188
209
  * });
189
210
  * // ONE notification fires here
190
211
  *
191
212
  * // Direct mutation throws
192
- * person.name = 'Bob'; // Error: Cannot modify outside Obj.change()
213
+ * person.name = 'Bob'; // Error: Cannot modify outside Obj.update()
193
214
  * ```
194
215
  *
195
- * Note: Only accepts objects. Use `Relation.change` for relations.
216
+ * Note: Only accepts objects. Use `Relation.update` for relations.
196
217
  */
197
- export declare const change: <T extends Unknown>(obj: T, callback: ChangeCallback<T>) => void;
218
+ export declare const update: <T extends Unknown>(obj: T, callback: internal.ChangeCallback<T>) => void;
198
219
  /**
199
220
  * Get a deeply nested property from an object.
200
221
  *
@@ -223,7 +244,7 @@ export declare const getValue: (obj: Unknown | Snapshot, path: readonly (string
223
244
  * whether to initialize nested data as an empty object or array.
224
245
  *
225
246
  * Similar to lodash.set and setDeep from @dxos/util, but schema-aware.
226
- * Must be called within an `Obj.change` callback.
247
+ * Must be called within an `Obj.update` callback.
227
248
  *
228
249
  * NOTE: TypeScript's structural typing allows readonly objects to be passed to `Mutable<T>`
229
250
  * parameters, so there is no compile-time error. Enforcement is runtime-only.
@@ -237,8 +258,8 @@ export declare const getValue: (obj: Unknown | Snapshot, path: readonly (string
237
258
  * ```ts
238
259
  * const person = Obj.make(Person, { name: 'John' });
239
260
  * // Person schema has: addresses: Schema.Array(Address)
240
- * Obj.change(person, (p) => {
241
- * Obj.setValue(p, ['addresses', 0, 'street'], '123 Main St');
261
+ * Obj.update(person, (obj) => {
262
+ * Obj.setValue(obj, ['addresses', 0, 'street'], '123 Main St');
242
263
  * });
243
264
  * // Creates: person.addresses = [{ street: '123 Main St' }]
244
265
  * ```
@@ -258,8 +279,8 @@ export type ID = ObjectId;
258
279
  * ```
259
280
  */
260
281
  export declare const instanceOf: {
261
- <S extends Type.Entity.Any>(schema: S): (value: unknown) => value is Schema.Schema.Type<S>;
262
- <S extends Type.Entity.Any>(schema: S, value: unknown): value is Schema.Schema.Type<S>;
282
+ <S extends Type.AnyEntity>(schema: S): (value: unknown) => value is Schema.Schema.Type<S>;
283
+ <S extends Type.AnyEntity>(schema: S, value: unknown): value is Schema.Schema.Type<S>;
263
284
  };
264
285
  /**
265
286
  * Test if a snapshot is an instance of a schema.
@@ -275,8 +296,8 @@ export declare const instanceOf: {
275
296
  * ```
276
297
  */
277
298
  export declare const snapshotOf: {
278
- <S extends Type.Entity.Any>(schema: S): (value: unknown) => value is Snapshot<Schema.Schema.Type<S>>;
279
- <S extends Type.Entity.Any>(schema: S, value: unknown): value is Snapshot<Schema.Schema.Type<S>>;
299
+ <S extends Type.AnyEntity>(schema: S): (value: unknown) => value is Snapshot<Schema.Schema.Type<S>>;
300
+ <S extends Type.AnyEntity>(schema: S, value: unknown): value is Snapshot<Schema.Schema.Type<S>>;
280
301
  };
281
302
  /**
282
303
  * Get the DXN of the object.
@@ -285,18 +306,19 @@ export declare const snapshotOf: {
285
306
  export declare const getDXN: (entity: Unknown | Snapshot) => DXN;
286
307
  /**
287
308
  * @returns The DXN of the object's type.
288
- * @example dxn:example.com/type/Person:1.0.0
309
+ * @example dxn:com.example.type.person:1.0.0
310
+ * @throws If the object is missing its type (corrupted object).
289
311
  */
290
- export declare const getTypeDXN: (obj: unknown | undefined) => DXN | undefined;
312
+ export declare const getTypeDXN: (obj: Unknown | Snapshot) => DXN;
291
313
  /**
292
314
  * Get the schema of the object.
293
315
  * Returns the branded ECHO schema used to create the object.
294
316
  */
295
- export declare const getSchema: (obj: unknown | undefined) => Type.Entity.Any | undefined;
317
+ export declare const getSchema: (obj: Unknown | Snapshot) => Type.AnyEntity | undefined;
296
318
  /**
297
319
  * @returns The typename of the object's type.
298
320
  * Accepts both reactive objects and snapshots.
299
- * @example `example.com/type/Person`
321
+ * @example `com.example.type.person`
300
322
  */
301
323
  export declare const getTypename: (entity: Unknown | Snapshot) => string | undefined;
302
324
  /**
@@ -304,19 +326,24 @@ export declare const getTypename: (entity: Unknown | Snapshot) => string | undef
304
326
  * Accepts both reactive objects and snapshots.
305
327
  */
306
328
  export declare const getDatabase: (entity: Entity.Unknown | Entity.Snapshot) => Database.Database | undefined;
307
- export declare const Meta: unique symbol;
329
+ /**
330
+ * Property that accesses metadata for an entity.
331
+ *
332
+ * Alias for `Entity.Meta`.
333
+ */
334
+ export declare const Meta: symbol;
308
335
  /**
309
336
  * Deeply read-only version of ObjectMeta.
310
337
  * Prevents mutation at all nesting levels (e.g., `meta.keys.push()` is a TypeScript error).
311
338
  */
312
- export type ReadonlyMeta = ApiReadonlyMeta;
339
+ export type ReadonlyMeta = internal.ReadonlyMeta;
313
340
  /**
314
- * Mutable meta type returned by `Obj.getMeta` inside an `Obj.change` callback.
341
+ * Mutable meta type returned by `Obj.getMeta` inside an `Obj.update` callback.
315
342
  */
316
- export type Meta = ApiMeta;
343
+ export type Meta = internal.Meta;
317
344
  /**
318
345
  * Get the metadata for an object.
319
- * Returns mutable meta when passed a mutable object (inside `Obj.change` callback).
346
+ * Returns mutable meta when passed a mutable object (inside `Obj.update` callback).
320
347
  * Returns read-only meta when passed a regular object or snapshot.
321
348
  *
322
349
  * @example
@@ -325,8 +352,8 @@ export type Meta = ApiMeta;
325
352
  * const meta = Obj.getMeta(person); // ReadonlyMeta
326
353
  *
327
354
  * // Mutable access inside change callback
328
- * Obj.change(person, (p) => {
329
- * const meta = Obj.getMeta(p); // ObjectMeta (mutable)
355
+ * Obj.update(person, (obj) => {
356
+ * const meta = Obj.getMeta(obj); // ObjectMeta (mutable)
330
357
  * meta.tags ??= [];
331
358
  * meta.tags.push('important');
332
359
  * });
@@ -344,7 +371,7 @@ export declare const getKeys: {
344
371
  };
345
372
  /**
346
373
  * Delete all keys from the object for the specified source.
347
- * Must be called within an `Obj.change` callback.
374
+ * Must be called within an `Obj.update` callback.
348
375
  *
349
376
  * NOTE: TypeScript's structural typing allows readonly objects to be passed to `Mutable<T>`
350
377
  * parameters, so there is no compile-time error. Enforcement is runtime-only.
@@ -352,7 +379,7 @@ export declare const getKeys: {
352
379
  export declare const deleteKeys: (entity: Mutable<Unknown>, source: string) => void;
353
380
  /**
354
381
  * Add a tag to the object.
355
- * Must be called within an `Obj.change` callback.
382
+ * Must be called within an `Obj.update` callback.
356
383
  *
357
384
  * NOTE: TypeScript's structural typing allows readonly objects to be passed to `Mutable<T>`
358
385
  * parameters, so there is no compile-time error. Enforcement is runtime-only.
@@ -360,7 +387,7 @@ export declare const deleteKeys: (entity: Mutable<Unknown>, source: string) => v
360
387
  export declare const addTag: (entity: Mutable<Unknown>, tag: string) => void;
361
388
  /**
362
389
  * Remove a tag from the object.
363
- * Must be called within an `Obj.change` callback.
390
+ * Must be called within an `Obj.update` callback.
364
391
  *
365
392
  * NOTE: TypeScript's structural typing allows readonly objects to be passed to `Mutable<T>`
366
393
  * parameters, so there is no compile-time error. Enforcement is runtime-only.
@@ -378,7 +405,7 @@ export declare const isDeleted: (entity: Unknown | Snapshot) => boolean;
378
405
  export declare const getLabel: (entity: Unknown | Snapshot) => string | undefined;
379
406
  /**
380
407
  * Set the label of the object.
381
- * Must be called within an `Obj.change` callback.
408
+ * Must be called within an `Obj.update` callback.
382
409
  *
383
410
  * NOTE: TypeScript's structural typing allows readonly objects to be passed to `Mutable<T>`
384
411
  * parameters, so there is no compile-time error. Enforcement is runtime-only.
@@ -391,7 +418,7 @@ export declare const setLabel: (entity: Mutable<Unknown>, label: string) => void
391
418
  export declare const getDescription: (entity: Unknown | Snapshot) => string | undefined;
392
419
  /**
393
420
  * Set the description of the object.
394
- * Must be called within an `Obj.change` callback.
421
+ * Must be called within an `Obj.update` callback.
395
422
  *
396
423
  * NOTE: TypeScript's structural typing allows readonly objects to be passed to `Mutable<T>`
397
424
  * parameters, so there is no compile-time error. Enforcement is runtime-only.
@@ -421,10 +448,24 @@ export declare const getParent: (entity: Unknown | Snapshot) => Unknown | undefi
421
448
  * Only objects are allowed to have a parent.
422
449
  */
423
450
  export declare const setParent: (entity: Unknown, parent: Any | undefined) => void;
451
+ interface UpdateFromOptions<T> {
452
+ exclude?: (keyof T)[];
453
+ include?: (keyof T)[];
454
+ }
455
+ /**
456
+ * For each key present on `source` (except `id`), assigns `target[key]` when the current value differs.
457
+ * References are compared by target DXN; other values use Effect `Equal.equals` inside a structural region,
458
+ * with recursive comparison for arrays and plain object-shaped property bags (excluding `id`).
459
+ *
460
+ * Must be called within an `Obj.update` callback.
461
+ *
462
+ * @returns Whether any property was updated.
463
+ */
464
+ export declare const updateFrom: <T extends Unknown>(target: Mutable<T>, source: T, options?: UpdateFromOptions<T>) => boolean;
424
465
  /**
425
466
  * JSON representation of an object.
426
467
  */
427
- export type JSON = APIJSON;
468
+ export type JSON = internal.ObjectJSON;
428
469
  /**
429
470
  * Converts object to its JSON representation.
430
471
  * Accepts both reactive objects and snapshots.
@@ -440,31 +481,39 @@ export declare const toJSON: (entity: Unknown | Snapshot) => JSON;
440
481
  *
441
482
  * @param options.refResolver - Resolver for references. Produces hydrated references that can be resolved.
442
483
  * @param options.dxn - Override object DXN. Changes the result of `Obj.getDXN`.
484
+ * @param options.database - Database to associate with the object.
443
485
  */
444
486
  export declare const fromJSON: (json: unknown, options?: {
445
487
  refResolver?: Ref.Resolver;
446
488
  dxn?: DXN;
489
+ database?: Database.Database;
490
+ parent?: Unknown;
447
491
  }) => Promise<Unknown>;
448
492
  /**
449
493
  * Comparator function type for sorting objects.
450
494
  * Accepts both reactive objects and snapshots.
451
495
  */
452
- export type Comparator = ApiComparator<Unknown | Snapshot>;
496
+ export type Comparator = internal.Comparator<Unknown | Snapshot>;
453
497
  export declare const sortByLabel: Comparator;
454
498
  export declare const sortByTypename: Comparator;
455
499
  export declare const sort: (...comparators: Comparator[]) => Comparator;
456
- export { VersionTypeId };
457
- export type { VersionCompareResult };
500
+ export declare const VersionTypeId: "~@dxos/echo/VersionTypeId";
501
+ export type VersionCompareResult = internal.VersionCompareResult;
458
502
  /**
459
503
  * Represent object version.
460
504
  * May be backed by Automerge.
461
505
  * Objects with no history are not versioned.
462
506
  */
463
- export type Version = ApiVersion;
464
- export { isVersion, versionValid, compareVersions, encodeVersion, decodeVersion };
507
+ export type Version = internal.EntityVersion;
508
+ export declare const isVersion: (entity: unknown) => entity is internal.EntityVersion;
509
+ export declare const versionValid: (ver: internal.EntityVersion) => boolean;
510
+ export declare const compareVersions: (version1: internal.EntityVersion, version2: internal.EntityVersion) => internal.VersionCompareResult;
511
+ export declare const encodeVersion: (ver: internal.EntityVersion) => string;
512
+ export declare const decodeVersion: (ver: string) => internal.EntityVersion;
465
513
  /**
466
514
  * Returns the version of the object.
467
515
  * Accepts both reactive objects and snapshots.
468
516
  */
469
517
  export declare const version: (entity: Unknown | Snapshot) => Version;
518
+ export {};
470
519
  //# sourceMappingURL=Obj.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Obj.d.ts","sourceRoot":"","sources":["../../../src/Obj.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Obj.d.ts","sourceRoot":"","sources":["../../../src/Obj.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"Order.d.ts","sourceRoot":"","sources":["../../../src/Order.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAEpD,MAAM,WAAW,KAAK,CAAC,CAAC;IAEtB,QAAQ,EAAE;QAAE,KAAK,EAAE,CAAC,CAAA;KAAE,CAAC;IAEvB,GAAG,EAAE,QAAQ,CAAC,KAAK,CAAC;CACrB;AAED,MAAM,MAAM,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC;AAc7B,eAAO,MAAM,OAAO,EAAE,KAAK,CAAC,GAAG,CAAuC,CAAC;AACvE,eAAO,MAAM,QAAQ,GAAI,CAAC,EAAE,UAAU,MAAM,CAAC,GAAG,MAAM,EAAE,WAAW,QAAQ,CAAC,cAAc,KAAG,KAAK,CAAC,CAAC,CAKhG,CAAC;AAEL;;;GAGG;AACH,eAAO,MAAM,IAAI,GAAI,CAAC,EAAE,YAAW,QAAQ,CAAC,cAAuB,KAAG,KAAK,CAAC,CAAC,CAIzE,CAAC"}
1
+ {"version":3,"file":"Order.d.ts","sourceRoot":"","sources":["../../../src/Order.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAEpD,MAAM,WAAW,KAAK,CAAC,CAAC;IAEtB,QAAQ,EAAE;QAAE,KAAK,EAAE,CAAC,CAAA;KAAE,CAAC;IAEvB,GAAG,EAAE,QAAQ,CAAC,KAAK,CAAC;CACrB;AAED,MAAM,MAAM,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC;AAc7B,eAAO,MAAM,OAAO,EAAE,KAAK,CAAC,GAAG,CAAuC,CAAC;AACvE,eAAO,MAAM,QAAQ,GAAI,CAAC,YAAY,MAAM,CAAC,GAAG,MAAM,aAAa,QAAQ,CAAC,cAAc,KAAG,KAAK,CAAC,CAAC,CAKhG,CAAC;AAEL;;;GAGG;AACH,eAAO,MAAM,IAAI,GAAI,CAAC,cAAa,QAAQ,CAAC,cAAc,KAAY,KAAK,CAAC,CAAC,CAIzE,CAAC"}
@@ -1,10 +1,13 @@
1
1
  import type * as EffectArray from 'effect/Array';
2
2
  import type * as Schema from 'effect/Schema';
3
3
  import { type QueryAST } from '@dxos/echo-protocol';
4
+ import * as Database from './Database';
5
+ import type * as Dataset from './Dataset';
6
+ import * as Feed from './Feed';
4
7
  import * as Filter from './Filter';
5
8
  import type * as Order from './Order';
6
9
  import type * as Ref from './Ref';
7
- import type * as Type$ from './Type';
10
+ import type * as Relation from './Relation';
8
11
  /**
9
12
  * All property paths inside T that are references.
10
13
  */
@@ -19,74 +22,142 @@ export interface Query<T> {
19
22
  * @param filter - Filter to select the objects.
20
23
  * @returns Query for the selected objects.
21
24
  */
22
- select(filter: Filter.Filter<T>): Query<T>;
23
- select(props: Filter.Props<T>): Query<T>;
25
+ 'select'(filter: Filter.Filter<T>): Query<T>;
26
+ 'select'(props: Filter.Props<T>): Query<T>;
24
27
  /**
25
28
  * Traverse an outgoing reference.
26
29
  * @param key - Property path inside T that is a reference or optional reference.
27
30
  * @returns Query for the target of the reference.
28
31
  */
29
- reference<K extends RefPropKey<T>>(key: K): Query<T[K] extends Ref.Unknown ? Ref.Target<T[K]> : T[K] extends Ref.Unknown | undefined ? Ref.Target<Exclude<T[K], undefined>> : never>;
32
+ 'reference'<K extends RefPropKey<T>>(key: K): Query<T[K] extends Ref.Unknown ? Ref.Target<T[K]> : T[K] extends Ref.Unknown | undefined ? Ref.Target<Exclude<T[K], undefined>> : never>;
30
33
  /**
31
34
  * Find objects referencing this object.
32
35
  * @param target - Schema of the referencing object. If not provided, matches any type.
33
36
  * @param key - Property path inside the referencing object that is a reference. If not provided, matches any property.
34
37
  * @returns Query for the referencing objects.
35
38
  */
36
- referencedBy<S extends Schema.Schema.All>(target: S | string, key: RefPropKey<Schema.Schema.Type<S>>): Query<Schema.Schema.Type<S>>;
37
- referencedBy<S extends Schema.Schema.All>(target: S | string): Query<Schema.Schema.Type<S>>;
38
- referencedBy(): Query<any>;
39
+ 'referencedBy'<S extends Schema.Schema.All>(target: S | string, key: RefPropKey<Schema.Schema.Type<S>>): Query<Schema.Schema.Type<S>>;
40
+ 'referencedBy'<S extends Schema.Schema.All>(target: S | string): Query<Schema.Schema.Type<S>>;
41
+ 'referencedBy'(): Query<any>;
39
42
  /**
40
43
  * Find relations where this object is the source.
41
44
  * @returns Query for the relation objects.
42
45
  * @param relation - Schema of the relation.
43
46
  * @param predicates - Predicates to filter the relation objects.
44
47
  */
45
- sourceOf<S extends Schema.Schema.All>(relation: S | string, predicates?: Filter.Props<Schema.Schema.Type<S>>): Query<Schema.Schema.Type<S>>;
48
+ 'sourceOf'<S extends Schema.Schema.All>(relation?: S | string, predicates?: Filter.Props<Schema.Schema.Type<S>>): Query<Schema.Schema.Type<S>>;
46
49
  /**
47
50
  * Find relations where this object is the target.
48
51
  * @returns Query for the relation objects.
49
52
  * @param relation - Schema of the relation.
50
53
  * @param predicates - Predicates to filter the relation objects.
51
54
  */
52
- targetOf<S extends Schema.Schema.All>(relation: S | string, predicates?: Filter.Props<Schema.Schema.Type<S>>): Query<Schema.Schema.Type<S>>;
55
+ 'targetOf'<S extends Schema.Schema.All>(relation?: S | string, predicates?: Filter.Props<Schema.Schema.Type<S>>): Query<Schema.Schema.Type<S>>;
53
56
  /**
54
57
  * For a query for relations, get the source objects.
55
58
  * @returns Query for the source objects.
56
59
  */
57
- source(): Query<Type$.Relation.Source<T>>;
60
+ 'source'(): Query<Relation.SourceOf<T>>;
58
61
  /**
59
62
  * For a query for relations, get the target objects.
60
63
  * @returns Query for the target objects.
61
64
  */
62
- target(): Query<Type$.Relation.Target<T>>;
65
+ 'target'(): Query<Relation.TargetOf<T>>;
63
66
  /**
64
67
  * Get the parent object of the current selection.
65
68
  * @returns Query for the parent objects.
66
69
  */
67
- parent(): Query<any>;
70
+ 'parent'(): Query<any>;
68
71
  /**
69
72
  * Get all child objects of the current selection.
70
73
  * @returns Query for the child objects.
71
74
  */
72
- children(): Query<any>;
75
+ 'children'(): Query<any>;
73
76
  /**
74
77
  * Order the query results.
75
78
  * Orders are specified in priority order. The first order will be applied first, etc.
76
79
  * @param order - Order to sort the results.
77
80
  * @returns Query for the ordered results.
78
81
  */
79
- orderBy(...order: EffectArray.NonEmptyArray<Order.Order<T>>): Query<T>;
82
+ 'orderBy'(...order: EffectArray.NonEmptyArray<Order.Order<T>>): Query<T>;
80
83
  /**
81
84
  * Limit the number of results.
82
85
  * @param limit - Maximum number of results to return.
83
86
  * @returns Query for the limited results.
84
87
  */
85
- limit(limit: number): Query<T>;
88
+ 'limit'(limit: number): Query<T>;
89
+ /**
90
+ * Query from selected databases only.
91
+ *
92
+ * Example:
93
+ *
94
+ * ```ts
95
+ * Query.select(Filter.type(Person)).from(db);
96
+ * ```
97
+ *
98
+ * @param options.includeFeeds [false] - Whether to include feeds in the query. Default is to query from automerge documents only.
99
+ */
100
+ 'from'(database: Database.Database | Database.Database[], options?: {
101
+ includeFeeds?: boolean;
102
+ }): Query<T>;
103
+ /**
104
+ * Query from selected feeds only.
105
+ *
106
+ * Example:
107
+ *
108
+ * ```ts
109
+ * Query.select(Filter.type(Person)).from(feed);
110
+ * ```
111
+ *
112
+ */
113
+ 'from'(feeds: Feed.Feed | Feed.Feed[]): Query<T>;
114
+ /**
115
+ * Query from all accessible spaces.
116
+ *
117
+ * Example:
118
+ *
119
+ * ```ts
120
+ * Query.select(Filter.type(Person)).from('all-accessible-spaces');
121
+ * ```
122
+ *
123
+ * @param options.includeFeeds [false] - Whether to include feeds in the query. Default is to query from automerge documents only.
124
+ */
125
+ 'from'(allSpaces: 'all-accessible-spaces', options?: {
126
+ includeFeeds?: boolean;
127
+ }): Query<T>;
128
+ /**
129
+ * Query from a dataset.
130
+ * Currently only feeds are supported.
131
+ *
132
+ * Example:
133
+ *
134
+ * ```ts
135
+ * Query.type(Person).from(feed);
136
+ * ```
137
+ */
138
+ 'from'(dataset: Dataset.Dataset): Query<T>;
139
+ /**
140
+ * Query from the results of another query.
141
+ *
142
+ * Example:
143
+ *
144
+ * ```ts
145
+ * Query.select(Filter.props({ foo: 'foo' })).from(Query.select(Filter.type(Contact)).reference('org'));
146
+ * ```
147
+ */
148
+ 'from'(query: Any): Query<T>;
149
+ /**
150
+ * Query from a raw scope specification.
151
+ */
152
+ 'from'(scope: QueryAST.Scope): Query<T>;
86
153
  /**
87
154
  * Add options to a query.
88
155
  */
89
- options(options: QueryAST.QueryOptions): Query<T>;
156
+ 'options'(options: QueryAST.QueryOptions): Query<T>;
157
+ /**
158
+ * Attach a diagnostic label for logs and tooling (execution semantics unchanged).
159
+ */
160
+ 'debugLabel'(label: string): Query<T>;
90
161
  }
91
162
  export type Any = Query<any>;
92
163
  export type Type<Q extends Any> = Q extends Query<infer T> ? T : never;
@@ -107,7 +178,10 @@ export declare const select: <F extends Filter.Any>(filter: F) => Query<Filter.T
107
178
  *
108
179
  * Shorthand for: `Query.select(Filter.type(schema, predicates))`.
109
180
  */
110
- export declare const type: (schema: Schema.Schema.All | string, predicates?: Filter.Props<unknown>) => Any;
181
+ export declare const type: {
182
+ <S extends Schema.Schema.All>(schema: S, predicates?: Filter.Props<Schema.Schema.Type<S>>): Query<Schema.Schema.Type<S>>;
183
+ (schema: string, predicates?: Filter.Props<unknown>): Query<any>;
184
+ };
111
185
  /**
112
186
  * Combine results of multiple queries.
113
187
  * @param queries - Queries to combine.
@@ -121,5 +195,19 @@ export declare const all: (...queries: Any[]) => Any;
121
195
  * @returns Query for the results of the source query minus the results of the exclude query.
122
196
  */
123
197
  export declare const without: <T>(source: Query<T>, exclude: Query<T>) => Query<T>;
198
+ /**
199
+ * Create a query scoped to a data source.
200
+ * The returned query selects everything from the source; chain `.select()` to narrow results.
201
+ *
202
+ * @param source - Data source: database, feed, 'all-accessible-spaces', or another query.
203
+ * @returns Query scoped to the given source.
204
+ */
205
+ export declare const from: (source: Database.Database | Database.Database[] | Feed.Feed | Feed.Feed[] | Any | QueryAST.Scope | 'all-accessible-spaces', options?: {
206
+ includeFeeds?: boolean;
207
+ }) => Any;
208
+ /**
209
+ * Returns a human-readable string representation of a Query AST.
210
+ */
211
+ export declare const pretty: (query: Any) => string;
124
212
  export {};
125
213
  //# sourceMappingURL=Query.d.ts.map