@dxos/echo 0.8.4-main.84f28bd → 0.8.4-main.8baae0fced

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 (540) hide show
  1. package/LICENSE +102 -5
  2. package/README.md +7 -8
  3. package/dist/lib/neutral/Annotation.mjs +39 -0
  4. package/dist/lib/neutral/Database.mjs +49 -0
  5. package/dist/lib/neutral/Entity.mjs +61 -0
  6. package/dist/lib/neutral/Entity.mjs.map +7 -0
  7. package/dist/lib/neutral/Err.mjs +12 -0
  8. package/dist/lib/neutral/Err.mjs.map +7 -0
  9. package/dist/lib/neutral/Extension.mjs +18 -0
  10. package/dist/lib/neutral/Extension.mjs.map +7 -0
  11. package/dist/lib/neutral/Feed.mjs +52 -0
  12. package/dist/lib/neutral/Feed.mjs.map +7 -0
  13. package/dist/lib/neutral/Filter.mjs +74 -0
  14. package/dist/lib/neutral/Filter.mjs.map +7 -0
  15. package/dist/lib/neutral/Format.mjs +66 -0
  16. package/dist/lib/neutral/Format.mjs.map +7 -0
  17. package/dist/lib/neutral/JsonSchema.mjs +19 -0
  18. package/dist/lib/neutral/JsonSchema.mjs.map +7 -0
  19. package/dist/lib/neutral/Key.mjs +12 -0
  20. package/dist/lib/neutral/Key.mjs.map +7 -0
  21. package/dist/lib/neutral/Migration.mjs +17 -0
  22. package/dist/lib/neutral/Migration.mjs.map +7 -0
  23. package/dist/lib/neutral/Obj.mjs +113 -0
  24. package/dist/lib/neutral/Obj.mjs.map +7 -0
  25. package/dist/lib/neutral/Order.mjs +12 -0
  26. package/dist/lib/neutral/Order.mjs.map +7 -0
  27. package/dist/lib/neutral/Query.mjs +38 -0
  28. package/dist/lib/neutral/Query.mjs.map +7 -0
  29. package/dist/lib/neutral/QueryResult.mjs +2 -0
  30. package/dist/lib/neutral/QueryResult.mjs.map +7 -0
  31. package/dist/lib/neutral/Ref.mjs +26 -0
  32. package/dist/lib/neutral/Ref.mjs.map +7 -0
  33. package/dist/lib/neutral/Relation.mjs +94 -0
  34. package/dist/lib/neutral/Relation.mjs.map +7 -0
  35. package/dist/lib/neutral/SchemaRegistry.mjs +2 -0
  36. package/dist/lib/neutral/SchemaRegistry.mjs.map +7 -0
  37. package/dist/lib/neutral/Tag.mjs +29 -0
  38. package/dist/lib/neutral/Tag.mjs.map +7 -0
  39. package/dist/lib/neutral/Type.mjs +37 -0
  40. package/dist/lib/neutral/Type.mjs.map +7 -0
  41. package/dist/lib/neutral/chunk-44HT3MEC.mjs +73 -0
  42. package/dist/lib/neutral/chunk-44HT3MEC.mjs.map +7 -0
  43. package/dist/lib/neutral/chunk-4A2GS5LQ.mjs +125 -0
  44. package/dist/lib/neutral/chunk-4A2GS5LQ.mjs.map +7 -0
  45. package/dist/lib/neutral/chunk-5SL5LDLD.mjs +47 -0
  46. package/dist/lib/neutral/chunk-5SL5LDLD.mjs.map +7 -0
  47. package/dist/lib/neutral/chunk-7RVZT53K.mjs +21 -0
  48. package/dist/lib/neutral/chunk-7RVZT53K.mjs.map +7 -0
  49. package/dist/lib/neutral/chunk-APHSOTIX.mjs +34 -0
  50. package/dist/lib/neutral/chunk-APHSOTIX.mjs.map +7 -0
  51. package/dist/lib/neutral/chunk-B2P7IVG3.mjs +206 -0
  52. package/dist/lib/neutral/chunk-B2P7IVG3.mjs.map +7 -0
  53. package/dist/lib/neutral/chunk-BICZKPQG.mjs +7 -0
  54. package/dist/lib/neutral/chunk-BICZKPQG.mjs.map +7 -0
  55. package/dist/lib/neutral/chunk-BMB7IHGB.mjs +346 -0
  56. package/dist/lib/neutral/chunk-BMB7IHGB.mjs.map +7 -0
  57. package/dist/lib/neutral/chunk-BUBEC474.mjs +56 -0
  58. package/dist/lib/neutral/chunk-BUBEC474.mjs.map +7 -0
  59. package/dist/lib/neutral/chunk-C4PSESGN.mjs +81 -0
  60. package/dist/lib/neutral/chunk-C4PSESGN.mjs.map +7 -0
  61. package/dist/lib/neutral/chunk-FIWO2FZK.mjs +36 -0
  62. package/dist/lib/neutral/chunk-FIWO2FZK.mjs.map +7 -0
  63. package/dist/lib/neutral/chunk-GWFFC34K.mjs +50 -0
  64. package/dist/lib/neutral/chunk-GWFFC34K.mjs.map +7 -0
  65. package/dist/lib/neutral/chunk-HKETO4L4.mjs +365 -0
  66. package/dist/lib/neutral/chunk-HKETO4L4.mjs.map +7 -0
  67. package/dist/lib/neutral/chunk-I2DARWPX.mjs +128 -0
  68. package/dist/lib/neutral/chunk-I2DARWPX.mjs.map +7 -0
  69. package/dist/lib/neutral/chunk-IVSI7QO6.mjs +136 -0
  70. package/dist/lib/neutral/chunk-IVSI7QO6.mjs.map +7 -0
  71. package/dist/lib/neutral/chunk-J5LGTIGS.mjs +10 -0
  72. package/dist/lib/neutral/chunk-J5LGTIGS.mjs.map +7 -0
  73. package/dist/lib/neutral/chunk-MLS7U7AT.mjs +734 -0
  74. package/dist/lib/neutral/chunk-MLS7U7AT.mjs.map +7 -0
  75. package/dist/lib/neutral/chunk-N4B7FHQT.mjs +67 -0
  76. package/dist/lib/neutral/chunk-N4B7FHQT.mjs.map +7 -0
  77. package/dist/lib/neutral/chunk-N7VOEPSV.mjs +48 -0
  78. package/dist/lib/neutral/chunk-N7VOEPSV.mjs.map +7 -0
  79. package/dist/lib/neutral/chunk-QRZ2I3ZM.mjs +27 -0
  80. package/dist/lib/neutral/chunk-QRZ2I3ZM.mjs.map +7 -0
  81. package/dist/lib/neutral/chunk-TNBK56IN.mjs +350 -0
  82. package/dist/lib/neutral/chunk-TNBK56IN.mjs.map +7 -0
  83. package/dist/lib/neutral/chunk-TRPZU2HV.mjs +402 -0
  84. package/dist/lib/neutral/chunk-TRPZU2HV.mjs.map +7 -0
  85. package/dist/lib/neutral/chunk-TTCSATUD.mjs +42 -0
  86. package/dist/lib/neutral/chunk-TTCSATUD.mjs.map +7 -0
  87. package/dist/lib/neutral/chunk-V72DY6LU.mjs +7 -0
  88. package/dist/lib/neutral/chunk-V72DY6LU.mjs.map +7 -0
  89. package/dist/lib/neutral/chunk-VW42HESL.mjs +320 -0
  90. package/dist/lib/neutral/chunk-VW42HESL.mjs.map +7 -0
  91. package/dist/lib/neutral/chunk-X3356HPV.mjs +421 -0
  92. package/dist/lib/neutral/chunk-X3356HPV.mjs.map +7 -0
  93. package/dist/lib/neutral/chunk-XEXM5HWQ.mjs +270 -0
  94. package/dist/lib/neutral/chunk-XEXM5HWQ.mjs.map +7 -0
  95. package/dist/lib/neutral/chunk-Z5GKP74O.mjs +2464 -0
  96. package/dist/lib/neutral/chunk-Z5GKP74O.mjs.map +7 -0
  97. package/dist/lib/neutral/chunk-ZISMEVKD.mjs +51 -0
  98. package/dist/lib/neutral/chunk-ZISMEVKD.mjs.map +7 -0
  99. package/dist/lib/neutral/index.mjs +107 -0
  100. package/dist/lib/neutral/index.mjs.map +7 -0
  101. package/dist/lib/neutral/internal/index.mjs +476 -0
  102. package/dist/lib/neutral/internal/index.mjs.map +7 -0
  103. package/dist/lib/neutral/meta.json +1 -0
  104. package/dist/lib/neutral/testing/index.mjs +429 -0
  105. package/dist/lib/neutral/testing/index.mjs.map +7 -0
  106. package/dist/types/src/Annotation.d.ts +24 -0
  107. package/dist/types/src/Annotation.d.ts.map +1 -0
  108. package/dist/types/src/Collection.d.ts +16 -0
  109. package/dist/types/src/Collection.d.ts.map +1 -0
  110. package/dist/types/src/Database.d.ts +201 -0
  111. package/dist/types/src/Database.d.ts.map +1 -0
  112. package/dist/types/src/Dataset.d.ts +19 -0
  113. package/dist/types/src/Dataset.d.ts.map +1 -0
  114. package/dist/types/src/Entity.d.ts +174 -0
  115. package/dist/types/src/Entity.d.ts.map +1 -0
  116. package/dist/types/src/Entity.test.d.ts +2 -0
  117. package/dist/types/src/Entity.test.d.ts.map +1 -0
  118. package/dist/types/src/Err.d.ts +107 -0
  119. package/dist/types/src/Err.d.ts.map +1 -0
  120. package/dist/types/src/Extension.d.ts +80 -0
  121. package/dist/types/src/Extension.d.ts.map +1 -0
  122. package/dist/types/src/Extension.test.d.ts +2 -0
  123. package/dist/types/src/Extension.test.d.ts.map +1 -0
  124. package/dist/types/src/Feed.d.ts +206 -0
  125. package/dist/types/src/Feed.d.ts.map +1 -0
  126. package/dist/types/src/Filter.d.ts +170 -0
  127. package/dist/types/src/Filter.d.ts.map +1 -0
  128. package/dist/types/src/Filter.test.d.ts +2 -0
  129. package/dist/types/src/Filter.test.d.ts.map +1 -0
  130. package/dist/types/src/Format.d.ts +4 -0
  131. package/dist/types/src/Format.d.ts.map +1 -0
  132. package/dist/types/src/Hypergraph.d.ts +65 -0
  133. package/dist/types/src/Hypergraph.d.ts.map +1 -0
  134. package/dist/types/src/Json.d.ts +33 -0
  135. package/dist/types/src/Json.d.ts.map +1 -0
  136. package/dist/types/src/Json.test.d.ts +2 -0
  137. package/dist/types/src/Json.test.d.ts.map +1 -0
  138. package/dist/types/src/JsonSchema.d.ts +16 -0
  139. package/dist/types/src/JsonSchema.d.ts.map +1 -0
  140. package/dist/types/src/Key.d.ts +1 -0
  141. package/dist/types/src/Key.d.ts.map +1 -1
  142. package/dist/types/src/Migration.d.ts +69 -0
  143. package/dist/types/src/Migration.d.ts.map +1 -0
  144. package/dist/types/src/Obj.d.ts +474 -35
  145. package/dist/types/src/Obj.d.ts.map +1 -1
  146. package/dist/types/src/Obj.test.d.ts +2 -0
  147. package/dist/types/src/Obj.test.d.ts.map +1 -0
  148. package/dist/types/src/Order.d.ts +16 -0
  149. package/dist/types/src/Order.d.ts.map +1 -0
  150. package/dist/types/src/Query.d.ts +213 -0
  151. package/dist/types/src/Query.d.ts.map +1 -0
  152. package/dist/types/src/Query.test.d.ts +2 -0
  153. package/dist/types/src/Query.test.d.ts.map +1 -0
  154. package/dist/types/src/QueryResult.d.ts +80 -0
  155. package/dist/types/src/QueryResult.d.ts.map +1 -0
  156. package/dist/types/src/Ref.d.ts +62 -11
  157. package/dist/types/src/Ref.d.ts.map +1 -1
  158. package/dist/types/src/Relation.d.ts +290 -21
  159. package/dist/types/src/Relation.d.ts.map +1 -1
  160. package/dist/types/src/Relation.test.d.ts +2 -0
  161. package/dist/types/src/Relation.test.d.ts.map +1 -0
  162. package/dist/types/src/SchemaRegistry.d.ts +84 -0
  163. package/dist/types/src/SchemaRegistry.d.ts.map +1 -0
  164. package/dist/types/src/Tag.d.ts +18 -0
  165. package/dist/types/src/Tag.d.ts.map +1 -0
  166. package/dist/types/src/Type.d.ts +123 -100
  167. package/dist/types/src/Type.d.ts.map +1 -1
  168. package/dist/types/src/Type.test.d.ts +2 -0
  169. package/dist/types/src/Type.test.d.ts.map +1 -0
  170. package/dist/types/src/View.d.ts +68 -0
  171. package/dist/types/src/View.d.ts.map +1 -0
  172. package/dist/types/src/exemplars.test.d.ts +2 -0
  173. package/dist/types/src/exemplars.test.d.ts.map +1 -0
  174. package/dist/types/src/hierarchy.test.d.ts +2 -0
  175. package/dist/types/src/hierarchy.test.d.ts.map +1 -0
  176. package/dist/types/src/index.d.ts +22 -3
  177. package/dist/types/src/index.d.ts.map +1 -1
  178. package/dist/types/src/internal/Annotation/annotations.d.ts +240 -0
  179. package/dist/types/src/internal/Annotation/annotations.d.ts.map +1 -0
  180. package/dist/types/src/internal/Annotation/annotations.test.d.ts +2 -0
  181. package/dist/types/src/internal/Annotation/annotations.test.d.ts.map +1 -0
  182. package/dist/types/src/internal/Annotation/index.d.ts +4 -0
  183. package/dist/types/src/internal/Annotation/index.d.ts.map +1 -0
  184. package/dist/types/src/internal/Annotation/sorting.d.ts +24 -0
  185. package/dist/types/src/internal/Annotation/sorting.d.ts.map +1 -0
  186. package/dist/types/src/internal/Annotation/util.d.ts +39 -0
  187. package/dist/types/src/internal/Annotation/util.d.ts.map +1 -0
  188. package/dist/types/src/internal/Entity/api.d.ts +13 -0
  189. package/dist/types/src/internal/Entity/api.d.ts.map +1 -0
  190. package/dist/types/src/internal/Entity/entity.d.ts +20 -0
  191. package/dist/types/src/internal/Entity/entity.d.ts.map +1 -0
  192. package/dist/types/src/internal/Entity/index.d.ts +8 -0
  193. package/dist/types/src/internal/Entity/index.d.ts.map +1 -0
  194. package/dist/types/src/internal/Entity/model.d.ts +57 -0
  195. package/dist/types/src/internal/Entity/model.d.ts.map +1 -0
  196. package/dist/types/src/internal/Entity/object.d.ts +18 -0
  197. package/dist/types/src/internal/Entity/object.d.ts.map +1 -0
  198. package/dist/types/src/internal/Entity/relation.d.ts +35 -0
  199. package/dist/types/src/internal/Entity/relation.d.ts.map +1 -0
  200. package/dist/types/src/internal/Entity/util.d.ts +2 -0
  201. package/dist/types/src/internal/Entity/util.d.ts.map +1 -0
  202. package/dist/types/src/internal/Entity/version.d.ts +42 -0
  203. package/dist/types/src/internal/Entity/version.d.ts.map +1 -0
  204. package/dist/types/src/internal/Format/date.d.ts +63 -0
  205. package/dist/types/src/internal/Format/date.d.ts.map +1 -0
  206. package/dist/types/src/internal/Format/date.test.d.ts +2 -0
  207. package/dist/types/src/internal/Format/date.test.d.ts.map +1 -0
  208. package/dist/types/src/internal/Format/format.d.ts +32 -0
  209. package/dist/types/src/internal/Format/format.d.ts.map +1 -0
  210. package/dist/types/src/internal/Format/format.test.d.ts +2 -0
  211. package/dist/types/src/internal/Format/format.test.d.ts.map +1 -0
  212. package/dist/types/src/internal/Format/index.d.ts +8 -0
  213. package/dist/types/src/internal/Format/index.d.ts.map +1 -0
  214. package/dist/types/src/internal/Format/number.d.ts +31 -0
  215. package/dist/types/src/internal/Format/number.d.ts.map +1 -0
  216. package/dist/types/src/internal/Format/object.d.ts +35 -0
  217. package/dist/types/src/internal/Format/object.d.ts.map +1 -0
  218. package/dist/types/src/internal/Format/select.d.ts +13 -0
  219. package/dist/types/src/internal/Format/select.d.ts.map +1 -0
  220. package/dist/types/src/internal/Format/string.d.ts +42 -0
  221. package/dist/types/src/internal/Format/string.d.ts.map +1 -0
  222. package/dist/types/src/internal/Format/types.d.ts +72 -0
  223. package/dist/types/src/internal/Format/types.d.ts.map +1 -0
  224. package/dist/types/src/internal/JsonSchema/annotations.d.ts +19 -0
  225. package/dist/types/src/internal/JsonSchema/annotations.d.ts.map +1 -0
  226. package/dist/types/src/internal/JsonSchema/effect-schema.test.d.ts +2 -0
  227. package/dist/types/src/internal/JsonSchema/effect-schema.test.d.ts.map +1 -0
  228. package/dist/types/src/internal/JsonSchema/index.d.ts +5 -0
  229. package/dist/types/src/internal/JsonSchema/index.d.ts.map +1 -0
  230. package/dist/types/src/internal/JsonSchema/json-schema-normalize.d.ts +7 -0
  231. package/dist/types/src/internal/JsonSchema/json-schema-normalize.d.ts.map +1 -0
  232. package/dist/types/src/internal/JsonSchema/json-schema-type.d.ts +351 -0
  233. package/dist/types/src/internal/JsonSchema/json-schema-type.d.ts.map +1 -0
  234. package/dist/types/src/internal/JsonSchema/json-schema.d.ts +30 -0
  235. package/dist/types/src/internal/JsonSchema/json-schema.d.ts.map +1 -0
  236. package/dist/types/src/internal/JsonSchema/json-schema.test.d.ts +2 -0
  237. package/dist/types/src/internal/JsonSchema/json-schema.test.d.ts.map +1 -0
  238. package/dist/types/src/internal/Obj/clone.d.ts +8 -0
  239. package/dist/types/src/internal/Obj/clone.d.ts.map +1 -0
  240. package/dist/types/src/internal/Obj/common.d.ts +18 -0
  241. package/dist/types/src/internal/Obj/common.d.ts.map +1 -0
  242. package/dist/types/src/internal/Obj/create-object.d.ts +39 -0
  243. package/dist/types/src/internal/Obj/create-object.d.ts.map +1 -0
  244. package/dist/types/src/internal/Obj/create-object.test.d.ts +2 -0
  245. package/dist/types/src/internal/Obj/create-object.test.d.ts.map +1 -0
  246. package/dist/types/src/internal/Obj/deleted.d.ts +6 -0
  247. package/dist/types/src/internal/Obj/deleted.d.ts.map +1 -0
  248. package/dist/types/src/internal/Obj/ids.d.ts +6 -0
  249. package/dist/types/src/internal/Obj/ids.d.ts.map +1 -0
  250. package/dist/types/src/internal/Obj/index.d.ts +11 -0
  251. package/dist/types/src/internal/Obj/index.d.ts.map +1 -0
  252. package/dist/types/src/internal/Obj/inspect.d.ts +2 -0
  253. package/dist/types/src/internal/Obj/inspect.d.ts.map +1 -0
  254. package/dist/types/src/internal/Obj/json-serializer.d.ts +45 -0
  255. package/dist/types/src/internal/Obj/json-serializer.d.ts.map +1 -0
  256. package/dist/types/src/internal/Obj/json-serializer.test.d.ts +2 -0
  257. package/dist/types/src/internal/Obj/json-serializer.test.d.ts.map +1 -0
  258. package/dist/types/src/internal/Obj/schema-validator.d.ts +2 -0
  259. package/dist/types/src/internal/Obj/schema-validator.d.ts.map +1 -0
  260. package/dist/types/src/internal/Obj/schema-validator.test.d.ts +2 -0
  261. package/dist/types/src/internal/Obj/schema-validator.test.d.ts.map +1 -0
  262. package/dist/types/src/internal/Obj/set-value.d.ts +7 -0
  263. package/dist/types/src/internal/Obj/set-value.d.ts.map +1 -0
  264. package/dist/types/src/internal/Obj/set-value.test.d.ts +2 -0
  265. package/dist/types/src/internal/Obj/set-value.test.d.ts.map +1 -0
  266. package/dist/types/src/internal/Obj/snapshot.d.ts +6 -0
  267. package/dist/types/src/internal/Obj/snapshot.d.ts.map +1 -0
  268. package/dist/types/src/internal/Obj/typed-object.d.ts +25 -0
  269. package/dist/types/src/internal/Obj/typed-object.d.ts.map +1 -0
  270. package/dist/types/src/internal/Obj/typed-object.test.d.ts +2 -0
  271. package/dist/types/src/internal/Obj/typed-object.test.d.ts.map +1 -0
  272. package/dist/types/src/internal/Query.d.ts +10 -0
  273. package/dist/types/src/internal/Query.d.ts.map +1 -0
  274. package/dist/types/src/internal/Ref/index.d.ts +3 -0
  275. package/dist/types/src/internal/Ref/index.d.ts.map +1 -0
  276. package/dist/types/src/internal/Ref/ref-array.d.ts +21 -0
  277. package/dist/types/src/internal/Ref/ref-array.d.ts.map +1 -0
  278. package/dist/types/src/internal/Ref/ref.d.ts +244 -0
  279. package/dist/types/src/internal/Ref/ref.d.ts.map +1 -0
  280. package/dist/types/src/internal/Ref/ref.test.d.ts +2 -0
  281. package/dist/types/src/internal/Ref/ref.test.d.ts.map +1 -0
  282. package/dist/types/src/internal/Type/compose.d.ts +7 -0
  283. package/dist/types/src/internal/Type/compose.d.ts.map +1 -0
  284. package/dist/types/src/internal/Type/compose.test.d.ts +2 -0
  285. package/dist/types/src/internal/Type/compose.test.d.ts.map +1 -0
  286. package/dist/types/src/internal/Type/echo-schema.d.ts +181 -0
  287. package/dist/types/src/internal/Type/echo-schema.d.ts.map +1 -0
  288. package/dist/types/src/internal/Type/index.d.ts +4 -0
  289. package/dist/types/src/internal/Type/index.d.ts.map +1 -0
  290. package/dist/types/src/internal/Type/manipulation.d.ts +10 -0
  291. package/dist/types/src/internal/Type/manipulation.d.ts.map +1 -0
  292. package/dist/types/src/internal/Type/persistent-schema.d.ts +20 -0
  293. package/dist/types/src/internal/Type/persistent-schema.d.ts.map +1 -0
  294. package/dist/types/src/internal/common/api/index.d.ts +11 -0
  295. package/dist/types/src/internal/common/api/index.d.ts.map +1 -0
  296. package/dist/types/src/internal/common/api/meta.d.ts +42 -0
  297. package/dist/types/src/internal/common/api/meta.d.ts.map +1 -0
  298. package/dist/types/src/internal/common/index.d.ts +4 -0
  299. package/dist/types/src/internal/common/index.d.ts.map +1 -0
  300. package/dist/types/src/internal/common/proxy/change-context.d.ts +55 -0
  301. package/dist/types/src/internal/common/proxy/change-context.d.ts.map +1 -0
  302. package/dist/types/src/internal/common/proxy/change.test.d.ts +2 -0
  303. package/dist/types/src/internal/common/proxy/change.test.d.ts.map +1 -0
  304. package/dist/types/src/internal/common/proxy/define-hidden-property.d.ts +5 -0
  305. package/dist/types/src/internal/common/proxy/define-hidden-property.d.ts.map +1 -0
  306. package/dist/types/src/internal/common/proxy/errors.d.ts +19 -0
  307. package/dist/types/src/internal/common/proxy/errors.d.ts.map +1 -0
  308. package/dist/types/src/internal/common/proxy/event-batch.d.ts +10 -0
  309. package/dist/types/src/internal/common/proxy/event-batch.d.ts.map +1 -0
  310. package/dist/types/src/internal/common/proxy/handler.test.d.ts +2 -0
  311. package/dist/types/src/internal/common/proxy/handler.test.d.ts.map +1 -0
  312. package/dist/types/src/internal/common/proxy/index.d.ts +14 -0
  313. package/dist/types/src/internal/common/proxy/index.d.ts.map +1 -0
  314. package/dist/types/src/internal/common/proxy/json-serializer.d.ts +6 -0
  315. package/dist/types/src/internal/common/proxy/json-serializer.d.ts.map +1 -0
  316. package/dist/types/src/internal/common/proxy/make-object.d.ts +14 -0
  317. package/dist/types/src/internal/common/proxy/make-object.d.ts.map +1 -0
  318. package/dist/types/src/internal/common/proxy/ownership.d.ts +57 -0
  319. package/dist/types/src/internal/common/proxy/ownership.d.ts.map +1 -0
  320. package/dist/types/src/internal/common/proxy/proxy-types.d.ts +18 -0
  321. package/dist/types/src/internal/common/proxy/proxy-types.d.ts.map +1 -0
  322. package/dist/types/src/internal/common/proxy/proxy-utils.d.ts +47 -0
  323. package/dist/types/src/internal/common/proxy/proxy-utils.d.ts.map +1 -0
  324. package/dist/types/src/internal/common/proxy/reactive-array.d.ts +8 -0
  325. package/dist/types/src/internal/common/proxy/reactive-array.d.ts.map +1 -0
  326. package/dist/types/src/internal/common/proxy/reactive.d.ts +39 -0
  327. package/dist/types/src/internal/common/proxy/reactive.d.ts.map +1 -0
  328. package/dist/types/src/internal/common/proxy/reactive.test.d.ts +2 -0
  329. package/dist/types/src/internal/common/proxy/reactive.test.d.ts.map +1 -0
  330. package/dist/types/src/internal/common/proxy/schema-validator.d.ts +15 -0
  331. package/dist/types/src/internal/common/proxy/schema-validator.d.ts.map +1 -0
  332. package/dist/types/src/internal/common/proxy/schema.test.d.ts +2 -0
  333. package/dist/types/src/internal/common/proxy/schema.test.d.ts.map +1 -0
  334. package/dist/types/src/internal/common/proxy/symbols.d.ts +3 -0
  335. package/dist/types/src/internal/common/proxy/symbols.d.ts.map +1 -0
  336. package/dist/types/src/internal/common/proxy/typed-handler.d.ts +48 -0
  337. package/dist/types/src/internal/common/proxy/typed-handler.d.ts.map +1 -0
  338. package/dist/types/src/internal/common/proxy/typed-handler.test.d.ts +2 -0
  339. package/dist/types/src/internal/common/proxy/typed-handler.test.d.ts.map +1 -0
  340. package/dist/types/src/internal/common/proxy/typed-object.test.d.ts +2 -0
  341. package/dist/types/src/internal/common/proxy/typed-object.test.d.ts.map +1 -0
  342. package/dist/types/src/internal/common/types/base.d.ts +27 -0
  343. package/dist/types/src/internal/common/types/base.d.ts.map +1 -0
  344. package/dist/types/src/internal/common/types/entity.d.ts +37 -0
  345. package/dist/types/src/internal/common/types/entity.d.ts.map +1 -0
  346. package/dist/types/src/internal/common/types/index.d.ts +7 -0
  347. package/dist/types/src/internal/common/types/index.d.ts.map +1 -0
  348. package/dist/types/src/internal/common/types/meta.d.ts +43 -0
  349. package/dist/types/src/internal/common/types/meta.d.ts.map +1 -0
  350. package/dist/types/src/internal/common/types/model-symbols.d.ts +54 -0
  351. package/dist/types/src/internal/common/types/model-symbols.d.ts.map +1 -0
  352. package/dist/types/src/internal/common/types/typename.d.ts +21 -0
  353. package/dist/types/src/internal/common/types/typename.d.ts.map +1 -0
  354. package/dist/types/src/internal/common/types/version.d.ts +15 -0
  355. package/dist/types/src/internal/common/types/version.d.ts.map +1 -0
  356. package/dist/types/src/internal/index.d.ts +11 -0
  357. package/dist/types/src/internal/index.d.ts.map +1 -0
  358. package/dist/types/src/{test → testing}/api.test.d.ts.map +1 -1
  359. package/dist/types/src/testing/index.d.ts +3 -1
  360. package/dist/types/src/testing/index.d.ts.map +1 -1
  361. package/dist/types/src/testing/test-data.d.ts +18 -0
  362. package/dist/types/src/testing/test-data.d.ts.map +1 -0
  363. package/dist/types/src/testing/test-schema.d.ts +304 -0
  364. package/dist/types/src/testing/test-schema.d.ts.map +1 -0
  365. package/dist/types/src/testing/util.d.ts +21 -0
  366. package/dist/types/src/testing/util.d.ts.map +1 -0
  367. package/dist/types/tsconfig.tsbuildinfo +1 -1
  368. package/package.json +123 -54
  369. package/src/Annotation.ts +49 -0
  370. package/src/Collection.ts +37 -0
  371. package/src/Database.ts +352 -0
  372. package/src/Dataset.ts +26 -0
  373. package/src/Entity.test.ts +22 -0
  374. package/src/Entity.ts +243 -0
  375. package/src/Err.ts +40 -0
  376. package/src/Extension.test.ts +235 -0
  377. package/src/Extension.ts +122 -0
  378. package/src/Feed.ts +335 -0
  379. package/src/Filter.test.ts +90 -0
  380. package/src/Filter.ts +485 -0
  381. package/src/Format.ts +9 -0
  382. package/src/Hypergraph.ts +79 -0
  383. package/src/Json.test.ts +175 -0
  384. package/src/Json.ts +102 -0
  385. package/src/JsonSchema.ts +26 -0
  386. package/src/Key.ts +3 -0
  387. package/src/Migration.ts +106 -0
  388. package/src/Obj.test.ts +539 -0
  389. package/src/Obj.ts +769 -79
  390. package/src/Order.ts +46 -0
  391. package/src/Query.test.ts +822 -0
  392. package/src/Query.ts +572 -0
  393. package/src/QueryResult.ts +106 -0
  394. package/src/Ref.ts +80 -9
  395. package/src/Relation.test.ts +88 -0
  396. package/src/Relation.ts +455 -54
  397. package/src/SchemaRegistry.ts +106 -0
  398. package/src/Tag.ts +41 -0
  399. package/src/Type.test.ts +52 -0
  400. package/src/Type.ts +168 -153
  401. package/src/View.ts +107 -0
  402. package/src/exemplars.test.ts +21 -0
  403. package/src/hierarchy.test.ts +33 -0
  404. package/src/index.ts +25 -4
  405. package/src/internal/Annotation/annotations.test.ts +145 -0
  406. package/src/internal/Annotation/annotations.ts +590 -0
  407. package/src/internal/Annotation/index.ts +7 -0
  408. package/src/internal/Annotation/sorting.ts +51 -0
  409. package/src/internal/Annotation/util.ts +85 -0
  410. package/src/internal/Entity/api.ts +30 -0
  411. package/src/internal/Entity/entity.ts +128 -0
  412. package/src/internal/Entity/index.ts +11 -0
  413. package/src/internal/Entity/model.ts +111 -0
  414. package/src/internal/Entity/object.ts +57 -0
  415. package/src/internal/Entity/relation.ts +154 -0
  416. package/src/internal/Entity/util.ts +33 -0
  417. package/src/internal/Entity/version.ts +96 -0
  418. package/src/internal/Format/date.test.ts +55 -0
  419. package/src/internal/Format/date.ts +217 -0
  420. package/src/internal/Format/format.test.ts +76 -0
  421. package/src/internal/Format/format.ts +54 -0
  422. package/src/internal/Format/index.ts +12 -0
  423. package/src/internal/Format/number.ts +89 -0
  424. package/src/internal/Format/object.ts +80 -0
  425. package/src/internal/Format/select.ts +18 -0
  426. package/src/internal/Format/string.ts +81 -0
  427. package/src/internal/Format/types.ts +186 -0
  428. package/src/internal/JsonSchema/annotations.ts +50 -0
  429. package/src/internal/JsonSchema/effect-schema.test.ts +143 -0
  430. package/src/internal/JsonSchema/index.ts +8 -0
  431. package/src/internal/JsonSchema/json-schema-normalize.ts +111 -0
  432. package/src/internal/JsonSchema/json-schema-type.ts +403 -0
  433. package/src/internal/JsonSchema/json-schema.test.ts +860 -0
  434. package/src/internal/JsonSchema/json-schema.ts +533 -0
  435. package/src/internal/Obj/clone.ts +48 -0
  436. package/src/internal/Obj/common.ts +75 -0
  437. package/src/internal/Obj/create-object.test.ts +114 -0
  438. package/src/internal/Obj/create-object.ts +94 -0
  439. package/src/internal/Obj/deleted.ts +19 -0
  440. package/src/internal/Obj/ids.ts +12 -0
  441. package/src/internal/Obj/index.ts +14 -0
  442. package/src/internal/Obj/inspect.ts +46 -0
  443. package/src/internal/Obj/json-serializer.test.ts +165 -0
  444. package/src/internal/Obj/json-serializer.ts +237 -0
  445. package/src/internal/Obj/schema-validator.test.ts +182 -0
  446. package/src/internal/Obj/schema-validator.ts +6 -0
  447. package/src/internal/Obj/set-value.test.ts +281 -0
  448. package/src/internal/Obj/set-value.ts +165 -0
  449. package/src/internal/Obj/snapshot.ts +105 -0
  450. package/src/internal/Obj/typed-object.test.ts +34 -0
  451. package/src/internal/Obj/typed-object.ts +30 -0
  452. package/src/internal/Query.ts +156 -0
  453. package/src/internal/Ref/index.ts +6 -0
  454. package/src/internal/Ref/ref-array.ts +38 -0
  455. package/src/internal/Ref/ref.test.ts +100 -0
  456. package/src/internal/Ref/ref.ts +589 -0
  457. package/src/internal/Type/compose.test.ts +41 -0
  458. package/src/internal/Type/compose.ts +41 -0
  459. package/src/internal/Type/echo-schema.ts +423 -0
  460. package/src/internal/Type/index.ts +7 -0
  461. package/src/internal/Type/manipulation.ts +92 -0
  462. package/src/internal/Type/persistent-schema.ts +33 -0
  463. package/src/internal/common/README.md +102 -0
  464. package/src/internal/common/api/index.ts +15 -0
  465. package/src/internal/common/api/meta.ts +88 -0
  466. package/src/internal/common/index.ts +7 -0
  467. package/src/internal/common/proxy/change-context.ts +138 -0
  468. package/src/internal/common/proxy/change.test.ts +519 -0
  469. package/src/internal/common/proxy/define-hidden-property.ts +14 -0
  470. package/src/internal/common/proxy/errors.ts +42 -0
  471. package/src/internal/common/proxy/event-batch.ts +44 -0
  472. package/src/internal/common/proxy/handler.test.ts +121 -0
  473. package/src/internal/common/proxy/index.ts +17 -0
  474. package/src/internal/common/proxy/json-serializer.ts +93 -0
  475. package/src/internal/common/proxy/make-object.ts +105 -0
  476. package/src/internal/common/proxy/ownership.ts +252 -0
  477. package/src/internal/common/proxy/proxy-types.ts +23 -0
  478. package/src/internal/common/proxy/proxy-utils.ts +150 -0
  479. package/src/internal/common/proxy/reactive-array.ts +71 -0
  480. package/src/internal/common/proxy/reactive.test.ts +54 -0
  481. package/src/internal/common/proxy/reactive.ts +77 -0
  482. package/src/internal/common/proxy/schema-validator.ts +244 -0
  483. package/src/internal/common/proxy/schema.test.ts +145 -0
  484. package/src/internal/common/proxy/symbols.ts +7 -0
  485. package/src/internal/common/proxy/typed-handler.test.ts +313 -0
  486. package/src/internal/common/proxy/typed-handler.ts +447 -0
  487. package/src/internal/common/proxy/typed-object.test.ts +115 -0
  488. package/src/internal/common/types/base.ts +43 -0
  489. package/src/internal/common/types/entity.ts +54 -0
  490. package/src/internal/common/types/index.ts +10 -0
  491. package/src/internal/common/types/meta.ts +79 -0
  492. package/src/internal/common/types/model-symbols.ts +69 -0
  493. package/src/internal/common/types/typename.ts +55 -0
  494. package/src/internal/common/types/version.ts +19 -0
  495. package/src/internal/index.ts +17 -0
  496. package/src/testing/api.test.ts +125 -0
  497. package/src/testing/index.ts +3 -1
  498. package/src/testing/test-data.ts +189 -0
  499. package/src/testing/test-schema.ts +240 -0
  500. package/src/testing/util.ts +85 -0
  501. package/dist/lib/browser/chunk-SVSJEELN.mjs +0 -619
  502. package/dist/lib/browser/chunk-SVSJEELN.mjs.map +0 -7
  503. package/dist/lib/browser/index.mjs +0 -22
  504. package/dist/lib/browser/meta.json +0 -1
  505. package/dist/lib/browser/testing/index.mjs +0 -70
  506. package/dist/lib/browser/testing/index.mjs.map +0 -7
  507. package/dist/lib/node-esm/chunk-53HXWYR6.mjs +0 -619
  508. package/dist/lib/node-esm/chunk-53HXWYR6.mjs.map +0 -7
  509. package/dist/lib/node-esm/index.mjs +0 -22
  510. package/dist/lib/node-esm/meta.json +0 -1
  511. package/dist/lib/node-esm/testing/index.mjs +0 -70
  512. package/dist/lib/node-esm/testing/index.mjs.map +0 -7
  513. package/dist/types/src/experimental/database.d.ts +0 -8
  514. package/dist/types/src/experimental/database.d.ts.map +0 -1
  515. package/dist/types/src/experimental/index.d.ts +0 -1
  516. package/dist/types/src/experimental/index.d.ts.map +0 -1
  517. package/dist/types/src/experimental/queue.d.ts +0 -8
  518. package/dist/types/src/experimental/queue.d.ts.map +0 -1
  519. package/dist/types/src/experimental/space.d.ts +0 -8
  520. package/dist/types/src/experimental/space.d.ts.map +0 -1
  521. package/dist/types/src/query/dsl.d.ts +0 -218
  522. package/dist/types/src/query/dsl.d.ts.map +0 -1
  523. package/dist/types/src/query/dsl.test.d.ts +0 -2
  524. package/dist/types/src/query/dsl.test.d.ts.map +0 -1
  525. package/dist/types/src/query/index.d.ts +0 -2
  526. package/dist/types/src/query/index.d.ts.map +0 -1
  527. package/dist/types/src/testing/types.d.ts +0 -113
  528. package/dist/types/src/testing/types.d.ts.map +0 -1
  529. package/src/experimental/database.ts +0 -11
  530. package/src/experimental/index.ts +0 -7
  531. package/src/experimental/queue.ts +0 -11
  532. package/src/experimental/space.ts +0 -11
  533. package/src/query/dsl.test.ts +0 -323
  534. package/src/query/dsl.ts +0 -646
  535. package/src/query/index.ts +0 -5
  536. package/src/test/api.test.ts +0 -173
  537. package/src/testing/types.ts +0 -91
  538. /package/dist/lib/{browser/index.mjs.map → neutral/Annotation.mjs.map} +0 -0
  539. /package/dist/lib/{node-esm/index.mjs.map → neutral/Database.mjs.map} +0 -0
  540. /package/dist/types/src/{test → testing}/api.test.d.ts +0 -0
@@ -0,0 +1,47 @@
1
+ import {
2
+ DescriptionAnnotation,
3
+ FormInputAnnotation,
4
+ GeneratorAnnotation,
5
+ IconAnnotation,
6
+ IconFromRefAnnotation,
7
+ LabelAnnotation,
8
+ ReferenceAnnotation,
9
+ SystemTypeAnnotation,
10
+ TypeAnnotation,
11
+ getDescriptionWithSchema,
12
+ getLabelWithSchema,
13
+ getTypeAnnotation,
14
+ makeUserAnnotation,
15
+ setDescriptionWithSchema,
16
+ setLabelWithSchema
17
+ } from "./chunk-TNBK56IN.mjs";
18
+ import {
19
+ __export
20
+ } from "./chunk-J5LGTIGS.mjs";
21
+
22
+ // src/Annotation.ts
23
+ var Annotation_exports = {};
24
+ __export(Annotation_exports, {
25
+ DescriptionAnnotation: () => DescriptionAnnotation,
26
+ FormInputAnnotation: () => FormInputAnnotation,
27
+ GeneratorAnnotation: () => GeneratorAnnotation,
28
+ IconAnnotation: () => IconAnnotation,
29
+ IconFromRefAnnotation: () => IconFromRefAnnotation,
30
+ LabelAnnotation: () => LabelAnnotation,
31
+ ReferenceAnnotation: () => ReferenceAnnotation,
32
+ SystemTypeAnnotation: () => SystemTypeAnnotation,
33
+ TypeAnnotation: () => TypeAnnotation,
34
+ getDescriptionWithSchema: () => getDescriptionWithSchema,
35
+ getLabelWithSchema: () => getLabelWithSchema,
36
+ getTypeAnnotation: () => getTypeAnnotation,
37
+ make: () => make,
38
+ setDescriptionWithSchema: () => setDescriptionWithSchema,
39
+ setLabelWithSchema: () => setLabelWithSchema
40
+ });
41
+ var make = makeUserAnnotation;
42
+
43
+ export {
44
+ make,
45
+ Annotation_exports
46
+ };
47
+ //# sourceMappingURL=chunk-5SL5LDLD.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 IconFromRefAnnotation,\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;;;;;;;;;;;;;;;;;;AA+CO,IAAMA,OACSC;",
6
+ "names": ["make", "makeUserAnnotation"]
7
+ }
@@ -0,0 +1,21 @@
1
+ import {
2
+ __export
3
+ } from "./chunk-J5LGTIGS.mjs";
4
+
5
+ // src/Key.ts
6
+ var Key_exports = {};
7
+ __export(Key_exports, {
8
+ ForeignKey: () => ForeignKey,
9
+ ObjectId: () => ObjectId,
10
+ SpaceId: () => SpaceId
11
+ });
12
+ import { ForeignKey } from "@dxos/echo-protocol";
13
+ import { SpaceId, ObjectId } from "@dxos/keys";
14
+
15
+ export {
16
+ Key_exports,
17
+ ForeignKey,
18
+ SpaceId,
19
+ ObjectId
20
+ };
21
+ //# sourceMappingURL=chunk-7RVZT53K.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/Key.ts"],
4
+ "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\n// TODO(wittjosiah): Should this be a subset of Type?\n\nexport { ForeignKey } from '@dxos/echo-protocol';\nexport { SpaceId, ObjectId } from '@dxos/keys';\n"],
5
+ "mappings": ";;;;;AAAA;;;;;;AAMA,SAASA,kBAAkB;AAC3B,SAASC,SAASC,gBAAgB;",
6
+ "names": ["ForeignKey", "SpaceId", "ObjectId"]
7
+ }
@@ -0,0 +1,34 @@
1
+ import {
2
+ Ref
3
+ } from "./chunk-BMB7IHGB.mjs";
4
+
5
+ // src/internal/Ref/ref-array.ts
6
+ import { isNonNullable } from "@dxos/util";
7
+ var RefArray = Object.freeze({
8
+ /**
9
+ * @returns all resolved targets.
10
+ */
11
+ targets: (refs) => {
12
+ return refs.map((ref) => ref.target).filter(isNonNullable);
13
+ },
14
+ /**
15
+ * Load all referenced objects.
16
+ */
17
+ loadAll: (refs) => {
18
+ return Promise.all(refs.map((ref) => ref.load()));
19
+ },
20
+ /**
21
+ * Removes the ref with the given id.
22
+ */
23
+ removeById: (refs, id) => {
24
+ const index = refs.findIndex(Ref.hasObjectId(id));
25
+ if (index >= 0) {
26
+ refs.splice(index, 1);
27
+ }
28
+ }
29
+ });
30
+
31
+ export {
32
+ RefArray
33
+ };
34
+ //# sourceMappingURL=chunk-APHSOTIX.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/internal/Ref/ref-array.ts"],
4
+ "sourcesContent": ["//\n// Copyright 2024 DXOS.org\n//\n\nimport { type ObjectId } from '@dxos/keys';\nimport { isNonNullable } from '@dxos/util';\n\nimport { type AnyEntity } from '../common/types';\nimport { Ref } from './ref';\n\n/**\n * Helper functions for working with arrays of refs.\n */\nexport const RefArray = Object.freeze({\n /**\n * @returns all resolved targets.\n */\n targets: <T extends AnyEntity>(refs: readonly Ref<T>[]): T[] => {\n return refs.map((ref) => ref.target).filter(isNonNullable);\n },\n\n /**\n * Load all referenced objects.\n */\n loadAll: <T extends AnyEntity>(refs: readonly Ref<T>[]): Promise<T[]> => {\n return Promise.all(refs.map((ref) => ref.load()));\n },\n\n /**\n * Removes the ref with the given id.\n */\n removeById: (refs: Ref<AnyEntity>[], id: ObjectId) => {\n const index = refs.findIndex(Ref.hasObjectId(id));\n if (index >= 0) {\n refs.splice(index, 1);\n }\n },\n});\n"],
5
+ "mappings": ";;;;;AAKA,SAASA,qBAAqB;AAQvB,IAAMC,WAAWC,OAAOC,OAAO;;;;EAIpCC,SAAS,CAAsBC,SAAAA;AAC7B,WAAOA,KAAKC,IAAI,CAACC,QAAQA,IAAIC,MAAM,EAAEC,OAAOC,aAAAA;EAC9C;;;;EAKAC,SAAS,CAAsBN,SAAAA;AAC7B,WAAOO,QAAQC,IAAIR,KAAKC,IAAI,CAACC,QAAQA,IAAIO,KAAI,CAAA,CAAA;EAC/C;;;;EAKAC,YAAY,CAACV,MAAwBW,OAAAA;AACnC,UAAMC,QAAQZ,KAAKa,UAAUC,IAAIC,YAAYJ,EAAAA,CAAAA;AAC7C,QAAIC,SAAS,GAAG;AACdZ,WAAKgB,OAAOJ,OAAO,CAAA;IACrB;EACF;AACF,CAAA;",
6
+ "names": ["isNonNullable", "RefArray", "Object", "freeze", "targets", "refs", "map", "ref", "target", "filter", "isNonNullable", "loadAll", "Promise", "all", "load", "removeById", "id", "index", "findIndex", "Ref", "hasObjectId", "splice"]
7
+ }
@@ -0,0 +1,206 @@
1
+ import {
2
+ select
3
+ } from "./chunk-VW42HESL.mjs";
4
+ import {
5
+ Feed
6
+ } from "./chunk-IVSI7QO6.mjs";
7
+ import {
8
+ object
9
+ } from "./chunk-C4PSESGN.mjs";
10
+ import {
11
+ nothing
12
+ } from "./chunk-HKETO4L4.mjs";
13
+ import {
14
+ Unknown,
15
+ instanceOf,
16
+ make
17
+ } from "./chunk-X3356HPV.mjs";
18
+ import {
19
+ Ref
20
+ } from "./chunk-N7VOEPSV.mjs";
21
+ import {
22
+ JsonSchemaType
23
+ } from "./chunk-MLS7U7AT.mjs";
24
+ import {
25
+ FormInputAnnotation,
26
+ IconAnnotation,
27
+ SystemTypeAnnotation
28
+ } from "./chunk-TNBK56IN.mjs";
29
+ import {
30
+ __export
31
+ } from "./chunk-J5LGTIGS.mjs";
32
+
33
+ // src/index.ts
34
+ import { QueryAST as QueryAST2 } from "@dxos/echo-protocol";
35
+ import { DXN as DXN2 } from "@dxos/keys";
36
+
37
+ // src/Hypergraph.ts
38
+ var Hypergraph_exports = {};
39
+
40
+ // src/Json.ts
41
+ var Json_exports = {};
42
+ __export(Json_exports, {
43
+ createRefReplacer: () => createRefReplacer
44
+ });
45
+ import { DXN } from "@dxos/keys";
46
+ var isEncodedRef = (value) => typeof value === "object" && value !== null && Object.keys(value).length === 1 && typeof value["/"] === "string";
47
+ var toJson = (obj) => typeof obj.toJSON === "function" ? obj.toJSON() : obj;
48
+ var createRefReplacer = ({ db, depth = 1 }) => {
49
+ const hops = /* @__PURE__ */ new WeakMap();
50
+ return function(key, value) {
51
+ const parentHops = this && typeof this === "object" ? hops.get(this) ?? 0 : 0;
52
+ if (isEncodedRef(value)) {
53
+ if (parentHops >= depth) {
54
+ return value;
55
+ }
56
+ const dxnString = value["/"];
57
+ if (!dxnString.startsWith("dxn:")) {
58
+ return value;
59
+ }
60
+ let echoId;
61
+ try {
62
+ echoId = DXN.parse(dxnString).asEchoDXN()?.echoId;
63
+ } catch {
64
+ return value;
65
+ }
66
+ if (!echoId) {
67
+ return value;
68
+ }
69
+ const target = db.getObjectById(echoId);
70
+ if (!target) {
71
+ return value;
72
+ }
73
+ const encoded = toJson(target);
74
+ if (encoded != null && typeof encoded === "object") {
75
+ hops.set(encoded, parentHops + 1);
76
+ }
77
+ return encoded;
78
+ }
79
+ if (value != null && typeof value === "object") {
80
+ hops.set(value, parentHops);
81
+ }
82
+ return value;
83
+ };
84
+ };
85
+
86
+ // src/Collection.ts
87
+ var Collection_exports = {};
88
+ __export(Collection_exports, {
89
+ Collection: () => Collection,
90
+ isCollection: () => isCollection,
91
+ make: () => make2
92
+ });
93
+ import * as Schema from "effect/Schema";
94
+ var Collection = Schema.Struct({
95
+ name: Schema.String.pipe(Schema.optional),
96
+ objects: Schema.Array(Ref(Unknown)).pipe(FormInputAnnotation.set(false))
97
+ }).pipe(object({
98
+ typename: "org.dxos.type.collection",
99
+ version: "0.1.0"
100
+ }), IconAnnotation.set({
101
+ icon: "ph--folder--regular",
102
+ hue: "amber"
103
+ }));
104
+ var make2 = (props = {}) => make(Collection, {
105
+ objects: [],
106
+ ...props
107
+ });
108
+ var isCollection = instanceOf(Collection);
109
+
110
+ // src/View.ts
111
+ var View_exports = {};
112
+ __export(View_exports, {
113
+ FieldSchema: () => FieldSchema,
114
+ KeyValueProps: () => KeyValueProps,
115
+ Projection: () => Projection,
116
+ View: () => View,
117
+ createFieldId: () => createFieldId,
118
+ make: () => make3
119
+ });
120
+ import * as Schema2 from "effect/Schema";
121
+ import { QueryAST } from "@dxos/echo-protocol";
122
+ import { JsonPath } from "@dxos/effect";
123
+ import { PublicKey } from "@dxos/keys";
124
+ var FieldSchema = Schema2.Struct({
125
+ id: Schema2.String,
126
+ path: JsonPath,
127
+ visible: Schema2.optional(Schema2.Boolean),
128
+ // TODO(wittjosiah): Presentation-specific?
129
+ referencePath: Schema2.optional(JsonPath)
130
+ });
131
+ var KeyValueProps = Schema2.Record({
132
+ key: Schema2.String,
133
+ value: Schema2.Any
134
+ });
135
+ var createFieldId = () => PublicKey.random().truncate();
136
+ var Projection = Schema2.Struct({
137
+ /**
138
+ * Optional schema override used to customize the underlying schema.
139
+ */
140
+ schema: JsonSchemaType.pipe(Schema2.optional),
141
+ /**
142
+ * UX metadata associated with displayed fields (in table, form, etc.)
143
+ */
144
+ // TODO(wittjosiah): Should this just be an array of JsonPath?
145
+ fields: Schema2.Array(FieldSchema),
146
+ /**
147
+ * The id for the field used to pivot the view.
148
+ * E.g., the field to use for kanban columns or the field to use for map coordinates.
149
+ */
150
+ pivotFieldId: Schema2.String.pipe(Schema2.optional)
151
+ });
152
+ var ViewSchema = Schema2.Struct({
153
+ /**
154
+ * Query used to retrieve data.
155
+ * Can be a user-provided query grammar string or a query AST.
156
+ */
157
+ query: Schema2.Struct({
158
+ raw: Schema2.optional(Schema2.String),
159
+ ast: QueryAST.Query
160
+ }),
161
+ /**
162
+ * Projection of the data returned from the query.
163
+ */
164
+ projection: Projection
165
+ }).pipe(object({
166
+ typename: "org.dxos.type.view",
167
+ version: "0.1.0"
168
+ }), SystemTypeAnnotation.set(true), IconAnnotation.set({
169
+ icon: "ph--funnel--regular",
170
+ hue: "green"
171
+ }));
172
+ var View = ViewSchema;
173
+ var make3 = (props) => {
174
+ return make(View, {
175
+ query: {
176
+ ast: select(nothing()).ast
177
+ },
178
+ projection: {
179
+ fields: []
180
+ },
181
+ ...props
182
+ });
183
+ };
184
+
185
+ // src/Dataset.ts
186
+ var Dataset_exports = {};
187
+ __export(Dataset_exports, {
188
+ Dataset: () => Dataset,
189
+ isDataset: () => isDataset
190
+ });
191
+ import { pipe } from "effect/Function";
192
+ import * as Predicate from "effect/Predicate";
193
+ import * as Schema3 from "effect/Schema";
194
+ var Dataset = Schema3.Union(Feed, Collection, View);
195
+ var isDataset = pipe(instanceOf(Feed), Predicate.or(instanceOf(Collection)), Predicate.or(instanceOf(View)));
196
+
197
+ export {
198
+ Hypergraph_exports,
199
+ Json_exports,
200
+ Collection_exports,
201
+ View_exports,
202
+ Dataset_exports,
203
+ QueryAST2 as QueryAST,
204
+ DXN2 as DXN
205
+ };
206
+ //# sourceMappingURL=chunk-B2P7IVG3.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/index.ts", "../../../src/Hypergraph.ts", "../../../src/Json.ts", "../../../src/Collection.ts", "../../../src/View.ts", "../../../src/Dataset.ts"],
4
+ "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nexport { QueryAST } from '@dxos/echo-protocol';\n// TODO(wittjosiah): Refactor DXN to not use statics similar to Query.\nexport { DXN } from '@dxos/keys';\n\nexport * as Annotation from './Annotation';\nexport * as Database from './Database';\nexport * as Entity from './Entity';\n// TODO(burdon): Rename to Error (less problematic than Obj/Object).\nexport * as Err from './Err';\nexport * as Feed from './Feed';\nexport * as Filter from './Filter';\nexport * as Format from './Format';\nexport * as Hypergraph from './Hypergraph';\nexport * as Json from './Json';\nexport * as JsonSchema from './JsonSchema';\nexport * as Key from './Key';\nexport * as Migration from './Migration';\nexport * as Obj from './Obj';\nexport * as Order from './Order';\nexport * as Query from './Query';\nexport * as QueryResult from './QueryResult';\nexport * as Ref from './Ref';\nexport * as Relation from './Relation';\nexport * as SchemaRegistry from './SchemaRegistry';\nexport * as Tag from './Tag';\nexport * as Type from './Type';\nexport * as Collection from './Collection';\nexport * as View from './View';\nexport * as Dataset from './Dataset';\nexport * as Extension from './Extension';\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { type DXN } from '@dxos/keys';\n\nimport type * as Database from './Database';\nimport type * as Entity from './Entity';\nimport type * as internal from './internal';\nimport type * as Key from './Key';\nimport type * as Ref from './Ref';\nimport type * as SchemaRegistry from './SchemaRegistry';\n\n/**\n * Resolution context.\n * Affects how non-absolute DXNs are resolved.\n */\nexport interface RefResolutionContext {\n /**\n * Space that the resolution is happening from.\n */\n space?: Key.SpaceId;\n\n /**\n * Feed that the resolution is happening from (as the underlying queue DXN).\n * This feed will be searched first, and then the space it belongs to.\n */\n feed?: DXN;\n}\n\nexport interface RefResolverOptions {\n /**\n * Resolution context.\n * Affects how non-absolute DXNs are resolved.\n */\n context?: RefResolutionContext;\n\n /**\n * Middleware to change the resolved object before returning it.\n * @deprecated On track to be removed.\n */\n middleware?: (obj: internal.AnyProperties) => internal.AnyProperties;\n}\n\n/**\n * Manages cross-space database interactions.\n */\nexport interface Hypergraph extends Database.Queryable {\n get schemaRegistry(): SchemaRegistry.SchemaRegistry;\n\n /**\n * Query objects.\n */\n query: Database.QueryFn;\n\n /**\n * Creates a reference to an existing object in the database.\n *\n * NOTE: The reference may be dangling if the object is not present in the database.\n * NOTE: Difference from `Ref.fromDXN`\n * `Ref.fromDXN(dxn)` returns an unhydrated reference. The `.load` and `.target` APIs will not work.\n * `db.makeRef(dxn)` is preferable in cases with access to the database.\n */\n makeRef<T extends Entity.Unknown = Entity.Unknown>(dxn: DXN): Ref.Ref<T>;\n\n /**\n * @param hostDb Host database for reference resolution.\n * @param middleware Called with the loaded object. The caller may change the object.\n * @returns Result of `onLoad`.\n */\n // TODO(dmaretskyi): Restructure API: Remove middleware.\n createRefResolver(options: RefResolverOptions): Ref.Resolver;\n\n /**\n * Get a database by space ID.\n * @returns The database for the given space ID, or undefined if not found.\n */\n getDatabase(spaceId: Key.SpaceId): Database.Database | undefined;\n}\n", "//\n// Copyright 2026 DXOS.org\n//\n\nimport { DXN } from '@dxos/keys';\n\nimport * as Database from './Database';\nimport * as Obj from './Obj';\n\n/**\n * `JSON.stringify` replacer signature.\n *\n * Defined here (rather than re-imported from a UI package) so other ECHO-aware utilities can\n * share a stable signature without creating a dependency edge into the UI tree.\n */\nexport type JsonReplacer = (key: string, value: any) => any;\n\nexport type CreateRefReplacerOptions = {\n db: Database.Database;\n /** How many ref hops to follow. `0` leaves all refs as-is. Default: `1`. */\n depth?: number;\n};\n\nconst isEncodedRef = (value: unknown): value is { '/': string } =>\n typeof value === 'object' &&\n value !== null &&\n Object.keys(value as object).length === 1 &&\n typeof (value as { '/': unknown })['/'] === 'string';\n\nconst toJson = (obj: Obj.Any): unknown => (typeof (obj as any).toJSON === 'function' ? (obj as any).toJSON() : obj);\n\n/**\n * Returns a {@link JsonReplacer} that inlines ECHO ref objects (`{ \"/\": \"dxn:echo:...\" }`) up to\n * `depth` ref hops. Beyond that depth refs are left in their encoded form.\n *\n * Implemented as a per-call `JSON.stringify` replacer (not a one-shot tree walk at root) so it\n * composes with wrappers like `safeStringify` that intercept the root call. JSON.stringify\n * already drives the recursion; we only need to (a) detect a ref at the current callback,\n * (b) resolve and return the target if hop budget remains, and (c) tag the returned object\n * with its hop count so children know how far in they are.\n *\n * The hop count is tracked per-object via a `WeakMap`: a ref-resolved target's children inherit\n * `parentHops + 1`; a regular intermediate object's children inherit `parentHops`. This makes the\n * budget count *ref hops*, not tree depth — a ref deep in a tree still resolves once when\n * `depth >= 1`.\n *\n * Note: ECHO objects' `toJSON` runs before the replacer is invoked, so by the time we see a\n * value refs are already encoded as `{ \"/\": \"dxn:...\" }`.\n */\nexport const createRefReplacer = ({ db, depth = 1 }: CreateRefReplacerOptions): JsonReplacer => {\n // Per-object hop count. Set when we return an object (via ref resolution or pass-through) so\n // the child callbacks (which carry that object as `this`) can read it.\n const hops = new WeakMap<object, number>();\n\n return function (this: any, key: string, value: any) {\n // Hop count for this call: hops at the parent, or 0 for the root.\n const parentHops = this && typeof this === 'object' ? (hops.get(this) ?? 0) : 0;\n if (isEncodedRef(value)) {\n if (parentHops >= depth) {\n return value;\n }\n\n // The `{ '/': string }` shape is shared with non-DXN IPLD-style refs (e.g. CIDs);\n // an unparseable string would otherwise crash the whole `JSON.stringify`.\n // Treat any parse miss as \"leave as-is\" rather than propagating.\n const dxnString = value['/'];\n if (!dxnString.startsWith('dxn:')) {\n return value;\n }\n\n let echoId: string | undefined;\n try {\n echoId = DXN.parse(dxnString).asEchoDXN()?.echoId;\n } catch {\n return value;\n }\n\n if (!echoId) {\n return value;\n }\n const target = db.getObjectById(echoId);\n if (!target) {\n return value;\n }\n\n const encoded = toJson(target);\n if (encoded != null && typeof encoded === 'object') {\n // Children of the resolved target are one hop deeper.\n hops.set(encoded as object, parentHops + 1);\n }\n return encoded;\n }\n\n // Pass-through object: children inherit the parent's hop count (this branch doesn't burn\n // budget).\n if (value != null && typeof value === 'object') {\n hops.set(value, parentHops);\n }\n\n return value;\n };\n};\n", "//\n// Copyright 2024 DXOS.org\n//\n\n// @import-as-namespace\n\nimport * as Schema from 'effect/Schema';\n\nimport * as Annotation from './Annotation';\nimport * as internal from './internal';\nimport * as Obj from './Obj';\nimport * as Ref from './Ref';\nimport * as Type from './Type';\n\n/**\n * A an ordered set of objects.\n */\nexport const Collection = Schema.Struct({\n name: Schema.String.pipe(Schema.optional),\n objects: Schema.Array(Ref.Ref(Obj.Unknown)).pipe(internal.FormInputAnnotation.set(false)),\n}).pipe(\n Type.object({\n typename: 'org.dxos.type.collection',\n version: '0.1.0',\n }),\n Annotation.IconAnnotation.set({\n icon: 'ph--folder--regular',\n hue: 'amber',\n }),\n);\n\nexport interface Collection extends Schema.Schema.Type<typeof Collection> {}\n\nexport const make = (props: Partial<Obj.MakeProps<typeof Collection>> = {}): Collection =>\n Obj.make(Collection, { objects: [], ...props });\n\nexport const isCollection: (value: unknown) => value is Collection = Obj.instanceOf(Collection);\n", "//\n// Copyright 2025 DXOS.org\n//\n\n// @import-as-namespace\n\nimport * as Schema from 'effect/Schema';\n\nimport { QueryAST } from '@dxos/echo-protocol';\nimport { JsonPath } from '@dxos/effect';\nimport { PublicKey } from '@dxos/keys';\n\nimport * as Annotation from './Annotation';\nimport * as Filter from './Filter';\nimport * as internal from './internal';\nimport * as Obj from './Obj';\nimport * as Query from './Query';\nimport * as Type from './Type';\n\n/**\n * Stored field metadata (e.g., for UX).\n */\nexport const FieldSchema = Schema.Struct({\n id: Schema.String,\n path: JsonPath,\n visible: Schema.optional(Schema.Boolean),\n\n // TODO(wittjosiah): Presentation-specific?\n referencePath: Schema.optional(JsonPath),\n});\n\nexport type FieldType = Schema.Schema.Type<typeof FieldSchema>;\n\nexport const KeyValueProps = Schema.Record({ key: Schema.String, value: Schema.Any });\n\nexport const createFieldId = () => PublicKey.random().truncate();\n\nexport const Projection = Schema.Struct({\n /**\n * Optional schema override used to customize the underlying schema.\n */\n schema: internal.JsonSchemaType.pipe(Schema.optional),\n\n /**\n * UX metadata associated with displayed fields (in table, form, etc.)\n */\n // TODO(wittjosiah): Should this just be an array of JsonPath?\n fields: Schema.Array(FieldSchema),\n\n /**\n * The id for the field used to pivot the view.\n * E.g., the field to use for kanban columns or the field to use for map coordinates.\n */\n pivotFieldId: Schema.String.pipe(Schema.optional),\n});\n\nexport type Projection = Schema.Schema.Type<typeof Projection>;\n\n/**\n * Views are generated or user-defined projections of a schema's properties.\n * They are used to configure the visual representation of the data.\n */\nconst ViewSchema = Schema.Struct({\n /**\n * Query used to retrieve data.\n * Can be a user-provided query grammar string or a query AST.\n */\n query: Schema.Struct({\n raw: Schema.optional(Schema.String),\n ast: QueryAST.Query,\n }),\n\n /**\n * Projection of the data returned from the query.\n */\n projection: Projection,\n}).pipe(\n Type.object({\n typename: 'org.dxos.type.view',\n version: '0.1.0',\n }),\n internal.SystemTypeAnnotation.set(true),\n Annotation.IconAnnotation.set({\n icon: 'ph--funnel--regular',\n hue: 'green',\n }),\n);\n\nexport interface View extends Schema.Schema.Type<typeof ViewSchema> {}\n\n/**\n * View instance type.\n */\n// NOTE: This interface is explicitly defined rather than derived from the schema to avoid\n// TypeScript \"cannot be named\" portability errors. The schema contains QueryAST.Query which\n// references internal @dxos/echo-protocol module paths. Without this explicit interface,\n// any schema using Ref.Ref(View) would inherit the non-portable type and fail to compile.\n// TODO(wittjosiah): Find a better solution that doesn't require manually keeping the interface in sync.\nexport const View: Type.Obj<View> = ViewSchema as any;\n\nexport const make = (props: Partial<Obj.MakeProps<typeof View>>): View => {\n return Obj.make(View, {\n query: { ast: Query.select(Filter.nothing()).ast },\n projection: { fields: [] },\n ...props,\n });\n};\n", "//\n// Copyright 2026 DXOS.org\n//\n\n// @import-as-namespace\n\nimport { pipe } from 'effect/Function';\nimport * as Predicate from 'effect/Predicate';\nimport * as Schema from 'effect/Schema';\n\nimport * as Collection from './Collection';\nimport * as Feed from './Feed';\nimport * as Obj from './Obj';\nimport * as View from './View';\n\n/**\n * Abstart set of objects, represented by a view, feed, or collection.\n */\nexport const Dataset = Schema.Union(Feed.Feed, Collection.Collection, View.View);\nexport type Dataset = Feed.Feed | Collection.Collection | View.View;\n\nexport const isDataset: (value: unknown) => value is Dataset = pipe(\n Obj.instanceOf(Feed.Feed),\n Predicate.or(Obj.instanceOf(Collection.Collection)),\n Predicate.or(Obj.instanceOf(View.View)),\n);\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAIA,SAASA,YAAAA,iBAAgB;AAEzB,SAASC,OAAAA,YAAW;;;ACNpB;;;ACAA;;;;AAIA,SAASC,WAAW;AAmBpB,IAAMC,eAAe,CAACC,UACpB,OAAOA,UAAU,YACjBA,UAAU,QACVC,OAAOC,KAAKF,KAAAA,EAAiBG,WAAW,KACxC,OAAQH,MAA2B,GAAA,MAAS;AAE9C,IAAMI,SAAS,CAACC,QAA2B,OAAQA,IAAYC,WAAW,aAAcD,IAAYC,OAAM,IAAKD;AAoBxG,IAAME,oBAAoB,CAAC,EAAEC,IAAIC,QAAQ,EAAC,MAA4B;AAG3E,QAAMC,OAAO,oBAAIC,QAAAA;AAEjB,SAAO,SAAqBC,KAAaZ,OAAU;AAEjD,UAAMa,aAAa,QAAQ,OAAO,SAAS,WAAYH,KAAKI,IAAI,IAAI,KAAK,IAAK;AAC9E,QAAIf,aAAaC,KAAAA,GAAQ;AACvB,UAAIa,cAAcJ,OAAO;AACvB,eAAOT;MACT;AAKA,YAAMe,YAAYf,MAAM,GAAA;AACxB,UAAI,CAACe,UAAUC,WAAW,MAAA,GAAS;AACjC,eAAOhB;MACT;AAEA,UAAIiB;AACJ,UAAI;AACFA,iBAASnB,IAAIoB,MAAMH,SAAAA,EAAWI,UAAS,GAAIF;MAC7C,QAAQ;AACN,eAAOjB;MACT;AAEA,UAAI,CAACiB,QAAQ;AACX,eAAOjB;MACT;AACA,YAAMoB,SAASZ,GAAGa,cAAcJ,MAAAA;AAChC,UAAI,CAACG,QAAQ;AACX,eAAOpB;MACT;AAEA,YAAMsB,UAAUlB,OAAOgB,MAAAA;AACvB,UAAIE,WAAW,QAAQ,OAAOA,YAAY,UAAU;AAElDZ,aAAKa,IAAID,SAAmBT,aAAa,CAAA;MAC3C;AACA,aAAOS;IACT;AAIA,QAAItB,SAAS,QAAQ,OAAOA,UAAU,UAAU;AAC9CU,WAAKa,IAAIvB,OAAOa,UAAAA;IAClB;AAEA,WAAOb;EACT;AACF;;;ACrGA;;;;cAAAwB;;AAMA,YAAYC,YAAY;AAWjB,IAAMC,aAAoBC,cAAO;EACtCC,MAAaC,cAAOC,KAAYC,eAAQ;EACxCC,SAAgBC,aAAUC,IAAQC,OAAO,CAAA,EAAGL,KAAcM,oBAAoBC,IAAI,KAAA,CAAA;AACpF,CAAA,EAAGP,KACIQ,OAAO;EACVC,UAAU;EACVC,SAAS;AACX,CAAA,GACWC,eAAeJ,IAAI;EAC5BK,MAAM;EACNC,KAAK;AACP,CAAA,CAAA;AAKK,IAAMC,QAAO,CAACC,QAAmD,CAAC,MACnED,KAAKlB,YAAY;EAAEM,SAAS,CAAA;EAAI,GAAGa;AAAM,CAAA;AAExC,IAAMC,eAA4DC,WAAWrB,UAAAA;;;ACpCpF;;;;;;;cAAAsB;;AAMA,YAAYC,aAAY;AAExB,SAASC,gBAAgB;AACzB,SAASC,gBAAgB;AACzB,SAASC,iBAAiB;AAYnB,IAAMC,cAAqBC,eAAO;EACvCC,IAAWC;EACXC,MAAMC;EACNC,SAAgBC,iBAAgBC,eAAO;;EAGvCC,eAAsBF,iBAASF,QAAAA;AACjC,CAAA;AAIO,IAAMK,gBAAuBC,eAAO;EAAEC,KAAYT;EAAQU,OAAcC;AAAI,CAAA;AAE5E,IAAMC,gBAAgB,MAAMC,UAAUC,OAAM,EAAGC,SAAQ;AAEvD,IAAMC,aAAoBlB,eAAO;;;;EAItCmB,QAAiBC,eAAeC,KAAYf,gBAAQ;;;;;EAMpDgB,QAAeC,cAAMxB,WAAAA;;;;;EAMrByB,cAAqBtB,eAAOmB,KAAYf,gBAAQ;AAClD,CAAA;AAQA,IAAMmB,aAAoBzB,eAAO;;;;;EAK/B0B,OAAc1B,eAAO;IACnB2B,KAAYrB,iBAAgBJ,cAAM;IAClC0B,KAAKC,SAASC;EAChB,CAAA;;;;EAKAC,YAAYb;AACd,CAAA,EAAGG,KACIW,OAAO;EACVC,UAAU;EACVC,SAAS;AACX,CAAA,GACSC,qBAAqBC,IAAI,IAAA,GACvBC,eAAeD,IAAI;EAC5BE,MAAM;EACNC,KAAK;AACP,CAAA,CAAA;AAaK,IAAMC,OAAuBf;AAE7B,IAAMgB,QAAO,CAACC,UAAAA;AACnB,SAAWD,KAAKD,MAAM;IACpBd,OAAO;MAAEE,KAAWe,OAAcC,QAAO,CAAA,EAAIhB;IAAI;IACjDG,YAAY;MAAET,QAAQ,CAAA;IAAG;IACzB,GAAGoB;EACL,CAAA;AACF;;;AC1GA;;;;;AAMA,SAASG,YAAY;AACrB,YAAYC,eAAe;AAC3B,YAAYC,aAAY;AAUjB,IAAMC,UAAiBC,cAAWC,MAAiBC,YAAiBC,IAAI;AAGxE,IAAMC,YAAkDC,KACzDC,WAAgBL,IAAI,GACdM,aAAOD,WAAsBJ,UAAU,CAAA,GACvCK,aAAOD,WAAgBH,IAAI,CAAA,CAAA;",
6
+ "names": ["QueryAST", "DXN", "DXN", "isEncodedRef", "value", "Object", "keys", "length", "toJson", "obj", "toJSON", "createRefReplacer", "db", "depth", "hops", "WeakMap", "key", "parentHops", "get", "dxnString", "startsWith", "echoId", "parse", "asEchoDXN", "target", "getObjectById", "encoded", "set", "make", "Schema", "Collection", "Struct", "name", "String", "pipe", "optional", "objects", "Array", "Ref", "Unknown", "FormInputAnnotation", "set", "object", "typename", "version", "IconAnnotation", "icon", "hue", "make", "props", "isCollection", "instanceOf", "make", "Schema", "QueryAST", "JsonPath", "PublicKey", "FieldSchema", "Struct", "id", "String", "path", "JsonPath", "visible", "optional", "Boolean", "referencePath", "KeyValueProps", "Record", "key", "value", "Any", "createFieldId", "PublicKey", "random", "truncate", "Projection", "schema", "JsonSchemaType", "pipe", "fields", "Array", "pivotFieldId", "ViewSchema", "query", "raw", "ast", "QueryAST", "Query", "projection", "object", "typename", "version", "SystemTypeAnnotation", "set", "IconAnnotation", "icon", "hue", "View", "make", "props", "select", "nothing", "pipe", "Predicate", "Schema", "Dataset", "Union", "Feed", "Collection", "View", "isDataset", "pipe", "instanceOf", "or"]
7
+ }
@@ -0,0 +1,7 @@
1
+ // src/SchemaRegistry.ts
2
+ var SchemaRegistry_exports = {};
3
+
4
+ export {
5
+ SchemaRegistry_exports
6
+ };
7
+ //# sourceMappingURL=chunk-BICZKPQG.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/SchemaRegistry.ts"],
4
+ "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport type * as Types from 'effect/Types';\n\nimport type * as JsonSchema from './JsonSchema';\nimport type * as Key from './Key';\nimport type * as QueryResult from './QueryResult';\nimport type * as Type from './Type';\n\n// TODO(wittjosiah): Replace w/ Query.Query.\nexport type Query = {\n /**\n * Filter by schema ID.\n * Schema id is a DXN with `echo` or `type` kind.\n */\n id?: string | string[];\n\n /**\n * Id of the backing ECHO object.\n */\n backingObjectId?: Key.ObjectId | Key.ObjectId[];\n\n /**\n * One or more typenames to filter by.\n */\n typename?: string | string[];\n\n /**\n * [Semver Range](https://docs.npmjs.com/cli/v6/using-npm/semver#ranges) for the schema version.\n */\n version?: string;\n\n /**\n * Where to look for the schema.\n *\n * Database schema are stored in the database of the current space.\n * Runtime schema are registered in the runtime.\n *\n * @default ['database']\n */\n location?: ('database' | 'runtime')[];\n\n /**\n * Include system schemas.\n * @default false\n *\n * The system schema include but are not limited to:\n * - org.dxos.type.schema\n */\n includeSystem?: boolean;\n};\n\n/**\n * Input for schema registration.\n * The typename, version and schema mutability metadata is read from the schema annotations.\n *\n * Accepts:\n * - Branded ECHO schemas created with Type.Obj() or Type.Relation()\n * - JSON schema with typename and version\n */\nexport type RegisterSchemaInput =\n | Type.AnyEntity\n | {\n typename: string;\n version: string;\n jsonSchema: JsonSchema.JsonSchema;\n /**\n * Display name of the schema.\n */\n name?: string;\n };\n\nexport type ExtractQueryResult<Query> = Query extends { location: ('database' | 'runtime')[] }\n ? Type.AnyEntity\n : Type.RuntimeType;\n\n// TODO(dmaretskyi): Rename TypeRegistry\nexport interface SchemaRegistry {\n /**\n * Checks if the provided schema is registered.\n */\n // TODO(burdon): Type?\n hasSchema(schema: Type.AnyEntity): boolean;\n\n /**\n * Registers the provided schema.\n *\n * @returns Mutable runtime instances of schemas that were registered.\n *\n * The behavior of this method depends on the state of the database.\n * The general principle is that the schema will be upserted into the space.\n * If an equivalent schema with the same name and version already exists, the method does nothing.\n * If a different schema with the same name and version exists, the method throws an error.\n * If no schema with the same name and version exists, a new schema will be inserted based on semantic versioning rules.\n */\n register(input: RegisterSchemaInput[]): Promise<Type.RuntimeType[]>;\n\n /**\n *\n */\n query<Q extends Types.NoExcessProperties<Query, Q>>(\n query?: Q & Query,\n ): QueryResult.QueryResult<ExtractQueryResult<Q>>;\n}\n"],
5
+ "mappings": ";AAAA;",
6
+ "names": []
7
+ }