@dxos/echo 0.8.4-main.b97322e → 0.8.4-main.bcb3aa67d6

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 (520) hide show
  1. package/README.md +4 -5
  2. package/dist/lib/neutral/Annotation.mjs +37 -0
  3. package/dist/lib/neutral/Database.mjs +47 -0
  4. package/dist/lib/neutral/Entity.mjs +59 -0
  5. package/dist/lib/neutral/Entity.mjs.map +7 -0
  6. package/dist/lib/neutral/Err.mjs +12 -0
  7. package/dist/lib/neutral/Err.mjs.map +7 -0
  8. package/dist/lib/neutral/Extension.mjs +18 -0
  9. package/dist/lib/neutral/Extension.mjs.map +7 -0
  10. package/dist/lib/neutral/Feed.mjs +45 -0
  11. package/dist/lib/neutral/Feed.mjs.map +7 -0
  12. package/dist/lib/neutral/Filter.mjs +70 -0
  13. package/dist/lib/neutral/Filter.mjs.map +7 -0
  14. package/dist/lib/neutral/Format.mjs +66 -0
  15. package/dist/lib/neutral/Format.mjs.map +7 -0
  16. package/dist/lib/neutral/JsonSchema.mjs +19 -0
  17. package/dist/lib/neutral/JsonSchema.mjs.map +7 -0
  18. package/dist/lib/neutral/Key.mjs +12 -0
  19. package/dist/lib/neutral/Key.mjs.map +7 -0
  20. package/dist/lib/neutral/Obj.mjs +110 -0
  21. package/dist/lib/neutral/Obj.mjs.map +7 -0
  22. package/dist/lib/neutral/Order.mjs +12 -0
  23. package/dist/lib/neutral/Order.mjs.map +7 -0
  24. package/dist/lib/neutral/Query.mjs +38 -0
  25. package/dist/lib/neutral/Query.mjs.map +7 -0
  26. package/dist/lib/neutral/QueryResult.mjs +2 -0
  27. package/dist/lib/neutral/QueryResult.mjs.map +7 -0
  28. package/dist/lib/neutral/Ref.mjs +24 -0
  29. package/dist/lib/neutral/Ref.mjs.map +7 -0
  30. package/dist/lib/neutral/Relation.mjs +93 -0
  31. package/dist/lib/neutral/Relation.mjs.map +7 -0
  32. package/dist/lib/neutral/SchemaRegistry.mjs +2 -0
  33. package/dist/lib/neutral/SchemaRegistry.mjs.map +7 -0
  34. package/dist/lib/neutral/Tag.mjs +28 -0
  35. package/dist/lib/neutral/Tag.mjs.map +7 -0
  36. package/dist/lib/neutral/Type.mjs +37 -0
  37. package/dist/lib/neutral/Type.mjs.map +7 -0
  38. package/dist/lib/neutral/chunk-24XI6DOL.mjs +34 -0
  39. package/dist/lib/neutral/chunk-24XI6DOL.mjs.map +7 -0
  40. package/dist/lib/neutral/chunk-4YAAHG3E.mjs +335 -0
  41. package/dist/lib/neutral/chunk-4YAAHG3E.mjs.map +7 -0
  42. package/dist/lib/neutral/chunk-4ZRIO2QF.mjs +361 -0
  43. package/dist/lib/neutral/chunk-4ZRIO2QF.mjs.map +7 -0
  44. package/dist/lib/neutral/chunk-7C2A2RP6.mjs +2830 -0
  45. package/dist/lib/neutral/chunk-7C2A2RP6.mjs.map +7 -0
  46. package/dist/lib/neutral/chunk-ANHVGJI4.mjs +21 -0
  47. package/dist/lib/neutral/chunk-ANHVGJI4.mjs.map +7 -0
  48. package/dist/lib/neutral/chunk-BNCCGLJN.mjs +7 -0
  49. package/dist/lib/neutral/chunk-BNCCGLJN.mjs.map +7 -0
  50. package/dist/lib/neutral/chunk-CAB5PWUF.mjs +313 -0
  51. package/dist/lib/neutral/chunk-CAB5PWUF.mjs.map +7 -0
  52. package/dist/lib/neutral/chunk-DQYLD2RB.mjs +402 -0
  53. package/dist/lib/neutral/chunk-DQYLD2RB.mjs.map +7 -0
  54. package/dist/lib/neutral/chunk-DUTD5HFU.mjs +97 -0
  55. package/dist/lib/neutral/chunk-DUTD5HFU.mjs.map +7 -0
  56. package/dist/lib/neutral/chunk-EKQJGGA3.mjs +396 -0
  57. package/dist/lib/neutral/chunk-EKQJGGA3.mjs.map +7 -0
  58. package/dist/lib/neutral/chunk-EOIR5O5I.mjs +298 -0
  59. package/dist/lib/neutral/chunk-EOIR5O5I.mjs.map +7 -0
  60. package/dist/lib/neutral/chunk-GVY6O76A.mjs +45 -0
  61. package/dist/lib/neutral/chunk-GVY6O76A.mjs.map +7 -0
  62. package/dist/lib/neutral/chunk-GZQTCRJB.mjs +73 -0
  63. package/dist/lib/neutral/chunk-GZQTCRJB.mjs.map +7 -0
  64. package/dist/lib/neutral/chunk-HGHJ36DH.mjs +117 -0
  65. package/dist/lib/neutral/chunk-HGHJ36DH.mjs.map +7 -0
  66. package/dist/lib/neutral/chunk-IICPQK3M.mjs +27 -0
  67. package/dist/lib/neutral/chunk-IICPQK3M.mjs.map +7 -0
  68. package/dist/lib/neutral/chunk-J5LGTIGS.mjs +10 -0
  69. package/dist/lib/neutral/chunk-J5LGTIGS.mjs.map +7 -0
  70. package/dist/lib/neutral/chunk-NKPWM67P.mjs +56 -0
  71. package/dist/lib/neutral/chunk-NKPWM67P.mjs.map +7 -0
  72. package/dist/lib/neutral/chunk-OMUPQMLR.mjs +7 -0
  73. package/dist/lib/neutral/chunk-OMUPQMLR.mjs.map +7 -0
  74. package/dist/lib/neutral/chunk-OPMZTWI3.mjs +121 -0
  75. package/dist/lib/neutral/chunk-OPMZTWI3.mjs.map +7 -0
  76. package/dist/lib/neutral/chunk-OPQEHU36.mjs +45 -0
  77. package/dist/lib/neutral/chunk-OPQEHU36.mjs.map +7 -0
  78. package/dist/lib/neutral/chunk-QDV7C7VM.mjs +299 -0
  79. package/dist/lib/neutral/chunk-QDV7C7VM.mjs.map +7 -0
  80. package/dist/lib/neutral/chunk-TBKX6JQO.mjs +67 -0
  81. package/dist/lib/neutral/chunk-TBKX6JQO.mjs.map +7 -0
  82. package/dist/lib/neutral/chunk-UBEZSGXY.mjs +51 -0
  83. package/dist/lib/neutral/chunk-UBEZSGXY.mjs.map +7 -0
  84. package/dist/lib/neutral/chunk-UI6MWK5W.mjs +42 -0
  85. package/dist/lib/neutral/chunk-UI6MWK5W.mjs.map +7 -0
  86. package/dist/lib/neutral/chunk-XV5R2XZH.mjs +133 -0
  87. package/dist/lib/neutral/chunk-XV5R2XZH.mjs.map +7 -0
  88. package/dist/lib/neutral/chunk-YPGDBRPH.mjs +159 -0
  89. package/dist/lib/neutral/chunk-YPGDBRPH.mjs.map +7 -0
  90. package/dist/lib/neutral/chunk-YS6Q3XAD.mjs +50 -0
  91. package/dist/lib/neutral/chunk-YS6Q3XAD.mjs.map +7 -0
  92. package/dist/lib/neutral/chunk-ZCBOJ6I7.mjs +787 -0
  93. package/dist/lib/neutral/chunk-ZCBOJ6I7.mjs.map +7 -0
  94. package/dist/lib/neutral/index.mjs +101 -0
  95. package/dist/lib/neutral/index.mjs.map +7 -0
  96. package/dist/lib/neutral/internal/index.mjs +474 -0
  97. package/dist/lib/neutral/internal/index.mjs.map +7 -0
  98. package/dist/lib/neutral/meta.json +1 -0
  99. package/dist/lib/neutral/testing/index.mjs +374 -0
  100. package/dist/lib/neutral/testing/index.mjs.map +7 -0
  101. package/dist/types/src/Annotation.d.ts +24 -0
  102. package/dist/types/src/Annotation.d.ts.map +1 -0
  103. package/dist/types/src/Collection.d.ts +16 -0
  104. package/dist/types/src/Collection.d.ts.map +1 -0
  105. package/dist/types/src/Database.d.ts +196 -0
  106. package/dist/types/src/Database.d.ts.map +1 -0
  107. package/dist/types/src/Dataset.d.ts +19 -0
  108. package/dist/types/src/Dataset.d.ts.map +1 -0
  109. package/dist/types/src/Entity.d.ts +168 -0
  110. package/dist/types/src/Entity.d.ts.map +1 -0
  111. package/dist/types/src/Entity.test.d.ts +2 -0
  112. package/dist/types/src/Entity.test.d.ts.map +1 -0
  113. package/dist/types/src/Err.d.ts +107 -0
  114. package/dist/types/src/Err.d.ts.map +1 -0
  115. package/dist/types/src/Extension.d.ts +80 -0
  116. package/dist/types/src/Extension.d.ts.map +1 -0
  117. package/dist/types/src/Extension.test.d.ts +2 -0
  118. package/dist/types/src/Extension.test.d.ts.map +1 -0
  119. package/dist/types/src/Feed.d.ts +163 -0
  120. package/dist/types/src/Feed.d.ts.map +1 -0
  121. package/dist/types/src/Filter.d.ts +136 -0
  122. package/dist/types/src/Filter.d.ts.map +1 -0
  123. package/dist/types/src/Filter.test.d.ts +2 -0
  124. package/dist/types/src/Filter.test.d.ts.map +1 -0
  125. package/dist/types/src/Format.d.ts +4 -0
  126. package/dist/types/src/Format.d.ts.map +1 -0
  127. package/dist/types/src/Hypergraph.d.ts +65 -0
  128. package/dist/types/src/Hypergraph.d.ts.map +1 -0
  129. package/dist/types/src/JsonSchema.d.ts +16 -0
  130. package/dist/types/src/JsonSchema.d.ts.map +1 -0
  131. package/dist/types/src/Key.d.ts +1 -0
  132. package/dist/types/src/Key.d.ts.map +1 -1
  133. package/dist/types/src/Obj.d.ts +459 -35
  134. package/dist/types/src/Obj.d.ts.map +1 -1
  135. package/dist/types/src/Obj.test.d.ts +2 -0
  136. package/dist/types/src/Obj.test.d.ts.map +1 -0
  137. package/dist/types/src/Order.d.ts +16 -0
  138. package/dist/types/src/Order.d.ts.map +1 -0
  139. package/dist/types/src/Query.d.ts +209 -0
  140. package/dist/types/src/Query.d.ts.map +1 -0
  141. package/dist/types/src/Query.test.d.ts +2 -0
  142. package/dist/types/src/Query.test.d.ts.map +1 -0
  143. package/dist/types/src/QueryResult.d.ts +80 -0
  144. package/dist/types/src/QueryResult.d.ts.map +1 -0
  145. package/dist/types/src/Ref.d.ts +61 -11
  146. package/dist/types/src/Ref.d.ts.map +1 -1
  147. package/dist/types/src/Relation.d.ts +291 -21
  148. package/dist/types/src/Relation.d.ts.map +1 -1
  149. package/dist/types/src/Relation.test.d.ts +2 -0
  150. package/dist/types/src/Relation.test.d.ts.map +1 -0
  151. package/dist/types/src/SchemaRegistry.d.ts +84 -0
  152. package/dist/types/src/SchemaRegistry.d.ts.map +1 -0
  153. package/dist/types/src/Tag.d.ts +18 -0
  154. package/dist/types/src/Tag.d.ts.map +1 -0
  155. package/dist/types/src/Type.d.ts +123 -100
  156. package/dist/types/src/Type.d.ts.map +1 -1
  157. package/dist/types/src/Type.test.d.ts +2 -0
  158. package/dist/types/src/Type.test.d.ts.map +1 -0
  159. package/dist/types/src/View.d.ts +68 -0
  160. package/dist/types/src/View.d.ts.map +1 -0
  161. package/dist/types/src/hierarchy.test.d.ts +2 -0
  162. package/dist/types/src/hierarchy.test.d.ts.map +1 -0
  163. package/dist/types/src/index.d.ts +20 -3
  164. package/dist/types/src/index.d.ts.map +1 -1
  165. package/dist/types/src/internal/Annotation/annotations.d.ts +231 -0
  166. package/dist/types/src/internal/Annotation/annotations.d.ts.map +1 -0
  167. package/dist/types/src/internal/Annotation/annotations.test.d.ts +2 -0
  168. package/dist/types/src/internal/Annotation/annotations.test.d.ts.map +1 -0
  169. package/dist/types/src/internal/Annotation/index.d.ts +4 -0
  170. package/dist/types/src/internal/Annotation/index.d.ts.map +1 -0
  171. package/dist/types/src/internal/Annotation/sorting.d.ts +24 -0
  172. package/dist/types/src/internal/Annotation/sorting.d.ts.map +1 -0
  173. package/dist/types/src/internal/Annotation/util.d.ts +39 -0
  174. package/dist/types/src/internal/Annotation/util.d.ts.map +1 -0
  175. package/dist/types/src/internal/Entity/api.d.ts +13 -0
  176. package/dist/types/src/internal/Entity/api.d.ts.map +1 -0
  177. package/dist/types/src/internal/Entity/entity.d.ts +20 -0
  178. package/dist/types/src/internal/Entity/entity.d.ts.map +1 -0
  179. package/dist/types/src/internal/Entity/index.d.ts +8 -0
  180. package/dist/types/src/internal/Entity/index.d.ts.map +1 -0
  181. package/dist/types/src/internal/Entity/model.d.ts +55 -0
  182. package/dist/types/src/internal/Entity/model.d.ts.map +1 -0
  183. package/dist/types/src/internal/Entity/object.d.ts +18 -0
  184. package/dist/types/src/internal/Entity/object.d.ts.map +1 -0
  185. package/dist/types/src/internal/Entity/relation.d.ts +35 -0
  186. package/dist/types/src/internal/Entity/relation.d.ts.map +1 -0
  187. package/dist/types/src/internal/Entity/util.d.ts +2 -0
  188. package/dist/types/src/internal/Entity/util.d.ts.map +1 -0
  189. package/dist/types/src/internal/Entity/version.d.ts +42 -0
  190. package/dist/types/src/internal/Entity/version.d.ts.map +1 -0
  191. package/dist/types/src/internal/Format/date.d.ts +63 -0
  192. package/dist/types/src/internal/Format/date.d.ts.map +1 -0
  193. package/dist/types/src/internal/Format/date.test.d.ts +2 -0
  194. package/dist/types/src/internal/Format/date.test.d.ts.map +1 -0
  195. package/dist/types/src/internal/Format/format.d.ts +32 -0
  196. package/dist/types/src/internal/Format/format.d.ts.map +1 -0
  197. package/dist/types/src/internal/Format/format.test.d.ts +2 -0
  198. package/dist/types/src/internal/Format/format.test.d.ts.map +1 -0
  199. package/dist/types/src/internal/Format/index.d.ts +8 -0
  200. package/dist/types/src/internal/Format/index.d.ts.map +1 -0
  201. package/dist/types/src/internal/Format/number.d.ts +31 -0
  202. package/dist/types/src/internal/Format/number.d.ts.map +1 -0
  203. package/dist/types/src/internal/Format/object.d.ts +35 -0
  204. package/dist/types/src/internal/Format/object.d.ts.map +1 -0
  205. package/dist/types/src/internal/Format/select.d.ts +13 -0
  206. package/dist/types/src/internal/Format/select.d.ts.map +1 -0
  207. package/dist/types/src/internal/Format/string.d.ts +42 -0
  208. package/dist/types/src/internal/Format/string.d.ts.map +1 -0
  209. package/dist/types/src/internal/Format/types.d.ts +72 -0
  210. package/dist/types/src/internal/Format/types.d.ts.map +1 -0
  211. package/dist/types/src/internal/JsonSchema/annotations.d.ts +19 -0
  212. package/dist/types/src/internal/JsonSchema/annotations.d.ts.map +1 -0
  213. package/dist/types/src/internal/JsonSchema/effect-schema.test.d.ts +2 -0
  214. package/dist/types/src/internal/JsonSchema/effect-schema.test.d.ts.map +1 -0
  215. package/dist/types/src/internal/JsonSchema/index.d.ts +5 -0
  216. package/dist/types/src/internal/JsonSchema/index.d.ts.map +1 -0
  217. package/dist/types/src/internal/JsonSchema/json-schema-normalize.d.ts +7 -0
  218. package/dist/types/src/internal/JsonSchema/json-schema-normalize.d.ts.map +1 -0
  219. package/dist/types/src/internal/JsonSchema/json-schema-type.d.ts +351 -0
  220. package/dist/types/src/internal/JsonSchema/json-schema-type.d.ts.map +1 -0
  221. package/dist/types/src/internal/JsonSchema/json-schema.d.ts +30 -0
  222. package/dist/types/src/internal/JsonSchema/json-schema.d.ts.map +1 -0
  223. package/dist/types/src/internal/JsonSchema/json-schema.test.d.ts +2 -0
  224. package/dist/types/src/internal/JsonSchema/json-schema.test.d.ts.map +1 -0
  225. package/dist/types/src/internal/Obj/clone.d.ts +8 -0
  226. package/dist/types/src/internal/Obj/clone.d.ts.map +1 -0
  227. package/dist/types/src/internal/Obj/common.d.ts +18 -0
  228. package/dist/types/src/internal/Obj/common.d.ts.map +1 -0
  229. package/dist/types/src/internal/Obj/create-object.d.ts +39 -0
  230. package/dist/types/src/internal/Obj/create-object.d.ts.map +1 -0
  231. package/dist/types/src/internal/Obj/create-object.test.d.ts +2 -0
  232. package/dist/types/src/internal/Obj/create-object.test.d.ts.map +1 -0
  233. package/dist/types/src/internal/Obj/deleted.d.ts +6 -0
  234. package/dist/types/src/internal/Obj/deleted.d.ts.map +1 -0
  235. package/dist/types/src/internal/Obj/ids.d.ts +6 -0
  236. package/dist/types/src/internal/Obj/ids.d.ts.map +1 -0
  237. package/dist/types/src/internal/Obj/index.d.ts +11 -0
  238. package/dist/types/src/internal/Obj/index.d.ts.map +1 -0
  239. package/dist/types/src/internal/Obj/inspect.d.ts +2 -0
  240. package/dist/types/src/internal/Obj/inspect.d.ts.map +1 -0
  241. package/dist/types/src/internal/Obj/json-serializer.d.ts +44 -0
  242. package/dist/types/src/internal/Obj/json-serializer.d.ts.map +1 -0
  243. package/dist/types/src/internal/Obj/json-serializer.test.d.ts +2 -0
  244. package/dist/types/src/internal/Obj/json-serializer.test.d.ts.map +1 -0
  245. package/dist/types/src/internal/Obj/schema-validator.d.ts +2 -0
  246. package/dist/types/src/internal/Obj/schema-validator.d.ts.map +1 -0
  247. package/dist/types/src/internal/Obj/schema-validator.test.d.ts +2 -0
  248. package/dist/types/src/internal/Obj/schema-validator.test.d.ts.map +1 -0
  249. package/dist/types/src/internal/Obj/set-value.d.ts +7 -0
  250. package/dist/types/src/internal/Obj/set-value.d.ts.map +1 -0
  251. package/dist/types/src/internal/Obj/set-value.test.d.ts +2 -0
  252. package/dist/types/src/internal/Obj/set-value.test.d.ts.map +1 -0
  253. package/dist/types/src/internal/Obj/snapshot.d.ts +6 -0
  254. package/dist/types/src/internal/Obj/snapshot.d.ts.map +1 -0
  255. package/dist/types/src/internal/Obj/typed-object.d.ts +25 -0
  256. package/dist/types/src/internal/Obj/typed-object.d.ts.map +1 -0
  257. package/dist/types/src/internal/Obj/typed-object.test.d.ts +2 -0
  258. package/dist/types/src/internal/Obj/typed-object.test.d.ts.map +1 -0
  259. package/dist/types/src/internal/Query.d.ts +10 -0
  260. package/dist/types/src/internal/Query.d.ts.map +1 -0
  261. package/dist/types/src/internal/Ref/index.d.ts +3 -0
  262. package/dist/types/src/internal/Ref/index.d.ts.map +1 -0
  263. package/dist/types/src/internal/Ref/ref-array.d.ts +21 -0
  264. package/dist/types/src/internal/Ref/ref-array.d.ts.map +1 -0
  265. package/dist/types/src/internal/Ref/ref.d.ts +231 -0
  266. package/dist/types/src/internal/Ref/ref.d.ts.map +1 -0
  267. package/dist/types/src/internal/Ref/ref.test.d.ts +2 -0
  268. package/dist/types/src/internal/Ref/ref.test.d.ts.map +1 -0
  269. package/dist/types/src/internal/Type/compose.d.ts +7 -0
  270. package/dist/types/src/internal/Type/compose.d.ts.map +1 -0
  271. package/dist/types/src/internal/Type/compose.test.d.ts +2 -0
  272. package/dist/types/src/internal/Type/compose.test.d.ts.map +1 -0
  273. package/dist/types/src/internal/Type/echo-schema.d.ts +181 -0
  274. package/dist/types/src/internal/Type/echo-schema.d.ts.map +1 -0
  275. package/dist/types/src/internal/Type/index.d.ts +4 -0
  276. package/dist/types/src/internal/Type/index.d.ts.map +1 -0
  277. package/dist/types/src/internal/Type/manipulation.d.ts +10 -0
  278. package/dist/types/src/internal/Type/manipulation.d.ts.map +1 -0
  279. package/dist/types/src/internal/Type/persistent-schema.d.ts +20 -0
  280. package/dist/types/src/internal/Type/persistent-schema.d.ts.map +1 -0
  281. package/dist/types/src/internal/common/api/index.d.ts +11 -0
  282. package/dist/types/src/internal/common/api/index.d.ts.map +1 -0
  283. package/dist/types/src/internal/common/api/meta.d.ts +42 -0
  284. package/dist/types/src/internal/common/api/meta.d.ts.map +1 -0
  285. package/dist/types/src/internal/common/index.d.ts +4 -0
  286. package/dist/types/src/internal/common/index.d.ts.map +1 -0
  287. package/dist/types/src/internal/common/proxy/change-context.d.ts +55 -0
  288. package/dist/types/src/internal/common/proxy/change-context.d.ts.map +1 -0
  289. package/dist/types/src/internal/common/proxy/change.test.d.ts +2 -0
  290. package/dist/types/src/internal/common/proxy/change.test.d.ts.map +1 -0
  291. package/dist/types/src/internal/common/proxy/define-hidden-property.d.ts +5 -0
  292. package/dist/types/src/internal/common/proxy/define-hidden-property.d.ts.map +1 -0
  293. package/dist/types/src/internal/common/proxy/errors.d.ts +19 -0
  294. package/dist/types/src/internal/common/proxy/errors.d.ts.map +1 -0
  295. package/dist/types/src/internal/common/proxy/event-batch.d.ts +10 -0
  296. package/dist/types/src/internal/common/proxy/event-batch.d.ts.map +1 -0
  297. package/dist/types/src/internal/common/proxy/handler.test.d.ts +2 -0
  298. package/dist/types/src/internal/common/proxy/handler.test.d.ts.map +1 -0
  299. package/dist/types/src/internal/common/proxy/index.d.ts +14 -0
  300. package/dist/types/src/internal/common/proxy/index.d.ts.map +1 -0
  301. package/dist/types/src/internal/common/proxy/json-serializer.d.ts +6 -0
  302. package/dist/types/src/internal/common/proxy/json-serializer.d.ts.map +1 -0
  303. package/dist/types/src/internal/common/proxy/make-object.d.ts +14 -0
  304. package/dist/types/src/internal/common/proxy/make-object.d.ts.map +1 -0
  305. package/dist/types/src/internal/common/proxy/ownership.d.ts +57 -0
  306. package/dist/types/src/internal/common/proxy/ownership.d.ts.map +1 -0
  307. package/dist/types/src/internal/common/proxy/proxy-types.d.ts +18 -0
  308. package/dist/types/src/internal/common/proxy/proxy-types.d.ts.map +1 -0
  309. package/dist/types/src/internal/common/proxy/proxy-utils.d.ts +47 -0
  310. package/dist/types/src/internal/common/proxy/proxy-utils.d.ts.map +1 -0
  311. package/dist/types/src/internal/common/proxy/reactive-array.d.ts +8 -0
  312. package/dist/types/src/internal/common/proxy/reactive-array.d.ts.map +1 -0
  313. package/dist/types/src/internal/common/proxy/reactive.d.ts +39 -0
  314. package/dist/types/src/internal/common/proxy/reactive.d.ts.map +1 -0
  315. package/dist/types/src/internal/common/proxy/schema-validator.d.ts +15 -0
  316. package/dist/types/src/internal/common/proxy/schema-validator.d.ts.map +1 -0
  317. package/dist/types/src/internal/common/proxy/schema.test.d.ts +2 -0
  318. package/dist/types/src/internal/common/proxy/schema.test.d.ts.map +1 -0
  319. package/dist/types/src/internal/common/proxy/symbols.d.ts +3 -0
  320. package/dist/types/src/internal/common/proxy/symbols.d.ts.map +1 -0
  321. package/dist/types/src/internal/common/proxy/typed-handler.d.ts +48 -0
  322. package/dist/types/src/internal/common/proxy/typed-handler.d.ts.map +1 -0
  323. package/dist/types/src/internal/common/proxy/typed-handler.test.d.ts +2 -0
  324. package/dist/types/src/internal/common/proxy/typed-handler.test.d.ts.map +1 -0
  325. package/dist/types/src/internal/common/proxy/typed-object.test.d.ts +2 -0
  326. package/dist/types/src/internal/common/proxy/typed-object.test.d.ts.map +1 -0
  327. package/dist/types/src/internal/common/types/base.d.ts +27 -0
  328. package/dist/types/src/internal/common/types/base.d.ts.map +1 -0
  329. package/dist/types/src/internal/common/types/entity.d.ts +37 -0
  330. package/dist/types/src/internal/common/types/entity.d.ts.map +1 -0
  331. package/dist/types/src/internal/common/types/index.d.ts +7 -0
  332. package/dist/types/src/internal/common/types/index.d.ts.map +1 -0
  333. package/dist/types/src/internal/common/types/meta.d.ts +33 -0
  334. package/dist/types/src/internal/common/types/meta.d.ts.map +1 -0
  335. package/dist/types/src/internal/common/types/model-symbols.d.ts +54 -0
  336. package/dist/types/src/internal/common/types/model-symbols.d.ts.map +1 -0
  337. package/dist/types/src/internal/common/types/typename.d.ts +21 -0
  338. package/dist/types/src/internal/common/types/typename.d.ts.map +1 -0
  339. package/dist/types/src/internal/common/types/version.d.ts +15 -0
  340. package/dist/types/src/internal/common/types/version.d.ts.map +1 -0
  341. package/dist/types/src/internal/index.d.ts +11 -0
  342. package/dist/types/src/internal/index.d.ts.map +1 -0
  343. package/dist/types/src/{test → testing}/api.test.d.ts.map +1 -1
  344. package/dist/types/src/testing/index.d.ts +3 -1
  345. package/dist/types/src/testing/index.d.ts.map +1 -1
  346. package/dist/types/src/testing/test-data.d.ts +18 -0
  347. package/dist/types/src/testing/test-data.d.ts.map +1 -0
  348. package/dist/types/src/testing/test-schema.d.ts +304 -0
  349. package/dist/types/src/testing/test-schema.d.ts.map +1 -0
  350. package/dist/types/src/testing/util.d.ts +21 -0
  351. package/dist/types/src/testing/util.d.ts.map +1 -0
  352. package/dist/types/tsconfig.tsbuildinfo +1 -1
  353. package/package.json +117 -53
  354. package/src/Annotation.ts +48 -0
  355. package/src/Collection.ts +37 -0
  356. package/src/Database.ts +330 -0
  357. package/src/Dataset.ts +26 -0
  358. package/src/Entity.test.ts +22 -0
  359. package/src/Entity.ts +236 -0
  360. package/src/Err.ts +40 -0
  361. package/src/Extension.test.ts +235 -0
  362. package/src/Extension.ts +122 -0
  363. package/src/Feed.ts +268 -0
  364. package/src/Filter.test.ts +90 -0
  365. package/src/Filter.ts +424 -0
  366. package/src/Format.ts +9 -0
  367. package/src/Hypergraph.ts +79 -0
  368. package/src/JsonSchema.ts +26 -0
  369. package/src/Key.ts +3 -0
  370. package/src/Obj.test.ts +447 -0
  371. package/src/Obj.ts +647 -78
  372. package/src/Order.ts +46 -0
  373. package/src/Query.test.ts +698 -0
  374. package/src/Query.ts +547 -0
  375. package/src/QueryResult.ts +106 -0
  376. package/src/Ref.ts +78 -9
  377. package/src/Relation.test.ts +88 -0
  378. package/src/Relation.ts +449 -52
  379. package/src/SchemaRegistry.ts +106 -0
  380. package/src/Tag.ts +41 -0
  381. package/src/Type.test.ts +52 -0
  382. package/src/Type.ts +168 -153
  383. package/src/View.ts +107 -0
  384. package/src/hierarchy.test.ts +33 -0
  385. package/src/index.ts +22 -4
  386. package/src/internal/Annotation/annotations.test.ts +146 -0
  387. package/src/internal/Annotation/annotations.ts +579 -0
  388. package/src/internal/Annotation/index.ts +7 -0
  389. package/src/internal/Annotation/sorting.ts +52 -0
  390. package/src/internal/Annotation/util.ts +85 -0
  391. package/src/internal/Entity/api.ts +31 -0
  392. package/src/internal/Entity/entity.ts +128 -0
  393. package/src/internal/Entity/index.ts +11 -0
  394. package/src/internal/Entity/model.ts +109 -0
  395. package/src/internal/Entity/object.ts +58 -0
  396. package/src/internal/Entity/relation.ts +154 -0
  397. package/src/internal/Entity/util.ts +33 -0
  398. package/src/internal/Entity/version.ts +97 -0
  399. package/src/internal/Format/date.test.ts +56 -0
  400. package/src/internal/Format/date.ts +217 -0
  401. package/src/internal/Format/format.test.ts +77 -0
  402. package/src/internal/Format/format.ts +54 -0
  403. package/src/internal/Format/index.ts +12 -0
  404. package/src/internal/Format/number.ts +89 -0
  405. package/src/internal/Format/object.ts +80 -0
  406. package/src/internal/Format/select.ts +18 -0
  407. package/src/internal/Format/string.ts +81 -0
  408. package/src/internal/Format/types.ts +186 -0
  409. package/src/internal/JsonSchema/annotations.ts +50 -0
  410. package/src/internal/JsonSchema/effect-schema.test.ts +143 -0
  411. package/src/internal/JsonSchema/index.ts +8 -0
  412. package/src/internal/JsonSchema/json-schema-normalize.ts +111 -0
  413. package/src/internal/JsonSchema/json-schema-type.ts +403 -0
  414. package/src/internal/JsonSchema/json-schema.test.ts +861 -0
  415. package/src/internal/JsonSchema/json-schema.ts +534 -0
  416. package/src/internal/Obj/clone.ts +48 -0
  417. package/src/internal/Obj/common.ts +75 -0
  418. package/src/internal/Obj/create-object.test.ts +116 -0
  419. package/src/internal/Obj/create-object.ts +95 -0
  420. package/src/internal/Obj/deleted.ts +19 -0
  421. package/src/internal/Obj/ids.ts +12 -0
  422. package/src/internal/Obj/index.ts +14 -0
  423. package/src/internal/Obj/inspect.ts +46 -0
  424. package/src/internal/Obj/json-serializer.test.ts +121 -0
  425. package/src/internal/Obj/json-serializer.ts +215 -0
  426. package/src/internal/Obj/schema-validator.test.ts +182 -0
  427. package/src/internal/Obj/schema-validator.ts +6 -0
  428. package/src/internal/Obj/set-value.test.ts +281 -0
  429. package/src/internal/Obj/set-value.ts +165 -0
  430. package/src/internal/Obj/snapshot.ts +105 -0
  431. package/src/internal/Obj/typed-object.test.ts +34 -0
  432. package/src/internal/Obj/typed-object.ts +30 -0
  433. package/src/internal/Query.ts +132 -0
  434. package/src/internal/Ref/index.ts +6 -0
  435. package/src/internal/Ref/ref-array.ts +39 -0
  436. package/src/internal/Ref/ref.test.ts +101 -0
  437. package/src/internal/Ref/ref.ts +572 -0
  438. package/src/internal/Type/compose.test.ts +42 -0
  439. package/src/internal/Type/compose.ts +41 -0
  440. package/src/internal/Type/echo-schema.ts +424 -0
  441. package/src/internal/Type/index.ts +7 -0
  442. package/src/internal/Type/manipulation.ts +92 -0
  443. package/src/internal/Type/persistent-schema.ts +33 -0
  444. package/src/internal/common/README.md +102 -0
  445. package/src/internal/common/api/index.ts +15 -0
  446. package/src/internal/common/api/meta.ts +88 -0
  447. package/src/internal/common/index.ts +7 -0
  448. package/src/internal/common/proxy/change-context.ts +138 -0
  449. package/src/internal/common/proxy/change.test.ts +519 -0
  450. package/src/internal/common/proxy/define-hidden-property.ts +14 -0
  451. package/src/internal/common/proxy/errors.ts +42 -0
  452. package/src/internal/common/proxy/event-batch.ts +44 -0
  453. package/src/internal/common/proxy/handler.test.ts +123 -0
  454. package/src/internal/common/proxy/index.ts +17 -0
  455. package/src/internal/common/proxy/json-serializer.ts +90 -0
  456. package/src/internal/common/proxy/make-object.ts +106 -0
  457. package/src/internal/common/proxy/ownership.ts +253 -0
  458. package/src/internal/common/proxy/proxy-types.ts +23 -0
  459. package/src/internal/common/proxy/proxy-utils.ts +150 -0
  460. package/src/internal/common/proxy/reactive-array.ts +71 -0
  461. package/src/internal/common/proxy/reactive.ts +69 -0
  462. package/src/internal/common/proxy/schema-validator.ts +244 -0
  463. package/src/internal/common/proxy/schema.test.ts +145 -0
  464. package/src/internal/common/proxy/symbols.ts +7 -0
  465. package/src/internal/common/proxy/typed-handler.test.ts +314 -0
  466. package/src/internal/common/proxy/typed-handler.ts +449 -0
  467. package/src/internal/common/proxy/typed-object.test.ts +116 -0
  468. package/src/internal/common/types/base.ts +43 -0
  469. package/src/internal/common/types/entity.ts +54 -0
  470. package/src/internal/common/types/index.ts +10 -0
  471. package/src/internal/common/types/meta.ts +68 -0
  472. package/src/internal/common/types/model-symbols.ts +69 -0
  473. package/src/internal/common/types/typename.ts +55 -0
  474. package/src/internal/common/types/version.ts +19 -0
  475. package/src/internal/index.ts +17 -0
  476. package/src/testing/api.test.ts +126 -0
  477. package/src/testing/index.ts +3 -1
  478. package/src/testing/test-data.ts +130 -0
  479. package/src/testing/test-schema.ts +240 -0
  480. package/src/testing/util.ts +85 -0
  481. package/dist/lib/browser/chunk-EUA7CM23.mjs +0 -619
  482. package/dist/lib/browser/chunk-EUA7CM23.mjs.map +0 -7
  483. package/dist/lib/browser/index.mjs +0 -22
  484. package/dist/lib/browser/meta.json +0 -1
  485. package/dist/lib/browser/testing/index.mjs +0 -70
  486. package/dist/lib/browser/testing/index.mjs.map +0 -7
  487. package/dist/lib/node-esm/chunk-IV6BWGHK.mjs +0 -619
  488. package/dist/lib/node-esm/chunk-IV6BWGHK.mjs.map +0 -7
  489. package/dist/lib/node-esm/index.mjs +0 -22
  490. package/dist/lib/node-esm/meta.json +0 -1
  491. package/dist/lib/node-esm/testing/index.mjs +0 -70
  492. package/dist/lib/node-esm/testing/index.mjs.map +0 -7
  493. package/dist/types/src/experimental/database.d.ts +0 -8
  494. package/dist/types/src/experimental/database.d.ts.map +0 -1
  495. package/dist/types/src/experimental/index.d.ts +0 -1
  496. package/dist/types/src/experimental/index.d.ts.map +0 -1
  497. package/dist/types/src/experimental/queue.d.ts +0 -8
  498. package/dist/types/src/experimental/queue.d.ts.map +0 -1
  499. package/dist/types/src/experimental/space.d.ts +0 -8
  500. package/dist/types/src/experimental/space.d.ts.map +0 -1
  501. package/dist/types/src/query/dsl.d.ts +0 -218
  502. package/dist/types/src/query/dsl.d.ts.map +0 -1
  503. package/dist/types/src/query/dsl.test.d.ts +0 -2
  504. package/dist/types/src/query/dsl.test.d.ts.map +0 -1
  505. package/dist/types/src/query/index.d.ts +0 -2
  506. package/dist/types/src/query/index.d.ts.map +0 -1
  507. package/dist/types/src/testing/types.d.ts +0 -113
  508. package/dist/types/src/testing/types.d.ts.map +0 -1
  509. package/src/experimental/database.ts +0 -11
  510. package/src/experimental/index.ts +0 -7
  511. package/src/experimental/queue.ts +0 -11
  512. package/src/experimental/space.ts +0 -11
  513. package/src/query/dsl.test.ts +0 -323
  514. package/src/query/dsl.ts +0 -646
  515. package/src/query/index.ts +0 -5
  516. package/src/test/api.test.ts +0 -173
  517. package/src/testing/types.ts +0 -91
  518. /package/dist/lib/{browser/index.mjs.map → neutral/Annotation.mjs.map} +0 -0
  519. /package/dist/lib/{node-esm/index.mjs.map → neutral/Database.mjs.map} +0 -0
  520. /package/dist/types/src/{test → testing}/api.test.d.ts +0 -0
@@ -0,0 +1,27 @@
1
+ import {
2
+ JsonSchemaType,
3
+ toEffectSchema,
4
+ toJsonSchema
5
+ } from "./chunk-ZCBOJ6I7.mjs";
6
+ import {
7
+ __export
8
+ } from "./chunk-J5LGTIGS.mjs";
9
+
10
+ // src/JsonSchema.ts
11
+ var JsonSchema_exports = {};
12
+ __export(JsonSchema_exports, {
13
+ JsonSchema: () => JsonSchema,
14
+ toEffectSchema: () => toEffectSchema2,
15
+ toJsonSchema: () => toJsonSchema2
16
+ });
17
+ var toEffectSchema2 = toEffectSchema;
18
+ var toJsonSchema2 = toJsonSchema;
19
+ var JsonSchema = JsonSchemaType;
20
+
21
+ export {
22
+ toEffectSchema2 as toEffectSchema,
23
+ toJsonSchema2 as toJsonSchema,
24
+ JsonSchema,
25
+ JsonSchema_exports
26
+ };
27
+ //# sourceMappingURL=chunk-IICPQK3M.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/JsonSchema.ts"],
4
+ "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\n// @import-as-namespace\n\nimport type * as Schema from 'effect/Schema';\n\nimport * as jsonSchemaInternal from './internal/JsonSchema';\n\n/**\n * Decode JSON Schema to Effect Schema.\n */\nexport const toEffectSchema = jsonSchemaInternal.toEffectSchema;\n\n/**\n * Encode Effect Schema to JSON Schema.\n */\nexport const toJsonSchema = jsonSchemaInternal.toJsonSchema;\n\n/**\n * Serializable JsonSchema type definition.\n */\nexport type JsonSchema = jsonSchemaInternal.JsonSchemaType;\n\nexport const JsonSchema: Schema.Schema<jsonSchemaInternal.JsonSchemaType> = jsonSchemaInternal.JsonSchemaType;\n"],
5
+ "mappings": ";;;;;;;;;;AAAA;;;wBAAAA;EAAA,oBAAAC;;AAaO,IAAMC,kBAAoCA;AAK1C,IAAMC,gBAAkCA;AAOxC,IAAMC,aAAkFC;",
6
+ "names": ["toEffectSchema", "toJsonSchema", "toEffectSchema", "toJsonSchema", "JsonSchema", "JsonSchemaType"]
7
+ }
@@ -0,0 +1,10 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __export = (target, all) => {
3
+ for (var name in all)
4
+ __defProp(target, name, { get: all[name], enumerable: true });
5
+ };
6
+
7
+ export {
8
+ __export
9
+ };
10
+ //# sourceMappingURL=chunk-J5LGTIGS.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": [],
4
+ "sourcesContent": [],
5
+ "mappings": "",
6
+ "names": []
7
+ }
@@ -0,0 +1,56 @@
1
+ import {
2
+ object
3
+ } from "./chunk-DUTD5HFU.mjs";
4
+ import {
5
+ make
6
+ } from "./chunk-CAB5PWUF.mjs";
7
+ import {
8
+ LabelAnnotation,
9
+ SystemTypeAnnotation
10
+ } from "./chunk-4ZRIO2QF.mjs";
11
+ import {
12
+ __export
13
+ } from "./chunk-J5LGTIGS.mjs";
14
+
15
+ // src/Tag.ts
16
+ var Tag_exports = {};
17
+ __export(Tag_exports, {
18
+ Tag: () => Tag,
19
+ createTagList: () => createTagList,
20
+ findTagByLabel: () => findTagByLabel,
21
+ make: () => make2,
22
+ sortTags: () => sortTags
23
+ });
24
+ import * as Schema from "effect/Schema";
25
+ var Tag = Schema.Struct({
26
+ label: Schema.String,
27
+ hue: Schema.optional(Schema.String)
28
+ }).pipe(object({
29
+ typename: "org.dxos.type.tag",
30
+ version: "0.1.0"
31
+ }), LabelAnnotation.set([
32
+ "label"
33
+ ]), SystemTypeAnnotation.set(true));
34
+ var make2 = (props) => make(Tag, props);
35
+ var sortTags = ({ label: a }, { label: b }) => a.localeCompare(b);
36
+ var createTagList = (tags) => Object.entries(tags).map(([id, tag]) => ({
37
+ ...tag,
38
+ id
39
+ })).sort(sortTags);
40
+ var findTagByLabel = (tags, name) => {
41
+ const entry = Object.entries(tags ?? {}).find(([_, tag]) => tag.label.toLowerCase() === name.toLowerCase());
42
+ return entry ? {
43
+ ...entry[1],
44
+ id: entry[0]
45
+ } : void 0;
46
+ };
47
+
48
+ export {
49
+ Tag,
50
+ make2 as make,
51
+ sortTags,
52
+ createTagList,
53
+ findTagByLabel,
54
+ Tag_exports
55
+ };
56
+ //# sourceMappingURL=chunk-NKPWM67P.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/Tag.ts"],
4
+ "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\n// @import-as-namespace\n\nimport * as Schema from 'effect/Schema';\n\nimport * as internal from './internal';\nimport * as Obj from './Obj';\nimport * as Type from './Type';\n\nexport const Tag = Schema.Struct({\n label: Schema.String,\n hue: Schema.optional(Schema.String), // TODO(burdon): Color name?\n}).pipe(\n Type.object({\n typename: 'org.dxos.type.tag',\n version: '0.1.0',\n }),\n internal.LabelAnnotation.set(['label']),\n internal.SystemTypeAnnotation.set(true),\n);\n\nexport type Tag = Schema.Schema.Type<typeof Tag>;\n\nexport const make = (props: Obj.MakeProps<typeof Tag>) => Obj.make(Tag, props);\n\nexport type Map = Record<string, Tag>;\n\nexport const sortTags = ({ label: a }: Tag, { label: b }: Tag) => a.localeCompare(b);\n\nexport const createTagList = (tags: Map): Tag[] =>\n Object.entries(tags)\n .map(([id, tag]) => ({ ...tag, id }))\n .sort(sortTags);\n\nexport const findTagByLabel = (tags: Map | undefined, name: string): Tag | undefined => {\n const entry = Object.entries(tags ?? {}).find(([_, tag]) => tag.label.toLowerCase() === name.toLowerCase());\n return entry ? { ...entry[1], id: entry[0] } : undefined;\n};\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;AAAA;;;;;cAAAA;EAAA;;AAMA,YAAYC,YAAY;AAMjB,IAAMC,MAAaC,cAAO;EAC/BC,OAAcC;EACdC,KAAYC,gBAAgBF,aAAM;AACpC,CAAA,EAAGG,KACIC,OAAO;EACVC,UAAU;EACVC,SAAS;AACX,CAAA,GACSC,gBAAgBC,IAAI;EAAC;CAAQ,GAC7BC,qBAAqBD,IAAI,IAAA,CAAA;AAK7B,IAAME,QAAO,CAACC,UAAyCD,KAAKb,KAAKc,KAAAA;AAIjE,IAAMC,WAAW,CAAC,EAAEb,OAAOc,EAAC,GAAS,EAAEd,OAAOe,EAAC,MAAYD,EAAEE,cAAcD,CAAAA;AAE3E,IAAME,gBAAgB,CAACC,SAC5BC,OAAOC,QAAQF,IAAAA,EACZG,IAAI,CAAC,CAACC,IAAIC,GAAAA,OAAU;EAAE,GAAGA;EAAKD;AAAG,EAAA,EACjCE,KAAKX,QAAAA;AAEH,IAAMY,iBAAiB,CAACP,MAAuBQ,SAAAA;AACpD,QAAMC,QAAQR,OAAOC,QAAQF,QAAQ,CAAC,CAAA,EAAGU,KAAK,CAAC,CAACC,GAAGN,GAAAA,MAASA,IAAIvB,MAAM8B,YAAW,MAAOJ,KAAKI,YAAW,CAAA;AACxG,SAAOH,QAAQ;IAAE,GAAGA,MAAM,CAAA;IAAIL,IAAIK,MAAM,CAAA;EAAG,IAAII;AACjD;",
6
+ "names": ["make", "Schema", "Tag", "Struct", "label", "String", "hue", "optional", "pipe", "object", "typename", "version", "LabelAnnotation", "set", "SystemTypeAnnotation", "make", "props", "sortTags", "a", "b", "localeCompare", "createTagList", "tags", "Object", "entries", "map", "id", "tag", "sort", "findTagByLabel", "name", "entry", "find", "_", "toLowerCase", "undefined"]
7
+ }
@@ -0,0 +1,7 @@
1
+ // src/QueryResult.ts
2
+ var QueryResult_exports = {};
3
+
4
+ export {
5
+ QueryResult_exports
6
+ };
7
+ //# sourceMappingURL=chunk-OMUPQMLR.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/QueryResult.ts"],
4
+ "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { type CleanupFn } from '@dxos/async';\n\nimport type * as Entity from './Entity';\n\n/**\n * Individual query result entry.\n */\nexport type Entry<T> = {\n id: string;\n\n /**\n * May not be present for remote results.\n */\n result?: T;\n\n match?: {\n // TODO(dmaretskyi): text positional info.\n\n /**\n * Higher means better match.\n */\n rank: number;\n };\n\n /**\n * Query resolution metadata.\n */\n // TODO(dmaretskyi): Rename to meta?\n resolution?: {\n // TODO(dmaretskyi): Make this more generic.\n source: 'remote' | 'local' | 'index';\n\n /**\n * Query resolution time in milliseconds.\n */\n time: number;\n };\n};\n\n/**\n * Invidual query result entry for a database Entity.\n */\nexport type EntityEntry<T extends Entity.Unknown = Entity.Unknown> = Entry<T>;\n\nexport type RunOptions = {\n timeout?: number;\n};\n\nexport type SubscriptionOptions = {\n /**\n * Fire the callback immediately.\n */\n fire?: boolean;\n};\n\n// TODO(burdon): Should T be constrained to Entity.Any?\nexport interface QueryResult<T> {\n /**\n * Currently available results along with their match metadata.\n */\n readonly entries: Entry<T>[];\n\n /**\n * Currently available results.\n */\n readonly results: T[];\n\n /**\n * Returns all known results.\n */\n run(opts?: RunOptions): Promise<T[]>;\n\n /**\n * Returns all known results along with their match metadata.\n */\n runEntries(opts?: RunOptions): Promise<Entry<T>[]>;\n\n /**\n * Returns currently available results synchronously.\n */\n runSync(): T[];\n\n /**\n * Returns currently available results synchronously along with their match metadata.\n */\n runSyncEntries(): Entry<T>[];\n\n /**\n * Returns first result.\n */\n first(opts?: RunOptions): Promise<T>;\n\n /**\n * Returns first result if there is one.\n */\n firstOrUndefined(opts?: RunOptions): Promise<T | undefined>;\n\n /**\n * Subscribes to changes in query results.\n */\n subscribe(callback?: (query: QueryResult<T>) => void, opts?: SubscriptionOptions): CleanupFn;\n}\n"],
5
+ "mappings": ";AAAA;",
6
+ "names": []
7
+ }
@@ -0,0 +1,121 @@
1
+ import {
2
+ MetaId,
3
+ addTag,
4
+ change,
5
+ getDXN,
6
+ getDatabase,
7
+ getKeys,
8
+ getMetaChecked,
9
+ isDeleted,
10
+ objectToJSON,
11
+ removeTag,
12
+ subscribe
13
+ } from "./chunk-7C2A2RP6.mjs";
14
+ import {
15
+ getDescription,
16
+ getEntityKind,
17
+ getLabel,
18
+ getTypeDXN,
19
+ getTypename
20
+ } from "./chunk-4ZRIO2QF.mjs";
21
+ import {
22
+ EntityKind,
23
+ EntityKindSchema,
24
+ KindId,
25
+ SnapshotKindId
26
+ } from "./chunk-TBKX6JQO.mjs";
27
+ import {
28
+ __export
29
+ } from "./chunk-J5LGTIGS.mjs";
30
+
31
+ // src/Entity.ts
32
+ var Entity_exports = {};
33
+ __export(Entity_exports, {
34
+ Kind: () => Kind,
35
+ KindId: () => KindId2,
36
+ KindSchema: () => KindSchema,
37
+ Meta: () => Meta,
38
+ SnapshotKindId: () => SnapshotKindId2,
39
+ addTag: () => addTag2,
40
+ change: () => change2,
41
+ getDXN: () => getDXN2,
42
+ getDatabase: () => getDatabase2,
43
+ getDescription: () => getDescription2,
44
+ getKeys: () => getKeys2,
45
+ getKind: () => getKind,
46
+ getLabel: () => getLabel2,
47
+ getMeta: () => getMeta,
48
+ getTypeDXN: () => getTypeDXN2,
49
+ getTypename: () => getTypename2,
50
+ isDeleted: () => isDeleted2,
51
+ isEntity: () => isEntity,
52
+ isSnapshot: () => isSnapshot,
53
+ removeTag: () => removeTag2,
54
+ subscribe: () => subscribe2,
55
+ toJSON: () => toJSON
56
+ });
57
+ var KindId2 = KindId;
58
+ var SnapshotKindId2 = SnapshotKindId;
59
+ var Kind = EntityKind;
60
+ var KindSchema = EntityKindSchema;
61
+ var isEntity = (value) => {
62
+ if (typeof value !== "object" || value === null) {
63
+ return false;
64
+ }
65
+ return value[KindId2] !== void 0;
66
+ };
67
+ var isSnapshot = (value) => {
68
+ if (typeof value !== "object" || value === null) {
69
+ return false;
70
+ }
71
+ return value[SnapshotKindId2] !== void 0;
72
+ };
73
+ var getKind = getEntityKind;
74
+ var Meta = MetaId;
75
+ var getDXN2 = (entity) => getDXN(entity);
76
+ var getTypeDXN2 = getTypeDXN;
77
+ var getTypename2 = (entity) => getTypename(entity);
78
+ var getDatabase2 = (entity) => getDatabase(entity);
79
+ function getMeta(entity) {
80
+ return getMetaChecked(entity);
81
+ }
82
+ var getKeys2 = (entity, source) => getKeys(entity, source);
83
+ var isDeleted2 = (entity) => isDeleted(entity);
84
+ var getLabel2 = (entity) => getLabel(entity);
85
+ var getDescription2 = (entity) => getDescription(entity);
86
+ var toJSON = (entity) => objectToJSON(entity);
87
+ var subscribe2 = (entity, callback) => {
88
+ return subscribe(entity, callback);
89
+ };
90
+ var change2 = (entity, callback) => {
91
+ change(entity, callback);
92
+ };
93
+ var addTag2 = (entity, tag) => addTag(entity, tag);
94
+ var removeTag2 = (entity, tag) => removeTag(entity, tag);
95
+
96
+ export {
97
+ KindId2 as KindId,
98
+ SnapshotKindId2 as SnapshotKindId,
99
+ Kind,
100
+ KindSchema,
101
+ isEntity,
102
+ isSnapshot,
103
+ getKind,
104
+ Meta,
105
+ getDXN2 as getDXN,
106
+ getTypeDXN2 as getTypeDXN,
107
+ getTypename2 as getTypename,
108
+ getDatabase2 as getDatabase,
109
+ getMeta,
110
+ getKeys2 as getKeys,
111
+ isDeleted2 as isDeleted,
112
+ getLabel2 as getLabel,
113
+ getDescription2 as getDescription,
114
+ toJSON,
115
+ subscribe2 as subscribe,
116
+ change2 as change,
117
+ addTag2 as addTag,
118
+ removeTag2 as removeTag,
119
+ Entity_exports
120
+ };
121
+ //# sourceMappingURL=chunk-OPMZTWI3.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/Entity.ts"],
4
+ "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\n// @import-as-namespace\n\nimport type { ForeignKey } from '@dxos/echo-protocol';\nimport type { DXN, ObjectId } from '@dxos/keys';\n\nimport * as internal from './internal';\nimport type * as Relation from './Relation';\n\n// Re-export KindId and SnapshotKindId from internal.\nexport const KindId = internal.KindId;\nexport type KindId = typeof internal.KindId;\nexport const SnapshotKindId = internal.SnapshotKindId;\nexport type SnapshotKindId = typeof internal.SnapshotKindId;\n\n// NOTE: Relation does not extend Obj so that, for example, we can prevent Relations from being used as source and target objects.\n// However, we generally refer to Obj and Relation instances as \"objects\",\n// and many API methods accept both Obj.Unknown and Relation.Unknown (i.e., Entity.Unknown) instances.\n\nexport const Kind = internal.EntityKind;\nexport type Kind = internal.EntityKind;\nexport const KindSchema = internal.EntityKindSchema;\n\n/**\n * Assigns a kind to an Object or Relation instance.\n * NOTE: Needed to make `isRelation` and `isObject` checks work.\n */\nexport interface OfKind<K extends Kind> {\n readonly [KindId]: K;\n readonly id: ObjectId;\n}\n\n/**\n * Assigns a snapshot kind to an Object or Relation snapshot.\n */\nexport interface SnapshotOfKind<K extends Kind> {\n readonly [SnapshotKindId]: K;\n readonly id: ObjectId;\n}\n\n/**\n * Obj or Relation with a specific set of properties.\n */\nexport type Entity<Props> = OfKind<Kind> & Props;\n\n/**\n * Unknown Obj or Relation (reactive).\n */\nexport interface Unknown extends OfKind<Kind> {}\n\n/**\n * Snapshot of an Obj or Relation.\n * Branded with SnapshotKindId instead of KindId.\n */\nexport interface Snapshot extends SnapshotOfKind<Kind> {}\n\n/**\n * Object with arbitrary properties.\n *\n * NOTE: Due to how typescript works, this type is not assignable to a specific schema type.\n * In that case, use `Obj.instanceOf` to check if an object is of a specific type.\n *\n * This type is very permissive and allows accessing any property on the object.\n * We should move to Obj.Unknown that is not permissive and requires explicit instanceof checks..\n */\nexport interface Any extends OfKind<Kind> {\n [key: string]: unknown;\n}\n\n/**\n * Returns all properties of an object or relation except for the id and kind.\n */\nexport type Properties<T> = Omit<T, 'id' | KindId | Relation.Source | Relation.Target>;\n\n/**\n * Check if a value is an ECHO entity (object or relation).\n * Returns `false` for snapshots.\n */\nexport const isEntity = (value: unknown): value is Unknown => {\n if (typeof value !== 'object' || value === null) {\n return false;\n }\n return (value as any)[KindId] !== undefined;\n};\n\n/**\n * Check if a value is an ECHO entity snapshot.\n * Returns `false` for entities.\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)[SnapshotKindId] !== undefined;\n};\n\n// TODO(dmaretskyi): Type introspection -- move to kind.\nexport const getKind = internal.getEntityKind;\n\n/**\n * Property that accesses metadata for an entity.\n */\nexport const Meta: unique symbol = internal.MetaId as any;\n\n/**\n * Property that accesses metadata for an entity.\n */\nexport type Meta = typeof Meta;\n\n//\n// Entity-level functions that work on any entity (object or relation).\n// Use these when you don't know or care about the specific entity kind.\n// For kind-specific functions, use Obj.* or Relation.*.\n//\n\n/**\n * JSON representation of an entity.\n */\nexport type JSON = internal.ObjectJSON;\n\n/**\n * Get the DXN of an entity (object or relation).\n */\nexport const getDXN = (entity: Unknown | Snapshot): DXN => internal.getDXN(entity);\n\n/**\n * Get the DXN of an entity's type.\n */\nexport const getTypeDXN = internal.getTypeDXN;\n\n/**\n * Get the typename of an entity's type.\n */\nexport const getTypename = (entity: Unknown | Snapshot): string | undefined => internal.getTypename(entity);\n\n/**\n * Get the database an entity belongs to.\n */\nexport const getDatabase = (entity: Unknown | Snapshot): any | undefined => internal.getDatabase(entity);\n\n/**\n * Get the metadata for an entity.\n * Returns mutable meta when passed a mutable entity (inside change callback).\n * Returns read-only meta when passed a regular entity 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>): internal.ObjectMeta;\nexport function getMeta(entity: Unknown | Snapshot): internal.ReadonlyMeta;\nexport function getMeta(entity: Unknown | Snapshot | Mutable<Unknown>): internal.ObjectMeta | internal.ReadonlyMeta {\n return internal.getMetaChecked(entity);\n}\n\n/**\n * Get foreign keys for an entity from the specified source.\n */\nexport const getKeys = (entity: Unknown | Snapshot, source: string): ForeignKey[] => internal.getKeys(entity, source);\n\n/**\n * Check if an entity is deleted.\n */\nexport const isDeleted = (entity: Unknown | Snapshot): boolean => internal.isDeleted(entity);\n\n/**\n * Get the label of an entity.\n */\nexport const getLabel = (entity: Unknown | Snapshot): string | undefined => internal.getLabel(entity);\n\n/**\n * Get the description of an entity.\n */\nexport const getDescription = (entity: Unknown | Snapshot): string | undefined => internal.getDescription(entity);\n\n/**\n * Convert an entity to its JSON representation.\n */\nexport const toJSON = (entity: Unknown | Snapshot): JSON => internal.objectToJSON(entity);\n\n/**\n * Subscribe to changes on an entity (object or relation).\n * @returns Unsubscribe function.\n */\nexport const subscribe = (entity: Unknown, callback: () => void): (() => void) => {\n return internal.subscribe(entity, callback);\n};\n\n//\n// Change\n//\n\n/**\n * Used to provide a mutable view of an entity within `Entity.change`.\n */\nexport type Mutable<T> = internal.Mutable<T>;\n\n/**\n * Perform mutations on an entity (object or relation) within a change context.\n *\n * Entities are read-only by default. Mutations are batched and notifications fire\n * when the callback completes. Direct mutations outside of `Entity.change` will throw\n * at runtime.\n *\n * @param entity - The echo entity (object or relation) to mutate.\n * @param callback - Receives a mutable view of the entity. All mutations must occur here.\n *\n * @example\n * ```typescript\n * // Mutate within Entity.change\n * Entity.change(entity, (obj) => {\n * obj.name = 'Updated';\n * obj.count = 42;\n * });\n *\n * // Direct mutation throws\n * entity.name = 'Bob'; // Error: Cannot modify outside Entity.change()\n * ```\n *\n * Note: For type-specific operations, prefer `Obj.change` or `Relation.change`.\n */\nexport const change = <T extends Unknown>(entity: T, callback: internal.ChangeCallback<T>): void => {\n internal.change(entity, callback);\n};\n\n/**\n * Add a tag to an entity.\n * Must be called within an `Entity.change`, `Obj.change`, or `Relation.change` callback.\n */\nexport const addTag = (entity: Mutable<Unknown>, tag: string): void => internal.addTag(entity, tag);\n\n/**\n * Remove a tag from an entity.\n * Must be called within an `Entity.change`, `Obj.change`, or `Relation.change` callback.\n */\nexport const removeTag = (entity: Mutable<Unknown>, tag: string): void => internal.removeTag(entity, tag);\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;;gBAAAA;EAAA;;wBAAAC;EAAA,cAAAC;EAAA,cAAAC;EAAA,cAAAC;EAAA,mBAAAC;EAAA,sBAAAC;EAAA,eAAAC;EAAA;kBAAAC;EAAA;oBAAAC;EAAA,mBAAAC;EAAA,iBAAAC;EAAA;;mBAAAC;EAAA,iBAAAC;EAAA;;AAaO,IAAMC,UAAkBA;AAExB,IAAMC,kBAA0BA;AAOhC,IAAMC,OAAgBC;AAEtB,IAAMC,aAAsBC;AAyD5B,IAAMC,WAAW,CAACC,UAAAA;AACvB,MAAI,OAAOA,UAAU,YAAYA,UAAU,MAAM;AAC/C,WAAO;EACT;AACA,SAAQA,MAAcP,OAAAA,MAAYQ;AACpC;AAMO,IAAMC,aAAa,CAACF,UAAAA;AACzB,MAAI,OAAOA,UAAU,YAAYA,UAAU,MAAM;AAC/C,WAAO;EACT;AACA,SAAQA,MAAcN,eAAAA,MAAoBO;AAC5C;AAGO,IAAME,UAAmBC;AAKzB,IAAMC,OAA+BC;AAqBrC,IAAMC,UAAS,CAACC,WAA6CD,OAAOC,MAAAA;AAKpE,IAAMC,cAAsBA;AAK5B,IAAMC,eAAc,CAACF,WAA4DE,YAAYF,MAAAA;AAK7F,IAAMG,eAAc,CAACH,WAAyDG,YAAYH,MAAAA;AAU1F,SAASI,QAAQJ,QAA6C;AACnE,SAAgBK,eAAeL,MAAAA;AACjC;AAKO,IAAMM,WAAU,CAACN,QAA4BO,WAA0CD,QAAQN,QAAQO,MAAAA;AAKvG,IAAMC,aAAY,CAACR,WAAiDQ,UAAUR,MAAAA;AAK9E,IAAMS,YAAW,CAACT,WAA4DS,SAAST,MAAAA;AAKvF,IAAMU,kBAAiB,CAACV,WAA4DU,eAAeV,MAAAA;AAKnG,IAAMW,SAAS,CAACX,WAA8CY,aAAaZ,MAAAA;AAM3E,IAAMa,aAAY,CAACb,QAAiBc,aAAAA;AACzC,SAAgBD,UAAUb,QAAQc,QAAAA;AACpC;AAmCO,IAAMC,UAAS,CAAoBf,QAAWc,aAAAA;AACnDE,EAASD,OAAOf,QAAQc,QAAAA;AAC1B;AAMO,IAAMG,UAAS,CAACjB,QAA0BkB,QAA+BD,OAAOjB,QAAQkB,GAAAA;AAMxF,IAAMC,aAAY,CAACnB,QAA0BkB,QAA+BC,UAAUnB,QAAQkB,GAAAA;",
6
+ "names": ["KindId", "SnapshotKindId", "addTag", "change", "getDXN", "getDatabase", "getDescription", "getKeys", "getLabel", "getTypeDXN", "getTypename", "isDeleted", "removeTag", "subscribe", "KindId", "SnapshotKindId", "Kind", "EntityKind", "KindSchema", "EntityKindSchema", "isEntity", "value", "undefined", "isSnapshot", "getKind", "getEntityKind", "Meta", "MetaId", "getDXN", "entity", "getTypeDXN", "getTypename", "getDatabase", "getMeta", "getMetaChecked", "getKeys", "source", "isDeleted", "getLabel", "getDescription", "toJSON", "objectToJSON", "subscribe", "callback", "change", "internal", "addTag", "tag", "removeTag"]
7
+ }
@@ -0,0 +1,45 @@
1
+ import {
2
+ DescriptionAnnotation,
3
+ FormInputAnnotation,
4
+ GeneratorAnnotation,
5
+ IconAnnotation,
6
+ LabelAnnotation,
7
+ ReferenceAnnotation,
8
+ SystemTypeAnnotation,
9
+ TypeAnnotation,
10
+ getDescriptionWithSchema,
11
+ getLabelWithSchema,
12
+ getTypeAnnotation,
13
+ makeUserAnnotation,
14
+ setDescriptionWithSchema,
15
+ setLabelWithSchema
16
+ } from "./chunk-4ZRIO2QF.mjs";
17
+ import {
18
+ __export
19
+ } from "./chunk-J5LGTIGS.mjs";
20
+
21
+ // src/Annotation.ts
22
+ var Annotation_exports = {};
23
+ __export(Annotation_exports, {
24
+ DescriptionAnnotation: () => DescriptionAnnotation,
25
+ FormInputAnnotation: () => FormInputAnnotation,
26
+ GeneratorAnnotation: () => GeneratorAnnotation,
27
+ IconAnnotation: () => IconAnnotation,
28
+ LabelAnnotation: () => LabelAnnotation,
29
+ ReferenceAnnotation: () => ReferenceAnnotation,
30
+ SystemTypeAnnotation: () => SystemTypeAnnotation,
31
+ TypeAnnotation: () => TypeAnnotation,
32
+ getDescriptionWithSchema: () => getDescriptionWithSchema,
33
+ getLabelWithSchema: () => getLabelWithSchema,
34
+ getTypeAnnotation: () => getTypeAnnotation,
35
+ make: () => make,
36
+ setDescriptionWithSchema: () => setDescriptionWithSchema,
37
+ setLabelWithSchema: () => setLabelWithSchema
38
+ });
39
+ var make = makeUserAnnotation;
40
+
41
+ export {
42
+ make,
43
+ Annotation_exports
44
+ };
45
+ //# sourceMappingURL=chunk-OPQEHU36.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/Annotation.ts"],
4
+ "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\n// @import-as-namespace\n\nexport {\n DescriptionAnnotation,\n FormInputAnnotation,\n GeneratorAnnotation,\n LabelAnnotation,\n ReferenceAnnotation,\n SystemTypeAnnotation,\n TypeAnnotation,\n getDescriptionWithSchema,\n getLabelWithSchema,\n getTypeAnnotation,\n setDescriptionWithSchema,\n setLabelWithSchema,\n IconAnnotation,\n} from './internal/Annotation';\n\nimport type * as Schema from 'effect/Schema';\n\nimport * as internalAnnotations from './internal/Annotation';\n\ninterface MakeProps<T> {\n id: string;\n schema: Schema.Schema<T, any, never>;\n}\n\n/**\n * Create a new schema annotation.\n * Annotation can be assigned both to fields and to the schema itself.\n * Annotation is serialized with the schema.\n *\n * @example\n * ```ts\n * const ColorAnnotation = Annotation.make({\n * id: 'org.dxos.annotation.color',\n * schema: Schema.String,\n * });\n *\n * const schema = Schema.String.annotations(ColorAnnotation.set('red'));\n * ```\n */\nexport const make: <T>(props: MakeProps<T>) => internalAnnotations.AnnotationHelper<T> =\n internalAnnotations.makeUserAnnotation;\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;AAAA;;;;;;;;;;;;;;;;;AA8CO,IAAMA,OACSC;",
6
+ "names": ["make", "makeUserAnnotation"]
7
+ }
@@ -0,0 +1,299 @@
1
+ import {
2
+ Feed,
3
+ getQueueDxn
4
+ } from "./chunk-HGHJ36DH.mjs";
5
+ import {
6
+ everything,
7
+ is,
8
+ props,
9
+ type
10
+ } from "./chunk-4YAAHG3E.mjs";
11
+ import {
12
+ getTypename,
13
+ instanceOf
14
+ } from "./chunk-CAB5PWUF.mjs";
15
+ import {
16
+ prettyQuery
17
+ } from "./chunk-7C2A2RP6.mjs";
18
+ import {
19
+ isDatabase
20
+ } from "./chunk-XV5R2XZH.mjs";
21
+ import {
22
+ getTypeDXNFromSpecifier
23
+ } from "./chunk-4ZRIO2QF.mjs";
24
+ import {
25
+ __export
26
+ } from "./chunk-J5LGTIGS.mjs";
27
+
28
+ // src/Query.ts
29
+ var Query_exports = {};
30
+ __export(Query_exports, {
31
+ all: () => all,
32
+ from: () => from,
33
+ fromAst: () => fromAst,
34
+ is: () => is2,
35
+ pretty: () => pretty,
36
+ select: () => select,
37
+ type: () => type2,
38
+ without: () => without
39
+ });
40
+ var QueryClass = class _QueryClass {
41
+ ast;
42
+ static "variance" = {};
43
+ constructor(ast) {
44
+ this.ast = ast;
45
+ }
46
+ "~Query" = _QueryClass.variance;
47
+ select(filter) {
48
+ if (is(filter)) {
49
+ return new _QueryClass({
50
+ type: "filter",
51
+ selection: this.ast,
52
+ filter: filter.ast
53
+ });
54
+ } else {
55
+ return new _QueryClass({
56
+ type: "filter",
57
+ selection: this.ast,
58
+ filter: props(filter).ast
59
+ });
60
+ }
61
+ }
62
+ reference(key) {
63
+ return new _QueryClass({
64
+ type: "reference-traversal",
65
+ anchor: this.ast,
66
+ property: key
67
+ });
68
+ }
69
+ referencedBy(target, key) {
70
+ const dxn = target !== void 0 ? getTypeDXNFromSpecifier(target) : null;
71
+ return new _QueryClass({
72
+ type: "incoming-references",
73
+ anchor: this.ast,
74
+ property: key ?? null,
75
+ typename: dxn?.toString() ?? null
76
+ });
77
+ }
78
+ sourceOf(relation, predicates) {
79
+ return new _QueryClass({
80
+ type: "relation",
81
+ anchor: this.ast,
82
+ direction: "outgoing",
83
+ filter: relation !== void 0 ? type(relation, predicates).ast : void 0
84
+ });
85
+ }
86
+ targetOf(relation, predicates) {
87
+ return new _QueryClass({
88
+ type: "relation",
89
+ anchor: this.ast,
90
+ direction: "incoming",
91
+ filter: relation !== void 0 ? type(relation, predicates).ast : void 0
92
+ });
93
+ }
94
+ source() {
95
+ return new _QueryClass({
96
+ type: "relation-traversal",
97
+ anchor: this.ast,
98
+ direction: "source"
99
+ });
100
+ }
101
+ target() {
102
+ return new _QueryClass({
103
+ type: "relation-traversal",
104
+ anchor: this.ast,
105
+ direction: "target"
106
+ });
107
+ }
108
+ parent() {
109
+ return new _QueryClass({
110
+ type: "hierarchy-traversal",
111
+ anchor: this.ast,
112
+ direction: "to-parent"
113
+ });
114
+ }
115
+ children() {
116
+ return new _QueryClass({
117
+ type: "hierarchy-traversal",
118
+ anchor: this.ast,
119
+ direction: "to-children"
120
+ });
121
+ }
122
+ orderBy(...order) {
123
+ return new _QueryClass({
124
+ type: "order",
125
+ query: this.ast,
126
+ order: order.map((o) => o.ast)
127
+ });
128
+ }
129
+ limit(limit) {
130
+ return new _QueryClass({
131
+ type: "limit",
132
+ query: this.ast,
133
+ limit
134
+ });
135
+ }
136
+ from(arg, options) {
137
+ if (arg == null) {
138
+ throw new TypeError('Query.from() requires a valid data source argument (database, feed, query, scope, or "all-accessible-spaces").');
139
+ }
140
+ if (is2(arg)) {
141
+ return new _QueryClass({
142
+ type: "from",
143
+ query: this.ast,
144
+ from: {
145
+ _tag: "query",
146
+ query: arg.ast
147
+ }
148
+ });
149
+ }
150
+ if (arg === "all-accessible-spaces") {
151
+ return new _QueryClass({
152
+ type: "from",
153
+ query: this.ast,
154
+ from: {
155
+ _tag: "scope",
156
+ scope: {
157
+ ...options?.includeFeeds ? {
158
+ allQueuesFromSpaces: true
159
+ } : {}
160
+ }
161
+ }
162
+ });
163
+ }
164
+ if (_isScope(arg)) {
165
+ return new _QueryClass({
166
+ type: "from",
167
+ query: this.ast,
168
+ from: {
169
+ _tag: "scope",
170
+ scope: arg
171
+ }
172
+ });
173
+ }
174
+ const items = Array.isArray(arg) ? arg : [
175
+ arg
176
+ ];
177
+ if (items.length > 0 && isDatabase(items[0])) {
178
+ const databases = items;
179
+ return new _QueryClass({
180
+ type: "from",
181
+ query: this.ast,
182
+ from: {
183
+ _tag: "scope",
184
+ scope: {
185
+ spaceIds: databases.map((db) => db.spaceId),
186
+ ...options?.includeFeeds ? {
187
+ allQueuesFromSpaces: true
188
+ } : {}
189
+ }
190
+ }
191
+ });
192
+ }
193
+ if (items.length > 0) {
194
+ const typename = getTypename(items[0]);
195
+ if (typename === "org.dxos.type.view") {
196
+ throw new Error("Query.from(view) is not yet supported.");
197
+ }
198
+ if (typename === "org.dxos.type.collection") {
199
+ throw new Error("Query.from(collection) is not yet supported.");
200
+ }
201
+ for (const item of items) {
202
+ if (!instanceOf(Feed, item)) {
203
+ throw new TypeError(`Query.from() expects Feed objects (org.dxos.type.feed), but received an object with typename '${typename ?? "unknown"}'.`);
204
+ }
205
+ }
206
+ }
207
+ const feeds = items;
208
+ const queueDxns = feeds.flatMap((feed) => {
209
+ const dxn = getQueueDxn(feed);
210
+ return dxn ? [
211
+ dxn.toString()
212
+ ] : [];
213
+ });
214
+ return new _QueryClass({
215
+ type: "from",
216
+ query: this.ast,
217
+ from: {
218
+ _tag: "scope",
219
+ scope: {
220
+ queues: queueDxns
221
+ }
222
+ }
223
+ });
224
+ }
225
+ options(options) {
226
+ return new _QueryClass({
227
+ type: "options",
228
+ query: this.ast,
229
+ options
230
+ });
231
+ }
232
+ };
233
+ var is2 = (value) => {
234
+ return typeof value === "object" && value !== null && "~Query" in value;
235
+ };
236
+ var fromAst = (ast) => {
237
+ return new QueryClass(ast);
238
+ };
239
+ var select = (filter) => {
240
+ return new QueryClass({
241
+ type: "select",
242
+ filter: filter.ast
243
+ });
244
+ };
245
+ var type2 = (schema, predicates) => {
246
+ return new QueryClass({
247
+ type: "select",
248
+ filter: type(schema, predicates).ast
249
+ });
250
+ };
251
+ var all = (...queries) => {
252
+ if (queries.length === 0) {
253
+ throw new TypeError("Query.all combines results of multiple queries, to query all objects use Query.select(Filter.everything())");
254
+ }
255
+ return new QueryClass({
256
+ type: "union",
257
+ queries: queries.map((q) => q.ast)
258
+ });
259
+ };
260
+ var without = (source, exclude) => {
261
+ return new QueryClass({
262
+ type: "set-difference",
263
+ source: source.ast,
264
+ exclude: exclude.ast
265
+ });
266
+ };
267
+ var from = (source, options) => {
268
+ const baseQuery = {
269
+ type: "select",
270
+ filter: everything().ast
271
+ };
272
+ const wrapper = new QueryClass(baseQuery);
273
+ return wrapper.from(source, options);
274
+ };
275
+ var SCOPE_KEYS = /* @__PURE__ */ new Set([
276
+ "spaceIds",
277
+ "queues",
278
+ "allQueuesFromSpaces"
279
+ ]);
280
+ var _isScope = (value) => {
281
+ if (typeof value !== "object" || value === null || Array.isArray(value)) {
282
+ return false;
283
+ }
284
+ return Object.keys(value).every((key) => SCOPE_KEYS.has(key));
285
+ };
286
+ var pretty = (query) => prettyQuery(query.ast);
287
+
288
+ export {
289
+ is2 as is,
290
+ fromAst,
291
+ select,
292
+ type2 as type,
293
+ all,
294
+ without,
295
+ from,
296
+ pretty,
297
+ Query_exports
298
+ };
299
+ //# sourceMappingURL=chunk-QDV7C7VM.mjs.map