@dxos/echo 0.8.3-staging.0fa589b → 0.8.4-main.03d5cd7b56

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 (546) hide show
  1. package/README.md +6 -7
  2. package/dist/lib/neutral/Annotation.mjs +39 -0
  3. package/dist/lib/neutral/Database.mjs +49 -0
  4. package/dist/lib/neutral/Entity.mjs +61 -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 +50 -0
  11. package/dist/lib/neutral/Feed.mjs.map +7 -0
  12. package/dist/lib/neutral/Filter.mjs +72 -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/Migration.mjs +17 -0
  21. package/dist/lib/neutral/Migration.mjs.map +7 -0
  22. package/dist/lib/neutral/Obj.mjs +113 -0
  23. package/dist/lib/neutral/Obj.mjs.map +7 -0
  24. package/dist/lib/neutral/Order.mjs +12 -0
  25. package/dist/lib/neutral/Order.mjs.map +7 -0
  26. package/dist/lib/neutral/Query.mjs +38 -0
  27. package/dist/lib/neutral/Query.mjs.map +7 -0
  28. package/dist/lib/neutral/QueryResult.mjs +2 -0
  29. package/dist/lib/neutral/QueryResult.mjs.map +7 -0
  30. package/dist/lib/neutral/Ref.mjs +24 -0
  31. package/dist/lib/neutral/Ref.mjs.map +7 -0
  32. package/dist/lib/neutral/Relation.mjs +94 -0
  33. package/dist/lib/neutral/Relation.mjs.map +7 -0
  34. package/dist/lib/neutral/SchemaRegistry.mjs +2 -0
  35. package/dist/lib/neutral/SchemaRegistry.mjs.map +7 -0
  36. package/dist/lib/neutral/Tag.mjs +29 -0
  37. package/dist/lib/neutral/Tag.mjs.map +7 -0
  38. package/dist/lib/neutral/Type.mjs +37 -0
  39. package/dist/lib/neutral/Type.mjs.map +7 -0
  40. package/dist/lib/neutral/chunk-44HT3MEC.mjs +73 -0
  41. package/dist/lib/neutral/chunk-44HT3MEC.mjs.map +7 -0
  42. package/dist/lib/neutral/chunk-5SL5LDLD.mjs +47 -0
  43. package/dist/lib/neutral/chunk-5SL5LDLD.mjs.map +7 -0
  44. package/dist/lib/neutral/chunk-6VIJV543.mjs +34 -0
  45. package/dist/lib/neutral/chunk-6VIJV543.mjs.map +7 -0
  46. package/dist/lib/neutral/chunk-7RVZT53K.mjs +21 -0
  47. package/dist/lib/neutral/chunk-7RVZT53K.mjs.map +7 -0
  48. package/dist/lib/neutral/chunk-BICZKPQG.mjs +7 -0
  49. package/dist/lib/neutral/chunk-BICZKPQG.mjs.map +7 -0
  50. package/dist/lib/neutral/chunk-FHYIM4RD.mjs +128 -0
  51. package/dist/lib/neutral/chunk-FHYIM4RD.mjs.map +7 -0
  52. package/dist/lib/neutral/chunk-FZHVQEHN.mjs +81 -0
  53. package/dist/lib/neutral/chunk-FZHVQEHN.mjs.map +7 -0
  54. package/dist/lib/neutral/chunk-GWFFC34K.mjs +50 -0
  55. package/dist/lib/neutral/chunk-GWFFC34K.mjs.map +7 -0
  56. package/dist/lib/neutral/chunk-HPNQTEEQ.mjs +56 -0
  57. package/dist/lib/neutral/chunk-HPNQTEEQ.mjs.map +7 -0
  58. package/dist/lib/neutral/chunk-J5LGTIGS.mjs +10 -0
  59. package/dist/lib/neutral/chunk-J5LGTIGS.mjs.map +7 -0
  60. package/dist/lib/neutral/chunk-LVGOVFDV.mjs +125 -0
  61. package/dist/lib/neutral/chunk-LVGOVFDV.mjs.map +7 -0
  62. package/dist/lib/neutral/chunk-MPAI2MHO.mjs +346 -0
  63. package/dist/lib/neutral/chunk-MPAI2MHO.mjs.map +7 -0
  64. package/dist/lib/neutral/chunk-N4B7FHQT.mjs +67 -0
  65. package/dist/lib/neutral/chunk-N4B7FHQT.mjs.map +7 -0
  66. package/dist/lib/neutral/chunk-O5LRY6CO.mjs +734 -0
  67. package/dist/lib/neutral/chunk-O5LRY6CO.mjs.map +7 -0
  68. package/dist/lib/neutral/chunk-QGMIH2SN.mjs +27 -0
  69. package/dist/lib/neutral/chunk-QGMIH2SN.mjs.map +7 -0
  70. package/dist/lib/neutral/chunk-QXIANHKU.mjs +206 -0
  71. package/dist/lib/neutral/chunk-QXIANHKU.mjs.map +7 -0
  72. package/dist/lib/neutral/chunk-RF7ZBZ4A.mjs +354 -0
  73. package/dist/lib/neutral/chunk-RF7ZBZ4A.mjs.map +7 -0
  74. package/dist/lib/neutral/chunk-S7IMFVTB.mjs +132 -0
  75. package/dist/lib/neutral/chunk-S7IMFVTB.mjs.map +7 -0
  76. package/dist/lib/neutral/chunk-SJKBWMJY.mjs +2436 -0
  77. package/dist/lib/neutral/chunk-SJKBWMJY.mjs.map +7 -0
  78. package/dist/lib/neutral/chunk-SUZMWP3Y.mjs +36 -0
  79. package/dist/lib/neutral/chunk-SUZMWP3Y.mjs.map +7 -0
  80. package/dist/lib/neutral/chunk-SW5CUSBY.mjs +420 -0
  81. package/dist/lib/neutral/chunk-SW5CUSBY.mjs.map +7 -0
  82. package/dist/lib/neutral/chunk-TNBK56IN.mjs +350 -0
  83. package/dist/lib/neutral/chunk-TNBK56IN.mjs.map +7 -0
  84. package/dist/lib/neutral/chunk-TRPZU2HV.mjs +402 -0
  85. package/dist/lib/neutral/chunk-TRPZU2HV.mjs.map +7 -0
  86. package/dist/lib/neutral/chunk-TTCSATUD.mjs +42 -0
  87. package/dist/lib/neutral/chunk-TTCSATUD.mjs.map +7 -0
  88. package/dist/lib/neutral/chunk-V72DY6LU.mjs +7 -0
  89. package/dist/lib/neutral/chunk-V72DY6LU.mjs.map +7 -0
  90. package/dist/lib/neutral/chunk-VGKLHHRT.mjs +318 -0
  91. package/dist/lib/neutral/chunk-VGKLHHRT.mjs.map +7 -0
  92. package/dist/lib/neutral/chunk-VYAGNFSJ.mjs +45 -0
  93. package/dist/lib/neutral/chunk-VYAGNFSJ.mjs.map +7 -0
  94. package/dist/lib/neutral/chunk-WRVRDZDA.mjs +270 -0
  95. package/dist/lib/neutral/chunk-WRVRDZDA.mjs.map +7 -0
  96. package/dist/lib/neutral/chunk-ZISMEVKD.mjs +51 -0
  97. package/dist/lib/neutral/chunk-ZISMEVKD.mjs.map +7 -0
  98. package/dist/lib/neutral/index.mjs +107 -0
  99. package/dist/lib/neutral/index.mjs.map +7 -0
  100. package/dist/lib/neutral/internal/index.mjs +476 -0
  101. package/dist/lib/neutral/internal/index.mjs.map +7 -0
  102. package/dist/lib/neutral/meta.json +1 -0
  103. package/dist/lib/neutral/testing/index.mjs +429 -0
  104. package/dist/lib/neutral/testing/index.mjs.map +7 -0
  105. package/dist/types/src/Annotation.d.ts +24 -0
  106. package/dist/types/src/Annotation.d.ts.map +1 -0
  107. package/dist/types/src/Collection.d.ts +16 -0
  108. package/dist/types/src/Collection.d.ts.map +1 -0
  109. package/dist/types/src/Database.d.ts +201 -0
  110. package/dist/types/src/Database.d.ts.map +1 -0
  111. package/dist/types/src/Dataset.d.ts +19 -0
  112. package/dist/types/src/Dataset.d.ts.map +1 -0
  113. package/dist/types/src/Entity.d.ts +174 -0
  114. package/dist/types/src/Entity.d.ts.map +1 -0
  115. package/dist/types/src/Entity.test.d.ts +2 -0
  116. package/dist/types/src/Entity.test.d.ts.map +1 -0
  117. package/dist/types/src/Err.d.ts +107 -0
  118. package/dist/types/src/Err.d.ts.map +1 -0
  119. package/dist/types/src/Extension.d.ts +80 -0
  120. package/dist/types/src/Extension.d.ts.map +1 -0
  121. package/dist/types/src/Extension.test.d.ts +2 -0
  122. package/dist/types/src/Extension.test.d.ts.map +1 -0
  123. package/dist/types/src/Feed.d.ts +182 -0
  124. package/dist/types/src/Feed.d.ts.map +1 -0
  125. package/dist/types/src/Filter.d.ts +149 -0
  126. package/dist/types/src/Filter.d.ts.map +1 -0
  127. package/dist/types/src/Filter.test.d.ts +2 -0
  128. package/dist/types/src/Filter.test.d.ts.map +1 -0
  129. package/dist/types/src/Format.d.ts +4 -0
  130. package/dist/types/src/Format.d.ts.map +1 -0
  131. package/dist/types/src/Hypergraph.d.ts +65 -0
  132. package/dist/types/src/Hypergraph.d.ts.map +1 -0
  133. package/dist/types/src/Json.d.ts +33 -0
  134. package/dist/types/src/Json.d.ts.map +1 -0
  135. package/dist/types/src/Json.test.d.ts +2 -0
  136. package/dist/types/src/Json.test.d.ts.map +1 -0
  137. package/dist/types/src/JsonSchema.d.ts +16 -0
  138. package/dist/types/src/JsonSchema.d.ts.map +1 -0
  139. package/dist/types/src/Key.d.ts +1 -0
  140. package/dist/types/src/Key.d.ts.map +1 -1
  141. package/dist/types/src/Migration.d.ts +57 -0
  142. package/dist/types/src/Migration.d.ts.map +1 -0
  143. package/dist/types/src/Obj.d.ts +474 -35
  144. package/dist/types/src/Obj.d.ts.map +1 -1
  145. package/dist/types/src/Obj.test.d.ts +2 -0
  146. package/dist/types/src/Obj.test.d.ts.map +1 -0
  147. package/dist/types/src/Order.d.ts +16 -0
  148. package/dist/types/src/Order.d.ts.map +1 -0
  149. package/dist/types/src/Query.d.ts +213 -0
  150. package/dist/types/src/Query.d.ts.map +1 -0
  151. package/dist/types/src/Query.test.d.ts +2 -0
  152. package/dist/types/src/Query.test.d.ts.map +1 -0
  153. package/dist/types/src/QueryResult.d.ts +80 -0
  154. package/dist/types/src/QueryResult.d.ts.map +1 -0
  155. package/dist/types/src/Ref.d.ts +61 -11
  156. package/dist/types/src/Ref.d.ts.map +1 -1
  157. package/dist/types/src/Relation.d.ts +290 -21
  158. package/dist/types/src/Relation.d.ts.map +1 -1
  159. package/dist/types/src/Relation.test.d.ts +2 -0
  160. package/dist/types/src/Relation.test.d.ts.map +1 -0
  161. package/dist/types/src/SchemaRegistry.d.ts +84 -0
  162. package/dist/types/src/SchemaRegistry.d.ts.map +1 -0
  163. package/dist/types/src/Tag.d.ts +18 -0
  164. package/dist/types/src/Tag.d.ts.map +1 -0
  165. package/dist/types/src/Type.d.ts +127 -103
  166. package/dist/types/src/Type.d.ts.map +1 -1
  167. package/dist/types/src/Type.test.d.ts +2 -0
  168. package/dist/types/src/Type.test.d.ts.map +1 -0
  169. package/dist/types/src/View.d.ts +68 -0
  170. package/dist/types/src/View.d.ts.map +1 -0
  171. package/dist/types/src/exemplars.test.d.ts +2 -0
  172. package/dist/types/src/exemplars.test.d.ts.map +1 -0
  173. package/dist/types/src/hierarchy.test.d.ts +2 -0
  174. package/dist/types/src/hierarchy.test.d.ts.map +1 -0
  175. package/dist/types/src/index.d.ts +22 -3
  176. package/dist/types/src/index.d.ts.map +1 -1
  177. package/dist/types/src/internal/Annotation/annotations.d.ts +240 -0
  178. package/dist/types/src/internal/Annotation/annotations.d.ts.map +1 -0
  179. package/dist/types/src/internal/Annotation/annotations.test.d.ts +2 -0
  180. package/dist/types/src/internal/Annotation/annotations.test.d.ts.map +1 -0
  181. package/dist/types/src/internal/Annotation/index.d.ts +4 -0
  182. package/dist/types/src/internal/Annotation/index.d.ts.map +1 -0
  183. package/dist/types/src/internal/Annotation/sorting.d.ts +24 -0
  184. package/dist/types/src/internal/Annotation/sorting.d.ts.map +1 -0
  185. package/dist/types/src/internal/Annotation/util.d.ts +39 -0
  186. package/dist/types/src/internal/Annotation/util.d.ts.map +1 -0
  187. package/dist/types/src/internal/Entity/api.d.ts +13 -0
  188. package/dist/types/src/internal/Entity/api.d.ts.map +1 -0
  189. package/dist/types/src/internal/Entity/entity.d.ts +20 -0
  190. package/dist/types/src/internal/Entity/entity.d.ts.map +1 -0
  191. package/dist/types/src/internal/Entity/index.d.ts +8 -0
  192. package/dist/types/src/internal/Entity/index.d.ts.map +1 -0
  193. package/dist/types/src/internal/Entity/model.d.ts +55 -0
  194. package/dist/types/src/internal/Entity/model.d.ts.map +1 -0
  195. package/dist/types/src/internal/Entity/object.d.ts +18 -0
  196. package/dist/types/src/internal/Entity/object.d.ts.map +1 -0
  197. package/dist/types/src/internal/Entity/relation.d.ts +35 -0
  198. package/dist/types/src/internal/Entity/relation.d.ts.map +1 -0
  199. package/dist/types/src/internal/Entity/util.d.ts +2 -0
  200. package/dist/types/src/internal/Entity/util.d.ts.map +1 -0
  201. package/dist/types/src/internal/Entity/version.d.ts +42 -0
  202. package/dist/types/src/internal/Entity/version.d.ts.map +1 -0
  203. package/dist/types/src/internal/Format/date.d.ts +63 -0
  204. package/dist/types/src/internal/Format/date.d.ts.map +1 -0
  205. package/dist/types/src/internal/Format/date.test.d.ts +2 -0
  206. package/dist/types/src/internal/Format/date.test.d.ts.map +1 -0
  207. package/dist/types/src/internal/Format/format.d.ts +32 -0
  208. package/dist/types/src/internal/Format/format.d.ts.map +1 -0
  209. package/dist/types/src/internal/Format/format.test.d.ts +2 -0
  210. package/dist/types/src/internal/Format/format.test.d.ts.map +1 -0
  211. package/dist/types/src/internal/Format/index.d.ts +8 -0
  212. package/dist/types/src/internal/Format/index.d.ts.map +1 -0
  213. package/dist/types/src/internal/Format/number.d.ts +31 -0
  214. package/dist/types/src/internal/Format/number.d.ts.map +1 -0
  215. package/dist/types/src/internal/Format/object.d.ts +35 -0
  216. package/dist/types/src/internal/Format/object.d.ts.map +1 -0
  217. package/dist/types/src/internal/Format/select.d.ts +13 -0
  218. package/dist/types/src/internal/Format/select.d.ts.map +1 -0
  219. package/dist/types/src/internal/Format/string.d.ts +42 -0
  220. package/dist/types/src/internal/Format/string.d.ts.map +1 -0
  221. package/dist/types/src/internal/Format/types.d.ts +72 -0
  222. package/dist/types/src/internal/Format/types.d.ts.map +1 -0
  223. package/dist/types/src/internal/JsonSchema/annotations.d.ts +19 -0
  224. package/dist/types/src/internal/JsonSchema/annotations.d.ts.map +1 -0
  225. package/dist/types/src/internal/JsonSchema/effect-schema.test.d.ts +2 -0
  226. package/dist/types/src/internal/JsonSchema/effect-schema.test.d.ts.map +1 -0
  227. package/dist/types/src/internal/JsonSchema/index.d.ts +5 -0
  228. package/dist/types/src/internal/JsonSchema/index.d.ts.map +1 -0
  229. package/dist/types/src/internal/JsonSchema/json-schema-normalize.d.ts +7 -0
  230. package/dist/types/src/internal/JsonSchema/json-schema-normalize.d.ts.map +1 -0
  231. package/dist/types/src/internal/JsonSchema/json-schema-type.d.ts +351 -0
  232. package/dist/types/src/internal/JsonSchema/json-schema-type.d.ts.map +1 -0
  233. package/dist/types/src/internal/JsonSchema/json-schema.d.ts +30 -0
  234. package/dist/types/src/internal/JsonSchema/json-schema.d.ts.map +1 -0
  235. package/dist/types/src/internal/JsonSchema/json-schema.test.d.ts +2 -0
  236. package/dist/types/src/internal/JsonSchema/json-schema.test.d.ts.map +1 -0
  237. package/dist/types/src/internal/Obj/clone.d.ts +8 -0
  238. package/dist/types/src/internal/Obj/clone.d.ts.map +1 -0
  239. package/dist/types/src/internal/Obj/common.d.ts +18 -0
  240. package/dist/types/src/internal/Obj/common.d.ts.map +1 -0
  241. package/dist/types/src/internal/Obj/create-object.d.ts +39 -0
  242. package/dist/types/src/internal/Obj/create-object.d.ts.map +1 -0
  243. package/dist/types/src/internal/Obj/create-object.test.d.ts +2 -0
  244. package/dist/types/src/internal/Obj/create-object.test.d.ts.map +1 -0
  245. package/dist/types/src/internal/Obj/deleted.d.ts +6 -0
  246. package/dist/types/src/internal/Obj/deleted.d.ts.map +1 -0
  247. package/dist/types/src/internal/Obj/ids.d.ts +6 -0
  248. package/dist/types/src/internal/Obj/ids.d.ts.map +1 -0
  249. package/dist/types/src/internal/Obj/index.d.ts +11 -0
  250. package/dist/types/src/internal/Obj/index.d.ts.map +1 -0
  251. package/dist/types/src/internal/Obj/inspect.d.ts +2 -0
  252. package/dist/types/src/internal/Obj/inspect.d.ts.map +1 -0
  253. package/dist/types/src/internal/Obj/json-serializer.d.ts +45 -0
  254. package/dist/types/src/internal/Obj/json-serializer.d.ts.map +1 -0
  255. package/dist/types/src/internal/Obj/json-serializer.test.d.ts +2 -0
  256. package/dist/types/src/internal/Obj/json-serializer.test.d.ts.map +1 -0
  257. package/dist/types/src/internal/Obj/schema-validator.d.ts +2 -0
  258. package/dist/types/src/internal/Obj/schema-validator.d.ts.map +1 -0
  259. package/dist/types/src/internal/Obj/schema-validator.test.d.ts +2 -0
  260. package/dist/types/src/internal/Obj/schema-validator.test.d.ts.map +1 -0
  261. package/dist/types/src/internal/Obj/set-value.d.ts +7 -0
  262. package/dist/types/src/internal/Obj/set-value.d.ts.map +1 -0
  263. package/dist/types/src/internal/Obj/set-value.test.d.ts +2 -0
  264. package/dist/types/src/internal/Obj/set-value.test.d.ts.map +1 -0
  265. package/dist/types/src/internal/Obj/snapshot.d.ts +6 -0
  266. package/dist/types/src/internal/Obj/snapshot.d.ts.map +1 -0
  267. package/dist/types/src/internal/Obj/typed-object.d.ts +25 -0
  268. package/dist/types/src/internal/Obj/typed-object.d.ts.map +1 -0
  269. package/dist/types/src/internal/Obj/typed-object.test.d.ts +2 -0
  270. package/dist/types/src/internal/Obj/typed-object.test.d.ts.map +1 -0
  271. package/dist/types/src/internal/Query.d.ts +10 -0
  272. package/dist/types/src/internal/Query.d.ts.map +1 -0
  273. package/dist/types/src/internal/Ref/index.d.ts +3 -0
  274. package/dist/types/src/internal/Ref/index.d.ts.map +1 -0
  275. package/dist/types/src/internal/Ref/ref-array.d.ts +21 -0
  276. package/dist/types/src/internal/Ref/ref-array.d.ts.map +1 -0
  277. package/dist/types/src/internal/Ref/ref.d.ts +244 -0
  278. package/dist/types/src/internal/Ref/ref.d.ts.map +1 -0
  279. package/dist/types/src/internal/Ref/ref.test.d.ts +2 -0
  280. package/dist/types/src/internal/Ref/ref.test.d.ts.map +1 -0
  281. package/dist/types/src/internal/Type/compose.d.ts +7 -0
  282. package/dist/types/src/internal/Type/compose.d.ts.map +1 -0
  283. package/dist/types/src/internal/Type/compose.test.d.ts +2 -0
  284. package/dist/types/src/internal/Type/compose.test.d.ts.map +1 -0
  285. package/dist/types/src/internal/Type/echo-schema.d.ts +181 -0
  286. package/dist/types/src/internal/Type/echo-schema.d.ts.map +1 -0
  287. package/dist/types/src/internal/Type/index.d.ts +4 -0
  288. package/dist/types/src/internal/Type/index.d.ts.map +1 -0
  289. package/dist/types/src/internal/Type/manipulation.d.ts +10 -0
  290. package/dist/types/src/internal/Type/manipulation.d.ts.map +1 -0
  291. package/dist/types/src/internal/Type/persistent-schema.d.ts +20 -0
  292. package/dist/types/src/internal/Type/persistent-schema.d.ts.map +1 -0
  293. package/dist/types/src/internal/common/api/index.d.ts +11 -0
  294. package/dist/types/src/internal/common/api/index.d.ts.map +1 -0
  295. package/dist/types/src/internal/common/api/meta.d.ts +42 -0
  296. package/dist/types/src/internal/common/api/meta.d.ts.map +1 -0
  297. package/dist/types/src/internal/common/index.d.ts +4 -0
  298. package/dist/types/src/internal/common/index.d.ts.map +1 -0
  299. package/dist/types/src/internal/common/proxy/change-context.d.ts +55 -0
  300. package/dist/types/src/internal/common/proxy/change-context.d.ts.map +1 -0
  301. package/dist/types/src/internal/common/proxy/change.test.d.ts +2 -0
  302. package/dist/types/src/internal/common/proxy/change.test.d.ts.map +1 -0
  303. package/dist/types/src/internal/common/proxy/define-hidden-property.d.ts +5 -0
  304. package/dist/types/src/internal/common/proxy/define-hidden-property.d.ts.map +1 -0
  305. package/dist/types/src/internal/common/proxy/errors.d.ts +19 -0
  306. package/dist/types/src/internal/common/proxy/errors.d.ts.map +1 -0
  307. package/dist/types/src/internal/common/proxy/event-batch.d.ts +10 -0
  308. package/dist/types/src/internal/common/proxy/event-batch.d.ts.map +1 -0
  309. package/dist/types/src/internal/common/proxy/handler.test.d.ts +2 -0
  310. package/dist/types/src/internal/common/proxy/handler.test.d.ts.map +1 -0
  311. package/dist/types/src/internal/common/proxy/index.d.ts +14 -0
  312. package/dist/types/src/internal/common/proxy/index.d.ts.map +1 -0
  313. package/dist/types/src/internal/common/proxy/json-serializer.d.ts +6 -0
  314. package/dist/types/src/internal/common/proxy/json-serializer.d.ts.map +1 -0
  315. package/dist/types/src/internal/common/proxy/make-object.d.ts +14 -0
  316. package/dist/types/src/internal/common/proxy/make-object.d.ts.map +1 -0
  317. package/dist/types/src/internal/common/proxy/ownership.d.ts +57 -0
  318. package/dist/types/src/internal/common/proxy/ownership.d.ts.map +1 -0
  319. package/dist/types/src/internal/common/proxy/proxy-types.d.ts +18 -0
  320. package/dist/types/src/internal/common/proxy/proxy-types.d.ts.map +1 -0
  321. package/dist/types/src/internal/common/proxy/proxy-utils.d.ts +47 -0
  322. package/dist/types/src/internal/common/proxy/proxy-utils.d.ts.map +1 -0
  323. package/dist/types/src/internal/common/proxy/reactive-array.d.ts +8 -0
  324. package/dist/types/src/internal/common/proxy/reactive-array.d.ts.map +1 -0
  325. package/dist/types/src/internal/common/proxy/reactive.d.ts +39 -0
  326. package/dist/types/src/internal/common/proxy/reactive.d.ts.map +1 -0
  327. package/dist/types/src/internal/common/proxy/reactive.test.d.ts +2 -0
  328. package/dist/types/src/internal/common/proxy/reactive.test.d.ts.map +1 -0
  329. package/dist/types/src/internal/common/proxy/schema-validator.d.ts +15 -0
  330. package/dist/types/src/internal/common/proxy/schema-validator.d.ts.map +1 -0
  331. package/dist/types/src/internal/common/proxy/schema.test.d.ts +2 -0
  332. package/dist/types/src/internal/common/proxy/schema.test.d.ts.map +1 -0
  333. package/dist/types/src/internal/common/proxy/symbols.d.ts +3 -0
  334. package/dist/types/src/internal/common/proxy/symbols.d.ts.map +1 -0
  335. package/dist/types/src/internal/common/proxy/typed-handler.d.ts +48 -0
  336. package/dist/types/src/internal/common/proxy/typed-handler.d.ts.map +1 -0
  337. package/dist/types/src/internal/common/proxy/typed-handler.test.d.ts +2 -0
  338. package/dist/types/src/internal/common/proxy/typed-handler.test.d.ts.map +1 -0
  339. package/dist/types/src/internal/common/proxy/typed-object.test.d.ts +2 -0
  340. package/dist/types/src/internal/common/proxy/typed-object.test.d.ts.map +1 -0
  341. package/dist/types/src/internal/common/types/base.d.ts +27 -0
  342. package/dist/types/src/internal/common/types/base.d.ts.map +1 -0
  343. package/dist/types/src/internal/common/types/entity.d.ts +37 -0
  344. package/dist/types/src/internal/common/types/entity.d.ts.map +1 -0
  345. package/dist/types/src/internal/common/types/index.d.ts +7 -0
  346. package/dist/types/src/internal/common/types/index.d.ts.map +1 -0
  347. package/dist/types/src/internal/common/types/meta.d.ts +33 -0
  348. package/dist/types/src/internal/common/types/meta.d.ts.map +1 -0
  349. package/dist/types/src/internal/common/types/model-symbols.d.ts +54 -0
  350. package/dist/types/src/internal/common/types/model-symbols.d.ts.map +1 -0
  351. package/dist/types/src/internal/common/types/typename.d.ts +21 -0
  352. package/dist/types/src/internal/common/types/typename.d.ts.map +1 -0
  353. package/dist/types/src/internal/common/types/version.d.ts +15 -0
  354. package/dist/types/src/internal/common/types/version.d.ts.map +1 -0
  355. package/dist/types/src/internal/index.d.ts +11 -0
  356. package/dist/types/src/internal/index.d.ts.map +1 -0
  357. package/dist/types/src/{test → testing}/api.test.d.ts.map +1 -1
  358. package/dist/types/src/testing/index.d.ts +3 -1
  359. package/dist/types/src/testing/index.d.ts.map +1 -1
  360. package/dist/types/src/testing/test-data.d.ts +18 -0
  361. package/dist/types/src/testing/test-data.d.ts.map +1 -0
  362. package/dist/types/src/testing/test-schema.d.ts +304 -0
  363. package/dist/types/src/testing/test-schema.d.ts.map +1 -0
  364. package/dist/types/src/testing/util.d.ts +21 -0
  365. package/dist/types/src/testing/util.d.ts.map +1 -0
  366. package/dist/types/tsconfig.tsbuildinfo +1 -1
  367. package/package.json +122 -53
  368. package/src/Annotation.ts +49 -0
  369. package/src/Collection.ts +37 -0
  370. package/src/Database.ts +352 -0
  371. package/src/Dataset.ts +26 -0
  372. package/src/Entity.test.ts +22 -0
  373. package/src/Entity.ts +243 -0
  374. package/src/Err.ts +40 -0
  375. package/src/Extension.test.ts +235 -0
  376. package/src/Extension.ts +122 -0
  377. package/src/Feed.ts +304 -0
  378. package/src/Filter.test.ts +90 -0
  379. package/src/Filter.ts +454 -0
  380. package/src/Format.ts +9 -0
  381. package/src/Hypergraph.ts +79 -0
  382. package/src/Json.test.ts +175 -0
  383. package/src/Json.ts +102 -0
  384. package/src/JsonSchema.ts +26 -0
  385. package/src/Key.ts +3 -0
  386. package/src/Migration.ts +94 -0
  387. package/src/Obj.test.ts +539 -0
  388. package/src/Obj.ts +768 -78
  389. package/src/Order.ts +46 -0
  390. package/src/Query.test.ts +822 -0
  391. package/src/Query.ts +567 -0
  392. package/src/QueryResult.ts +106 -0
  393. package/src/Ref.ts +78 -9
  394. package/src/Relation.test.ts +88 -0
  395. package/src/Relation.ts +455 -54
  396. package/src/SchemaRegistry.ts +106 -0
  397. package/src/Tag.ts +41 -0
  398. package/src/Type.test.ts +52 -0
  399. package/src/Type.ts +177 -149
  400. package/src/View.ts +107 -0
  401. package/src/exemplars.test.ts +21 -0
  402. package/src/hierarchy.test.ts +33 -0
  403. package/src/index.ts +25 -4
  404. package/src/internal/Annotation/annotations.test.ts +145 -0
  405. package/src/internal/Annotation/annotations.ts +590 -0
  406. package/src/internal/Annotation/index.ts +7 -0
  407. package/src/internal/Annotation/sorting.ts +51 -0
  408. package/src/internal/Annotation/util.ts +85 -0
  409. package/src/internal/Entity/api.ts +30 -0
  410. package/src/internal/Entity/entity.ts +128 -0
  411. package/src/internal/Entity/index.ts +11 -0
  412. package/src/internal/Entity/model.ts +109 -0
  413. package/src/internal/Entity/object.ts +57 -0
  414. package/src/internal/Entity/relation.ts +154 -0
  415. package/src/internal/Entity/util.ts +33 -0
  416. package/src/internal/Entity/version.ts +96 -0
  417. package/src/internal/Format/date.test.ts +55 -0
  418. package/src/internal/Format/date.ts +217 -0
  419. package/src/internal/Format/format.test.ts +76 -0
  420. package/src/internal/Format/format.ts +54 -0
  421. package/src/internal/Format/index.ts +12 -0
  422. package/src/internal/Format/number.ts +89 -0
  423. package/src/internal/Format/object.ts +80 -0
  424. package/src/internal/Format/select.ts +18 -0
  425. package/src/internal/Format/string.ts +81 -0
  426. package/src/internal/Format/types.ts +186 -0
  427. package/src/internal/JsonSchema/annotations.ts +50 -0
  428. package/src/internal/JsonSchema/effect-schema.test.ts +143 -0
  429. package/src/internal/JsonSchema/index.ts +8 -0
  430. package/src/internal/JsonSchema/json-schema-normalize.ts +111 -0
  431. package/src/internal/JsonSchema/json-schema-type.ts +403 -0
  432. package/src/internal/JsonSchema/json-schema.test.ts +860 -0
  433. package/src/internal/JsonSchema/json-schema.ts +533 -0
  434. package/src/internal/Obj/clone.ts +48 -0
  435. package/src/internal/Obj/common.ts +75 -0
  436. package/src/internal/Obj/create-object.test.ts +114 -0
  437. package/src/internal/Obj/create-object.ts +94 -0
  438. package/src/internal/Obj/deleted.ts +19 -0
  439. package/src/internal/Obj/ids.ts +12 -0
  440. package/src/internal/Obj/index.ts +14 -0
  441. package/src/internal/Obj/inspect.ts +46 -0
  442. package/src/internal/Obj/json-serializer.test.ts +120 -0
  443. package/src/internal/Obj/json-serializer.ts +222 -0
  444. package/src/internal/Obj/schema-validator.test.ts +182 -0
  445. package/src/internal/Obj/schema-validator.ts +6 -0
  446. package/src/internal/Obj/set-value.test.ts +281 -0
  447. package/src/internal/Obj/set-value.ts +165 -0
  448. package/src/internal/Obj/snapshot.ts +105 -0
  449. package/src/internal/Obj/typed-object.test.ts +34 -0
  450. package/src/internal/Obj/typed-object.ts +30 -0
  451. package/src/internal/Query.ts +137 -0
  452. package/src/internal/Ref/index.ts +6 -0
  453. package/src/internal/Ref/ref-array.ts +38 -0
  454. package/src/internal/Ref/ref.test.ts +100 -0
  455. package/src/internal/Ref/ref.ts +589 -0
  456. package/src/internal/Type/compose.test.ts +41 -0
  457. package/src/internal/Type/compose.ts +41 -0
  458. package/src/internal/Type/echo-schema.ts +423 -0
  459. package/src/internal/Type/index.ts +7 -0
  460. package/src/internal/Type/manipulation.ts +92 -0
  461. package/src/internal/Type/persistent-schema.ts +33 -0
  462. package/src/internal/common/README.md +102 -0
  463. package/src/internal/common/api/index.ts +15 -0
  464. package/src/internal/common/api/meta.ts +88 -0
  465. package/src/internal/common/index.ts +7 -0
  466. package/src/internal/common/proxy/change-context.ts +138 -0
  467. package/src/internal/common/proxy/change.test.ts +519 -0
  468. package/src/internal/common/proxy/define-hidden-property.ts +14 -0
  469. package/src/internal/common/proxy/errors.ts +42 -0
  470. package/src/internal/common/proxy/event-batch.ts +44 -0
  471. package/src/internal/common/proxy/handler.test.ts +121 -0
  472. package/src/internal/common/proxy/index.ts +17 -0
  473. package/src/internal/common/proxy/json-serializer.ts +90 -0
  474. package/src/internal/common/proxy/make-object.ts +105 -0
  475. package/src/internal/common/proxy/ownership.ts +252 -0
  476. package/src/internal/common/proxy/proxy-types.ts +23 -0
  477. package/src/internal/common/proxy/proxy-utils.ts +150 -0
  478. package/src/internal/common/proxy/reactive-array.ts +71 -0
  479. package/src/internal/common/proxy/reactive.test.ts +54 -0
  480. package/src/internal/common/proxy/reactive.ts +77 -0
  481. package/src/internal/common/proxy/schema-validator.ts +244 -0
  482. package/src/internal/common/proxy/schema.test.ts +145 -0
  483. package/src/internal/common/proxy/symbols.ts +7 -0
  484. package/src/internal/common/proxy/typed-handler.test.ts +313 -0
  485. package/src/internal/common/proxy/typed-handler.ts +447 -0
  486. package/src/internal/common/proxy/typed-object.test.ts +115 -0
  487. package/src/internal/common/types/base.ts +43 -0
  488. package/src/internal/common/types/entity.ts +54 -0
  489. package/src/internal/common/types/index.ts +10 -0
  490. package/src/internal/common/types/meta.ts +67 -0
  491. package/src/internal/common/types/model-symbols.ts +69 -0
  492. package/src/internal/common/types/typename.ts +55 -0
  493. package/src/internal/common/types/version.ts +19 -0
  494. package/src/internal/index.ts +17 -0
  495. package/src/testing/api.test.ts +125 -0
  496. package/src/testing/index.ts +3 -1
  497. package/src/testing/test-data.ts +189 -0
  498. package/src/testing/test-schema.ts +240 -0
  499. package/src/testing/util.ts +85 -0
  500. package/dist/lib/browser/chunk-UYPR62ZB.mjs +0 -624
  501. package/dist/lib/browser/chunk-UYPR62ZB.mjs.map +0 -7
  502. package/dist/lib/browser/index.mjs +0 -22
  503. package/dist/lib/browser/meta.json +0 -1
  504. package/dist/lib/browser/testing/index.mjs +0 -70
  505. package/dist/lib/browser/testing/index.mjs.map +0 -7
  506. package/dist/lib/node/chunk-4HQE2F3L.cjs +0 -644
  507. package/dist/lib/node/chunk-4HQE2F3L.cjs.map +0 -7
  508. package/dist/lib/node/index.cjs +0 -43
  509. package/dist/lib/node/index.cjs.map +0 -7
  510. package/dist/lib/node/meta.json +0 -1
  511. package/dist/lib/node/testing/index.cjs +0 -89
  512. package/dist/lib/node/testing/index.cjs.map +0 -7
  513. package/dist/lib/node-esm/chunk-BYBICDIO.mjs +0 -624
  514. package/dist/lib/node-esm/chunk-BYBICDIO.mjs.map +0 -7
  515. package/dist/lib/node-esm/index.mjs +0 -22
  516. package/dist/lib/node-esm/meta.json +0 -1
  517. package/dist/lib/node-esm/testing/index.mjs +0 -70
  518. package/dist/lib/node-esm/testing/index.mjs.map +0 -7
  519. package/dist/types/src/experimental/database.d.ts +0 -8
  520. package/dist/types/src/experimental/database.d.ts.map +0 -1
  521. package/dist/types/src/experimental/index.d.ts +0 -1
  522. package/dist/types/src/experimental/index.d.ts.map +0 -1
  523. package/dist/types/src/experimental/queue.d.ts +0 -8
  524. package/dist/types/src/experimental/queue.d.ts.map +0 -1
  525. package/dist/types/src/experimental/space.d.ts +0 -8
  526. package/dist/types/src/experimental/space.d.ts.map +0 -1
  527. package/dist/types/src/query/dsl.d.ts +0 -218
  528. package/dist/types/src/query/dsl.d.ts.map +0 -1
  529. package/dist/types/src/query/dsl.test.d.ts +0 -2
  530. package/dist/types/src/query/dsl.test.d.ts.map +0 -1
  531. package/dist/types/src/query/index.d.ts +0 -2
  532. package/dist/types/src/query/index.d.ts.map +0 -1
  533. package/dist/types/src/testing/types.d.ts +0 -113
  534. package/dist/types/src/testing/types.d.ts.map +0 -1
  535. package/src/experimental/database.ts +0 -11
  536. package/src/experimental/index.ts +0 -7
  537. package/src/experimental/queue.ts +0 -11
  538. package/src/experimental/space.ts +0 -11
  539. package/src/query/dsl.test.ts +0 -323
  540. package/src/query/dsl.ts +0 -646
  541. package/src/query/index.ts +0 -5
  542. package/src/test/api.test.ts +0 -173
  543. package/src/testing/types.ts +0 -91
  544. /package/dist/lib/{browser/index.mjs.map → neutral/Annotation.mjs.map} +0 -0
  545. /package/dist/lib/{node-esm/index.mjs.map → neutral/Database.mjs.map} +0 -0
  546. /package/dist/types/src/{test → testing}/api.test.d.ts +0 -0
@@ -1,152 +1,176 @@
1
- import { type Schema } from 'effect';
2
- import type { Simplify } from 'effect/Schema';
3
- import type { EncodedReference } from '@dxos/echo-protocol';
4
- import * as EchoSchema from '@dxos/echo-schema';
5
- import type { ToMutable } from '@dxos/echo-schema';
6
- import type * as Keys from '@dxos/keys';
1
+ import type * as Schema from 'effect/Schema';
2
+ import { type EncodedReference } from '@dxos/echo-protocol';
3
+ import { type DXN } from '@dxos/keys';
4
+ import { type ToMutable } from '@dxos/util';
5
+ import type * as Entity from './Entity';
6
+ import * as internal from './internal';
7
+ import * as typeInternal from './internal/Type';
8
+ import type * as ObjModule from './Obj';
7
9
  import type * as RelationModule from './Relation';
8
- export declare const KindId: unique symbol;
9
- export type KindId = typeof KindId;
10
- export { EntityKind as Kind } from '@dxos/echo-schema';
11
10
  /**
12
- * Assigns a kind to an Object or Relation instance.
11
+ * Dynamic type that can be constructed, mutated, and persisted in the ECHO database.
13
12
  */
14
- export interface OfKind<Kind extends EchoSchema.EntityKind> {
15
- readonly id: Keys.ObjectId;
16
- readonly [KindId]: Kind;
17
- }
18
- interface ObjJsonProps {
19
- id: string;
20
- }
21
- interface RelationJsonProps {
22
- id: string;
23
- [EchoSchema.ATTR_RELATION_SOURCE]: string;
24
- [EchoSchema.ATTR_RELATION_TARGET]: string;
25
- }
13
+ export declare const RuntimeType: typeof internal.EchoSchema;
26
14
  /**
27
- * Returns all properties of an object or relation except for the id and kind.
15
+ * Dynamic type that can be constructed, mutated, and persisted in the ECHO database.
28
16
  */
29
- export type Properties<T> = Omit<T, 'id' | KindId | RelationModule.Source | RelationModule.Target>;
17
+ export type RuntimeType = typeInternal.EchoSchema;
30
18
  /**
31
- * Base ECHO schema type.
19
+ * Type that marks a schema as an ECHO schema.
20
+ * The value indicates the entity kind (Object or Relation).
32
21
  */
33
- export type Schema = EchoSchema.EchoSchema;
22
+ type EchoSchemaKind<K extends internal.EntityKind = internal.EntityKind> = {
23
+ readonly [internal.SchemaKindId]: K;
24
+ };
34
25
  /**
35
- * Return type of the `Obj` schema constructor.
26
+ * TypeScript type for an ECHO object schema.
27
+ * `T` is the instance type produced by the schema.
28
+ * `Fields` is the optional struct fields type for introspection.
29
+ *
30
+ * @example
31
+ * ```ts
32
+ * const PersonSchema: Type.Obj<Person> = Schema.Struct({
33
+ * name: Schema.String,
34
+ * }).pipe(Type.object({ typename: 'Person', version: '0.1.0' }));
36
35
  *
37
- * This typedef avoids `TS4023` error (name from external module cannot be used named).
38
- * See Effect's note on interface types.
36
+ * // Access fields for introspection:
37
+ * Object.keys(PersonSchema.fields); // ['name']
38
+ * ```
39
39
  */
40
- export interface obj<Self extends Schema.Schema.Any> extends Schema.AnnotableClass<obj<Self>, OfKind<EchoSchema.EntityKind.Object> & ToMutable<Schema.Schema.Type<Self>>, Simplify<ObjJsonProps & ToMutable<Schema.Schema.Encoded<Self>>>, Schema.Schema.Context<Self>>, EchoSchema.TypeMeta {
40
+ export interface Obj<T, Fields extends Schema.Struct.Fields = Schema.Struct.Fields> extends internal.TypeMeta, EchoSchemaKind<internal.EntityKind.Object>, Schema.AnnotableClass<Obj<T, Fields>, Entity.OfKind<typeof Entity.Kind.Object> & T, Schema.Simplify<ObjModule.BaseObjJson & ToMutable<T>>, never> {
41
+ /**
42
+ * The fields defined in the original struct schema.
43
+ * Allows accessing field definitions for introspection.
44
+ */
45
+ readonly fields: Fields;
41
46
  }
42
47
  /**
43
- * Object schema.
48
+ * Structural base type for any ECHO object schema.
49
+ * Accepts both static schemas (created with Type.object()) and EchoSchema.
50
+ * NOTE: Does not include the brand symbol to avoid TS4053 declaration portability issues.
51
+ * Use Type.isObjectSchema() for runtime type guards.
44
52
  */
45
- export declare const Obj: {
46
- (opts: EchoSchema.TypeMeta): <Self extends Schema.Schema.Any>(self: Self) => obj<Self>;
53
+ type ObjectSchemaBase = Schema.Schema.AnyNoContext & {
54
+ readonly typename: string;
55
+ readonly version: string;
47
56
  };
48
57
  /**
49
- * Object schema type definitions.
58
+ * Type that represents any ECHO object schema.
59
+ * Accepts both static schemas (Type.object()) and mutable schemas (EchoSchema).
50
60
  */
51
- export declare namespace Obj {
52
- /**
53
- * Type that represents an arbitrary schema type of an object.
54
- * NOTE: This is not an instance type.
55
- */
56
- type Any = Schema.Schema.AnyNoContext;
57
- }
61
+ export type AnyObj = ObjectSchemaBase;
58
62
  /**
59
- * Return type of the `Relation` schema constructor.
63
+ * Factory function to create an ECHO object schema.
64
+ * Adds object metadata annotations to an Effect schema.
60
65
  *
61
- * This typedef avoids `TS4023` error (name from external module cannot be used named).
62
- * See Effect's note on interface types.
66
+ * @example
67
+ * ```ts
68
+ * const Person = Schema.Struct({
69
+ * name: Schema.String,
70
+ * }).pipe(Type.object({ typename: 'com.example.type.person', version: '0.1.0' }));
71
+ * ```
72
+ */
73
+ export declare const object: {
74
+ (opts: internal.TypeMeta): <Self extends Schema.Schema.Any>(self: Self) => Obj<Schema.Schema.Type<Self>>;
75
+ };
76
+ export declare const PersistentType: Obj<typeInternal.PersistentSchema>;
77
+ export interface PersistentType extends Schema.Schema.Type<typeof PersistentType> {
78
+ }
79
+ /**
80
+ * TypeScript type for an ECHO relation schema.
81
+ * `T` is the instance type produced by the schema (excluding source/target).
82
+ * `Source` and `Target` are the endpoint types.
83
+ * `Fields` is the optional struct fields type for introspection.
63
84
  */
64
- export interface relation<Self extends Schema.Schema.Any, SourceSchema extends Schema.Schema.Any, TargetSchema extends Schema.Schema.Any> extends Schema.AnnotableClass<relation<Self, SourceSchema, TargetSchema>, OfKind<EchoSchema.EntityKind.Relation> & Relation.Endpoints<Schema.Schema.Type<SourceSchema>, Schema.Schema.Type<TargetSchema>> & ToMutable<Schema.Schema.Type<Self>>, Simplify<RelationJsonProps & ToMutable<Schema.Schema.Encoded<Self>>>, Schema.Schema.Context<Self>>, EchoSchema.TypeMeta {
85
+ export interface Relation<T, Source, Target, Fields extends Schema.Struct.Fields = Schema.Struct.Fields> extends internal.TypeMeta, EchoSchemaKind<internal.EntityKind.Relation>, Schema.AnnotableClass<Relation<T, Source, Target, Fields>, Entity.OfKind<typeof Entity.Kind.Relation> & RelationModule.Endpoints<Source, Target> & T, Schema.Simplify<RelationModule.BaseRelationJson & ToMutable<T>>, never> {
86
+ /**
87
+ * The fields defined in the original struct schema.
88
+ * Allows accessing field definitions for introspection.
89
+ */
90
+ readonly fields: Fields;
65
91
  }
66
92
  /**
67
- * Relation schema.
93
+ * Structural base type for any ECHO relation schema.
94
+ * Accepts static schemas (created with Type.relation()).
95
+ * NOTE: Does not include the brand symbol to avoid TS4053 declaration portability issues.
96
+ * Use Type.isRelationSchema() for runtime type guards.
68
97
  */
69
- export declare const Relation: {
70
- <Source extends Schema.Schema.AnyNoContext, Target extends Schema.Schema.AnyNoContext>(opts: EchoSchema.EchoRelationOptions<Source, Target>): <Self extends Schema.Schema.Any>(self: Self) => relation<Self, Source, Target>;
98
+ type RelationSchemaBase = Schema.Schema.AnyNoContext & {
99
+ readonly typename: string;
100
+ readonly version: string;
71
101
  };
72
102
  /**
73
- * Relation schema type definitions.
103
+ * Type that represents any ECHO relation schema.
104
+ * Accepts static schemas (Type.relation()).
74
105
  */
75
- export declare namespace Relation {
76
- /**
77
- * Type that represents an arbitrary schema type of a relation.
78
- * NOTE: This is not an instance type.
79
- */
80
- type Any = Schema.Schema.AnyNoContext;
81
- /**
82
- * Get relation target type.
83
- */
84
- type Target<A> = A extends Relation.Endpoints<infer _S, infer T> ? T : never;
85
- /**
86
- * Get relation source type.
87
- */
88
- type Source<A> = A extends Relation.Endpoints<infer S, infer _T> ? S : never;
89
- type Endpoints<Source, Target> = {
90
- [RelationModule.Source]: Source;
91
- [RelationModule.Target]: Target;
92
- };
93
- }
106
+ export type AnyRelation = RelationSchemaBase;
94
107
  /**
95
- * Return type of the `Ref` schema constructor.
108
+ * Factory function to create an ECHO relation schema.
109
+ * Adds relation metadata annotations to an Effect schema.
96
110
  *
97
- * This typedef avoids `TS4023` error (name from external module cannot be used named).
98
- * See Effect's note on interface types.
111
+ * @example
112
+ * ```ts
113
+ * const WorksFor = Schema.Struct({
114
+ * role: Schema.String,
115
+ * }).pipe(Type.relation({
116
+ * typename: 'com.example.type.works-for',
117
+ * version: '0.1.0',
118
+ * source: Person,
119
+ * target: Company,
120
+ * }));
121
+ * ```
122
+ */
123
+ export declare const relation: {
124
+ <SourceSchema extends Schema.Schema.AnyNoContext, TargetSchema extends Schema.Schema.AnyNoContext>(opts: internal.EchoRelationSchemaOptions<SourceSchema, TargetSchema>): <Self extends Schema.Schema.Any>(self: Self) => Relation<Schema.Schema.Type<Self>, Schema.Schema.Type<SourceSchema>, Schema.Schema.Type<TargetSchema>>;
125
+ };
126
+ /**
127
+ * Type alias for any ECHO entity schema (object or relation).
128
+ * Use this in type annotations for schema parameters.
99
129
  */
100
- export interface ref<TargetSchema extends Schema.Schema.Any> extends EchoSchema.Ref$<Schema.Schema.Type<TargetSchema>> {
101
- }
130
+ export type AnyEntity = AnyObj | AnyRelation;
102
131
  /**
103
- * Ref schema.
132
+ * Type guard to check if a schema is an object schema.
133
+ * NOTE: This checks SCHEMAS, not instances. Use Obj.isObject for instances.
104
134
  */
105
- export declare const Ref: <S extends Obj.Any>(schema: S) => ref<S>;
106
- export interface Ref<T> extends Schema.SchemaClass<EchoSchema.Ref<T>, EncodedReference> {
107
- }
108
- export declare namespace Ref {
109
- /**
110
- * Type that represents an arbitrary schema type of a reference.
111
- * NOTE: This is not an instance type.
112
- */
113
- type Any = Schema.Schema<EchoSchema.Ref<any>, EncodedReference>;
114
- }
135
+ export declare const isObjectSchema: (schema: AnyEntity) => schema is AnyObj;
136
+ /**
137
+ * Type guard to check if a schema is a relation schema.
138
+ * NOTE: This checks SCHEMAS, not instances. Use Relation.isRelation for instances.
139
+ */
140
+ export declare const isRelationSchema: (schema: AnyEntity) => schema is AnyRelation;
141
+ /**
142
+ * Type that represents any Ref schema (with unknown target type).
143
+ * This is a schema type, not an instance type.
144
+ */
145
+ export type AnyRef = Schema.Schema<internal.Ref<any>, EncodedReference>;
115
146
  /**
116
147
  * Gets the full DXN of the schema.
117
148
  * Will include the version if it's a `type` DXN.
118
- * @example "dxn:example.com/type/Person:0.1.0"
149
+ * @example "dxn:com.example.type.person:0.1.0"
119
150
  * @example "dxn:echo:SSSSSSSSSS:XXXXXXXXXXXXX"
120
151
  */
121
- export declare const getDXN: (schema: Obj.Any | Relation.Any) => Keys.DXN | undefined;
152
+ export declare const getDXN: (schema: AnyEntity) => DXN | undefined;
122
153
  /**
123
154
  * @param schema - Schema to get the typename from.
124
- * @returns The typename of the schema. Example: `example.com/type/Person`.
155
+ * @returns The typename of the schema. Example: `com.example.type.person`.
125
156
  */
126
- export declare const getTypename: (schema: Obj.Any | Relation.Any) => string;
157
+ export declare const getTypename: (schema: AnyEntity) => string;
127
158
  /**
128
159
  * Gets the version of the schema.
129
160
  * @example 0.1.0
130
161
  */
131
- export declare const getVersion: (schema: Obj.Any | Relation.Any) => string;
162
+ export declare const getVersion: (schema: AnyEntity) => string;
132
163
  /**
133
- * ECHO type metadata.
164
+ * @returns True if the schema is mutable.
134
165
  */
135
- export type Meta = EchoSchema.TypeAnnotation;
166
+ export declare const isMutable: (schema: Schema.Schema.AnyNoContext) => schema is internal.EchoSchema;
136
167
  /**
137
- * Gets the meta data of the schema.
168
+ * ECHO type metadata.
138
169
  */
139
- export declare const getMeta: (schema: Obj.Any | Relation.Any) => Meta | undefined;
170
+ export type Meta = internal.TypeAnnotation;
140
171
  /**
141
- * @returns True if the schema is mutable.
172
+ * Gets the meta data of the schema.
142
173
  */
143
- export declare const isMutable: (schema: Schema.Schema.AnyNoContext) => schema is EchoSchema.EchoSchema;
144
- export { SpaceId, ObjectId, DXN } from '@dxos/keys';
145
- export interface Expando extends OfKind<EchoSchema.EntityKind.Object> {
146
- [key: string]: any;
147
- }
148
- export declare const Expando: Schema.Schema<Expando, Simplify<ObjJsonProps & {
149
- [key: string]: any;
150
- }>, never>;
151
- export { Format, JsonSchemaType as JsonSchema, toEffectSchema, toJsonSchema, } from '@dxos/echo-schema';
174
+ export declare const getMeta: (schema: AnyEntity) => Meta | undefined;
175
+ export {};
152
176
  //# sourceMappingURL=Type.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Type.d.ts","sourceRoot":"","sources":["../../../src/Type.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Type.d.ts","sourceRoot":"","sources":["../../../src/Type.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=Type.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Type.test.d.ts","sourceRoot":"","sources":["../../../src/Type.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,68 @@
1
+ import * as Schema from 'effect/Schema';
2
+ import { QueryAST } from '@dxos/echo-protocol';
3
+ import { JsonPath } from '@dxos/effect';
4
+ import * as internal from './internal';
5
+ import * as Obj from './Obj';
6
+ import * as Type from './Type';
7
+ /**
8
+ * Stored field metadata (e.g., for UX).
9
+ */
10
+ export declare const FieldSchema: Schema.Struct<{
11
+ id: typeof Schema.String;
12
+ path: Schema.Schema<JsonPath, JsonPath, never>;
13
+ visible: Schema.optional<typeof Schema.Boolean>;
14
+ referencePath: Schema.optional<Schema.Schema<JsonPath, JsonPath, never>>;
15
+ }>;
16
+ export type FieldType = Schema.Schema.Type<typeof FieldSchema>;
17
+ export declare const KeyValueProps: Schema.Record$<typeof Schema.String, typeof Schema.Any>;
18
+ export declare const createFieldId: () => string;
19
+ export declare const Projection: Schema.Struct<{
20
+ /**
21
+ * Optional schema override used to customize the underlying schema.
22
+ */
23
+ schema: Schema.optional<Schema.Schema<internal.JsonSchemaType, internal.JsonSchemaType, never>>;
24
+ /**
25
+ * UX metadata associated with displayed fields (in table, form, etc.)
26
+ */
27
+ fields: Schema.Array$<Schema.Struct<{
28
+ id: typeof Schema.String;
29
+ path: Schema.Schema<JsonPath, JsonPath, never>;
30
+ visible: Schema.optional<typeof Schema.Boolean>;
31
+ referencePath: Schema.optional<Schema.Schema<JsonPath, JsonPath, never>>;
32
+ }>>;
33
+ /**
34
+ * The id for the field used to pivot the view.
35
+ * E.g., the field to use for kanban columns or the field to use for map coordinates.
36
+ */
37
+ pivotFieldId: Schema.optional<typeof Schema.String>;
38
+ }>;
39
+ export type Projection = Schema.Schema.Type<typeof Projection>;
40
+ /**
41
+ * Views are generated or user-defined projections of a schema's properties.
42
+ * They are used to configure the visual representation of the data.
43
+ */
44
+ declare const ViewSchema: Type.Obj<{
45
+ readonly query: {
46
+ readonly raw?: string | undefined;
47
+ readonly ast: QueryAST.QueryFilterClause | QueryAST.QueryFromClause | QueryAST.QueryHierarchyTraversalClause | QueryAST.QueryIncomingReferencesClause | QueryAST.QueryLimitClause | QueryAST.QueryOptionsClause | QueryAST.QueryOrderClause | QueryAST.QueryReferenceTraversalClause | QueryAST.QueryRelationClause | QueryAST.QueryRelationTraversalClause | QueryAST.QuerySelectClause | QueryAST.QuerySetDifferenceClause | QueryAST.QueryUnionClause;
48
+ };
49
+ readonly projection: {
50
+ readonly schema?: internal.JsonSchemaType | undefined;
51
+ readonly fields: readonly {
52
+ readonly id: string;
53
+ readonly path: JsonPath;
54
+ readonly visible?: boolean | undefined;
55
+ readonly referencePath?: JsonPath | undefined;
56
+ }[];
57
+ readonly pivotFieldId?: string | undefined;
58
+ };
59
+ }, Schema.Struct.Fields>;
60
+ export interface View extends Schema.Schema.Type<typeof ViewSchema> {
61
+ }
62
+ /**
63
+ * View instance type.
64
+ */
65
+ export declare const View: Type.Obj<View>;
66
+ export declare const make: (props: Partial<Obj.MakeProps<typeof View>>) => View;
67
+ export {};
68
+ //# sourceMappingURL=View.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"View.d.ts","sourceRoot":"","sources":["../../../src/View.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAExC,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC/C,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAKxC,OAAO,KAAK,QAAQ,MAAM,YAAY,CAAC;AACvC,OAAO,KAAK,GAAG,MAAM,OAAO,CAAC;AAE7B,OAAO,KAAK,IAAI,MAAM,QAAQ,CAAC;AAE/B;;GAEG;AACH,eAAO,MAAM,WAAW;;;;;EAOtB,CAAC;AAEH,MAAM,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,WAAW,CAAC,CAAC;AAE/D,eAAO,MAAM,aAAa,yDAA2D,CAAC;AAEtF,eAAO,MAAM,aAAa,cAAsC,CAAC;AAEjE,eAAO,MAAM,UAAU;IACrB;;OAEG;;IAGH;;OAEG;;;;;;;IAIH;;;OAGG;;EAEH,CAAC;AAEH,MAAM,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,UAAU,CAAC,CAAC;AAE/D;;;GAGG;AACH,QAAA,MAAM,UAAU;;;;;;;;;;;;;;;wBAwBf,CAAC;AAEF,MAAM,WAAW,IAAK,SAAQ,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,UAAU,CAAC;CAAG;AAEtE;;GAEG;AAMH,eAAO,MAAM,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,CAAqB,CAAC;AAEtD,eAAO,MAAM,IAAI,UAAW,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,OAAO,IAAI,CAAC,CAAC,KAAG,IAMjE,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=exemplars.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"exemplars.test.d.ts","sourceRoot":"","sources":["../../../src/exemplars.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=hierarchy.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hierarchy.test.d.ts","sourceRoot":"","sources":["../../../src/hierarchy.test.ts"],"names":[],"mappings":""}
@@ -1,9 +1,28 @@
1
+ export { QueryAST } from '@dxos/echo-protocol';
2
+ export { DXN } from '@dxos/keys';
3
+ export * as Annotation from './Annotation';
4
+ export * as Database from './Database';
5
+ export * as Entity from './Entity';
6
+ export * as Err from './Err';
7
+ export * as Feed from './Feed';
8
+ export * as Filter from './Filter';
9
+ export * as Format from './Format';
10
+ export * as Hypergraph from './Hypergraph';
11
+ export * as Json from './Json';
12
+ export * as JsonSchema from './JsonSchema';
1
13
  export * as Key from './Key';
14
+ export * as Migration from './Migration';
2
15
  export * as Obj from './Obj';
16
+ export * as Order from './Order';
17
+ export * as Query from './Query';
18
+ export * as QueryResult from './QueryResult';
3
19
  export * as Ref from './Ref';
4
20
  export * as Relation from './Relation';
21
+ export * as SchemaRegistry from './SchemaRegistry';
22
+ export * as Tag from './Tag';
5
23
  export * as Type from './Type';
6
- export { DXN } from '@dxos/keys';
7
- export { Filter, Query } from './query';
8
- export { type Live } from '@dxos/live-object';
24
+ export * as Collection from './Collection';
25
+ export * as View from './View';
26
+ export * as Dataset from './Dataset';
27
+ export * as Extension from './Extension';
9
28
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,GAAG,MAAM,OAAO,CAAC;AAC7B,OAAO,KAAK,GAAG,MAAM,OAAO,CAAC;AAC7B,OAAO,KAAK,GAAG,MAAM,OAAO,CAAC;AAC7B,OAAO,KAAK,QAAQ,MAAM,YAAY,CAAC;AACvC,OAAO,KAAK,IAAI,MAAM,QAAQ,CAAC;AAE/B,OAAO,EAAE,GAAG,EAAE,MAAM,YAAY,CAAC;AACjC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AACxC,OAAO,EAAE,KAAK,IAAI,EAAE,MAAM,mBAAmB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAE/C,OAAO,EAAE,GAAG,EAAE,MAAM,YAAY,CAAC;AAEjC,OAAO,KAAK,UAAU,MAAM,cAAc,CAAC;AAC3C,OAAO,KAAK,QAAQ,MAAM,YAAY,CAAC;AACvC,OAAO,KAAK,MAAM,MAAM,UAAU,CAAC;AAEnC,OAAO,KAAK,GAAG,MAAM,OAAO,CAAC;AAC7B,OAAO,KAAK,IAAI,MAAM,QAAQ,CAAC;AAC/B,OAAO,KAAK,MAAM,MAAM,UAAU,CAAC;AACnC,OAAO,KAAK,MAAM,MAAM,UAAU,CAAC;AACnC,OAAO,KAAK,UAAU,MAAM,cAAc,CAAC;AAC3C,OAAO,KAAK,IAAI,MAAM,QAAQ,CAAC;AAC/B,OAAO,KAAK,UAAU,MAAM,cAAc,CAAC;AAC3C,OAAO,KAAK,GAAG,MAAM,OAAO,CAAC;AAC7B,OAAO,KAAK,SAAS,MAAM,aAAa,CAAC;AACzC,OAAO,KAAK,GAAG,MAAM,OAAO,CAAC;AAC7B,OAAO,KAAK,KAAK,MAAM,SAAS,CAAC;AACjC,OAAO,KAAK,KAAK,MAAM,SAAS,CAAC;AACjC,OAAO,KAAK,WAAW,MAAM,eAAe,CAAC;AAC7C,OAAO,KAAK,GAAG,MAAM,OAAO,CAAC;AAC7B,OAAO,KAAK,QAAQ,MAAM,YAAY,CAAC;AACvC,OAAO,KAAK,cAAc,MAAM,kBAAkB,CAAC;AACnD,OAAO,KAAK,GAAG,MAAM,OAAO,CAAC;AAC7B,OAAO,KAAK,IAAI,MAAM,QAAQ,CAAC;AAC/B,OAAO,KAAK,UAAU,MAAM,cAAc,CAAC;AAC3C,OAAO,KAAK,IAAI,MAAM,QAAQ,CAAC;AAC/B,OAAO,KAAK,OAAO,MAAM,WAAW,CAAC;AACrC,OAAO,KAAK,SAAS,MAAM,aAAa,CAAC"}