@dxos/echo 0.8.4-main.406dc2a → 0.8.4-main.59c2e9b

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 (600) hide show
  1. package/README.md +1 -2
  2. package/dist/lib/browser/Annotation.mjs +33 -0
  3. package/dist/lib/browser/Database.mjs +18 -0
  4. package/dist/lib/browser/Entity.mjs +52 -0
  5. package/dist/lib/browser/Entity.mjs.map +7 -0
  6. package/dist/lib/browser/Err.mjs +11 -0
  7. package/dist/lib/browser/Err.mjs.map +7 -0
  8. package/dist/lib/browser/Filter.mjs +62 -0
  9. package/dist/lib/browser/Filter.mjs.map +7 -0
  10. package/dist/lib/browser/Format.mjs +67 -0
  11. package/dist/lib/browser/Format.mjs.map +7 -0
  12. package/dist/lib/browser/JsonSchema.mjs +20 -0
  13. package/dist/lib/browser/JsonSchema.mjs.map +7 -0
  14. package/dist/lib/browser/Key.mjs +13 -0
  15. package/dist/lib/browser/Key.mjs.map +7 -0
  16. package/dist/lib/browser/Obj.mjs +91 -0
  17. package/dist/lib/browser/Obj.mjs.map +7 -0
  18. package/dist/lib/browser/Order.mjs +13 -0
  19. package/dist/lib/browser/Order.mjs.map +7 -0
  20. package/dist/lib/browser/Query.mjs +27 -0
  21. package/dist/lib/browser/Query.mjs.map +7 -0
  22. package/dist/lib/browser/QueryResult.mjs +3 -0
  23. package/dist/lib/browser/QueryResult.mjs.map +7 -0
  24. package/dist/lib/browser/Ref.mjs +23 -0
  25. package/dist/lib/browser/Ref.mjs.map +7 -0
  26. package/dist/lib/browser/Relation.mjs +85 -0
  27. package/dist/lib/browser/Relation.mjs.map +7 -0
  28. package/dist/lib/browser/SchemaRegistry.mjs +3 -0
  29. package/dist/lib/browser/SchemaRegistry.mjs.map +7 -0
  30. package/dist/lib/browser/Tag.mjs +26 -0
  31. package/dist/lib/browser/Tag.mjs.map +7 -0
  32. package/dist/lib/browser/Type.mjs +48 -0
  33. package/dist/lib/browser/Type.mjs.map +7 -0
  34. package/dist/lib/browser/chunk-22JMFST2.mjs +24 -0
  35. package/dist/lib/browser/chunk-22JMFST2.mjs.map +7 -0
  36. package/dist/lib/browser/chunk-2SBB7OWV.mjs +250 -0
  37. package/dist/lib/browser/chunk-2SBB7OWV.mjs.map +7 -0
  38. package/dist/lib/browser/chunk-6L5HHUVU.mjs +158 -0
  39. package/dist/lib/browser/chunk-6L5HHUVU.mjs.map +7 -0
  40. package/dist/lib/browser/chunk-7STIBCP7.mjs +133 -0
  41. package/dist/lib/browser/chunk-7STIBCP7.mjs.map +7 -0
  42. package/dist/lib/browser/chunk-BJPE6CIC.mjs +3847 -0
  43. package/dist/lib/browser/chunk-BJPE6CIC.mjs.map +7 -0
  44. package/dist/lib/browser/chunk-CGS2ULMK.mjs +11 -0
  45. package/dist/lib/browser/chunk-CGS2ULMK.mjs.map +7 -0
  46. package/dist/lib/browser/chunk-CJ5YELTO.mjs +39 -0
  47. package/dist/lib/browser/chunk-CJ5YELTO.mjs.map +7 -0
  48. package/dist/lib/browser/chunk-FPOISFQK.mjs +40 -0
  49. package/dist/lib/browser/chunk-FPOISFQK.mjs.map +7 -0
  50. package/dist/lib/browser/chunk-FRDT7RA4.mjs +403 -0
  51. package/dist/lib/browser/chunk-FRDT7RA4.mjs.map +7 -0
  52. package/dist/lib/browser/chunk-INHXFXY5.mjs +22 -0
  53. package/dist/lib/browser/chunk-INHXFXY5.mjs.map +7 -0
  54. package/dist/lib/browser/chunk-IXVWLTG7.mjs +9 -0
  55. package/dist/lib/browser/chunk-IXVWLTG7.mjs.map +7 -0
  56. package/dist/lib/browser/chunk-JMKVF2YQ.mjs +43 -0
  57. package/dist/lib/browser/chunk-JMKVF2YQ.mjs.map +7 -0
  58. package/dist/lib/browser/chunk-KQQGVHFN.mjs +143 -0
  59. package/dist/lib/browser/chunk-KQQGVHFN.mjs.map +7 -0
  60. package/dist/lib/browser/chunk-MYCCGG2T.mjs +15 -0
  61. package/dist/lib/browser/chunk-MYCCGG2T.mjs.map +7 -0
  62. package/dist/lib/browser/chunk-NOPVNWPT.mjs +204 -0
  63. package/dist/lib/browser/chunk-NOPVNWPT.mjs.map +7 -0
  64. package/dist/lib/browser/chunk-PQZW3S6L.mjs +74 -0
  65. package/dist/lib/browser/chunk-PQZW3S6L.mjs.map +7 -0
  66. package/dist/lib/browser/chunk-RK4Z4JUZ.mjs +283 -0
  67. package/dist/lib/browser/chunk-RK4Z4JUZ.mjs.map +7 -0
  68. package/dist/lib/browser/chunk-U2J7TA7K.mjs +57 -0
  69. package/dist/lib/browser/chunk-U2J7TA7K.mjs.map +7 -0
  70. package/dist/lib/browser/chunk-W5D2GWAW.mjs +98 -0
  71. package/dist/lib/browser/chunk-W5D2GWAW.mjs.map +7 -0
  72. package/dist/lib/browser/chunk-XDIUHAAX.mjs +41 -0
  73. package/dist/lib/browser/chunk-XDIUHAAX.mjs.map +7 -0
  74. package/dist/lib/browser/chunk-YKTSSMDS.mjs +69 -0
  75. package/dist/lib/browser/chunk-YKTSSMDS.mjs.map +7 -0
  76. package/dist/lib/browser/chunk-ZAGAOZVY.mjs +288 -0
  77. package/dist/lib/browser/chunk-ZAGAOZVY.mjs.map +7 -0
  78. package/dist/lib/browser/chunk-ZHXZGIXD.mjs +9 -0
  79. package/dist/lib/browser/chunk-ZHXZGIXD.mjs.map +7 -0
  80. package/dist/lib/browser/index.mjs +72 -22
  81. package/dist/lib/browser/internal/index.mjs +245 -120
  82. package/dist/lib/browser/meta.json +1 -1
  83. package/dist/lib/browser/testing/index.mjs +295 -226
  84. package/dist/lib/browser/testing/index.mjs.map +4 -4
  85. package/dist/lib/node-esm/Annotation.mjs +33 -0
  86. package/dist/lib/node-esm/Annotation.mjs.map +7 -0
  87. package/dist/lib/node-esm/Database.mjs +18 -0
  88. package/dist/lib/node-esm/Database.mjs.map +7 -0
  89. package/dist/lib/node-esm/Entity.mjs +52 -0
  90. package/dist/lib/node-esm/Entity.mjs.map +7 -0
  91. package/dist/lib/node-esm/Err.mjs +11 -0
  92. package/dist/lib/node-esm/Err.mjs.map +7 -0
  93. package/dist/lib/node-esm/Filter.mjs +62 -0
  94. package/dist/lib/node-esm/Filter.mjs.map +7 -0
  95. package/dist/lib/node-esm/Format.mjs +67 -0
  96. package/dist/lib/node-esm/Format.mjs.map +7 -0
  97. package/dist/lib/node-esm/JsonSchema.mjs +20 -0
  98. package/dist/lib/node-esm/JsonSchema.mjs.map +7 -0
  99. package/dist/lib/node-esm/Key.mjs +13 -0
  100. package/dist/lib/node-esm/Key.mjs.map +7 -0
  101. package/dist/lib/node-esm/Obj.mjs +91 -0
  102. package/dist/lib/node-esm/Obj.mjs.map +7 -0
  103. package/dist/lib/node-esm/Order.mjs +13 -0
  104. package/dist/lib/node-esm/Order.mjs.map +7 -0
  105. package/dist/lib/node-esm/Query.mjs +27 -0
  106. package/dist/lib/node-esm/Query.mjs.map +7 -0
  107. package/dist/lib/node-esm/QueryResult.mjs +3 -0
  108. package/dist/lib/node-esm/QueryResult.mjs.map +7 -0
  109. package/dist/lib/node-esm/Ref.mjs +23 -0
  110. package/dist/lib/node-esm/Ref.mjs.map +7 -0
  111. package/dist/lib/node-esm/Relation.mjs +85 -0
  112. package/dist/lib/node-esm/Relation.mjs.map +7 -0
  113. package/dist/lib/node-esm/SchemaRegistry.mjs +3 -0
  114. package/dist/lib/node-esm/SchemaRegistry.mjs.map +7 -0
  115. package/dist/lib/node-esm/Tag.mjs +26 -0
  116. package/dist/lib/node-esm/Tag.mjs.map +7 -0
  117. package/dist/lib/node-esm/Type.mjs +48 -0
  118. package/dist/lib/node-esm/Type.mjs.map +7 -0
  119. package/dist/lib/node-esm/chunk-4PNXQA64.mjs +250 -0
  120. package/dist/lib/node-esm/chunk-4PNXQA64.mjs.map +7 -0
  121. package/dist/lib/node-esm/chunk-5OBN7GZW.mjs +158 -0
  122. package/dist/lib/node-esm/chunk-5OBN7GZW.mjs.map +7 -0
  123. package/dist/lib/node-esm/chunk-AJEMYSIR.mjs +22 -0
  124. package/dist/lib/node-esm/chunk-AJEMYSIR.mjs.map +7 -0
  125. package/dist/lib/node-esm/chunk-ANLVLWME.mjs +98 -0
  126. package/dist/lib/node-esm/chunk-ANLVLWME.mjs.map +7 -0
  127. package/dist/lib/node-esm/chunk-DMR7OAFK.mjs +57 -0
  128. package/dist/lib/node-esm/chunk-DMR7OAFK.mjs.map +7 -0
  129. package/dist/lib/node-esm/chunk-FWTSPIFF.mjs +133 -0
  130. package/dist/lib/node-esm/chunk-FWTSPIFF.mjs.map +7 -0
  131. package/dist/lib/node-esm/chunk-HSLMI22Q.mjs +11 -0
  132. package/dist/lib/node-esm/chunk-HSLMI22Q.mjs.map +7 -0
  133. package/dist/lib/node-esm/chunk-ILMLLM4R.mjs +204 -0
  134. package/dist/lib/node-esm/chunk-ILMLLM4R.mjs.map +7 -0
  135. package/dist/lib/node-esm/chunk-K37NA7PO.mjs +43 -0
  136. package/dist/lib/node-esm/chunk-K37NA7PO.mjs.map +7 -0
  137. package/dist/lib/node-esm/chunk-LT3H4JOX.mjs +3847 -0
  138. package/dist/lib/node-esm/chunk-LT3H4JOX.mjs.map +7 -0
  139. package/dist/lib/node-esm/chunk-MOLNWFNL.mjs +9 -0
  140. package/dist/lib/node-esm/chunk-MOLNWFNL.mjs.map +7 -0
  141. package/dist/lib/node-esm/chunk-MOWUEW5P.mjs +15 -0
  142. package/dist/lib/node-esm/chunk-MOWUEW5P.mjs.map +7 -0
  143. package/dist/lib/node-esm/chunk-NBWL7UCZ.mjs +40 -0
  144. package/dist/lib/node-esm/chunk-NBWL7UCZ.mjs.map +7 -0
  145. package/dist/lib/node-esm/chunk-NRN3ZW2T.mjs +143 -0
  146. package/dist/lib/node-esm/chunk-NRN3ZW2T.mjs.map +7 -0
  147. package/dist/lib/node-esm/chunk-QLI2EIJ2.mjs +41 -0
  148. package/dist/lib/node-esm/chunk-QLI2EIJ2.mjs.map +7 -0
  149. package/dist/lib/node-esm/chunk-QYR67VBV.mjs +288 -0
  150. package/dist/lib/node-esm/chunk-QYR67VBV.mjs.map +7 -0
  151. package/dist/lib/node-esm/chunk-UKGVOINP.mjs +9 -0
  152. package/dist/lib/node-esm/chunk-UKGVOINP.mjs.map +7 -0
  153. package/dist/lib/node-esm/chunk-W6QIEBTQ.mjs +403 -0
  154. package/dist/lib/node-esm/chunk-W6QIEBTQ.mjs.map +7 -0
  155. package/dist/lib/node-esm/chunk-XHJRMQZD.mjs +69 -0
  156. package/dist/lib/node-esm/chunk-XHJRMQZD.mjs.map +7 -0
  157. package/dist/lib/node-esm/chunk-Y75VU7LB.mjs +74 -0
  158. package/dist/lib/node-esm/chunk-Y75VU7LB.mjs.map +7 -0
  159. package/dist/lib/node-esm/chunk-YOLH5KS4.mjs +283 -0
  160. package/dist/lib/node-esm/chunk-YOLH5KS4.mjs.map +7 -0
  161. package/dist/lib/node-esm/chunk-YQ2NWGL5.mjs +39 -0
  162. package/dist/lib/node-esm/chunk-YQ2NWGL5.mjs.map +7 -0
  163. package/dist/lib/node-esm/chunk-ZBB67AKD.mjs +24 -0
  164. package/dist/lib/node-esm/chunk-ZBB67AKD.mjs.map +7 -0
  165. package/dist/lib/node-esm/index.mjs +72 -22
  166. package/dist/lib/node-esm/internal/index.mjs +245 -120
  167. package/dist/lib/node-esm/meta.json +1 -1
  168. package/dist/lib/node-esm/testing/index.mjs +295 -226
  169. package/dist/lib/node-esm/testing/index.mjs.map +4 -4
  170. package/dist/types/src/Annotation.d.ts +2 -0
  171. package/dist/types/src/Annotation.d.ts.map +1 -0
  172. package/dist/types/src/Database.d.ts +194 -0
  173. package/dist/types/src/Database.d.ts.map +1 -0
  174. package/dist/types/src/Entity.d.ts +142 -0
  175. package/dist/types/src/Entity.d.ts.map +1 -0
  176. package/dist/types/src/Entity.test.d.ts +2 -0
  177. package/dist/types/src/Entity.test.d.ts.map +1 -0
  178. package/dist/types/src/{errors.d.ts → Err.d.ts} +23 -31
  179. package/dist/types/src/Err.d.ts.map +1 -0
  180. package/dist/types/src/Filter.d.ts +120 -0
  181. package/dist/types/src/Filter.d.ts.map +1 -0
  182. package/dist/types/src/Format.d.ts +4 -0
  183. package/dist/types/src/Format.d.ts.map +1 -0
  184. package/dist/types/src/Hypergraph.d.ts +60 -0
  185. package/dist/types/src/Hypergraph.d.ts.map +1 -0
  186. package/dist/types/src/JsonSchema.d.ts +9 -0
  187. package/dist/types/src/JsonSchema.d.ts.map +1 -0
  188. package/dist/types/src/Key.d.ts +1 -0
  189. package/dist/types/src/Key.d.ts.map +1 -1
  190. package/dist/types/src/Obj.d.ts +302 -99
  191. package/dist/types/src/Obj.d.ts.map +1 -1
  192. package/dist/types/src/Obj.test.d.ts +2 -0
  193. package/dist/types/src/Obj.test.d.ts.map +1 -0
  194. package/dist/types/src/Order.d.ts +16 -0
  195. package/dist/types/src/Order.d.ts.map +1 -0
  196. package/dist/types/src/Query.d.ts +115 -0
  197. package/dist/types/src/Query.d.ts.map +1 -0
  198. package/dist/types/src/Query.test.d.ts +2 -0
  199. package/dist/types/src/Query.test.d.ts.map +1 -0
  200. package/dist/types/src/QueryResult.d.ts +80 -0
  201. package/dist/types/src/QueryResult.d.ts.map +1 -0
  202. package/dist/types/src/Ref.d.ts +13 -11
  203. package/dist/types/src/Ref.d.ts.map +1 -1
  204. package/dist/types/src/Relation.d.ts +242 -22
  205. package/dist/types/src/Relation.d.ts.map +1 -1
  206. package/dist/types/src/Relation.test.d.ts +2 -0
  207. package/dist/types/src/Relation.test.d.ts.map +1 -0
  208. package/dist/types/src/SchemaRegistry.d.ts +84 -0
  209. package/dist/types/src/SchemaRegistry.d.ts.map +1 -0
  210. package/dist/types/src/Tag.d.ts +17 -0
  211. package/dist/types/src/Tag.d.ts.map +1 -0
  212. package/dist/types/src/Type.d.ts +225 -72
  213. package/dist/types/src/Type.d.ts.map +1 -1
  214. package/dist/types/src/Type.test.d.ts +2 -0
  215. package/dist/types/src/Type.test.d.ts.map +1 -0
  216. package/dist/types/src/index.d.ts +15 -5
  217. package/dist/types/src/index.d.ts.map +1 -1
  218. package/dist/types/src/internal/annotations/annotations.d.ts +170 -0
  219. package/dist/types/src/internal/annotations/annotations.d.ts.map +1 -0
  220. package/dist/types/src/internal/annotations/annotations.test.d.ts.map +1 -0
  221. package/dist/types/src/internal/annotations/index.d.ts +3 -0
  222. package/dist/types/src/internal/annotations/index.d.ts.map +1 -0
  223. package/dist/types/src/internal/annotations/util.d.ts +27 -0
  224. package/dist/types/src/internal/annotations/util.d.ts.map +1 -0
  225. package/dist/types/src/internal/api/annotations.d.ts +23 -0
  226. package/dist/types/src/internal/api/annotations.d.ts.map +1 -0
  227. package/dist/types/src/internal/api/entity.d.ts +13 -0
  228. package/dist/types/src/internal/api/entity.d.ts.map +1 -0
  229. package/dist/types/src/internal/api/index.d.ts +15 -0
  230. package/dist/types/src/internal/api/index.d.ts.map +1 -0
  231. package/dist/types/src/internal/api/meta.d.ts +42 -0
  232. package/dist/types/src/internal/api/meta.d.ts.map +1 -0
  233. package/dist/types/src/internal/api/sorting.d.ts +24 -0
  234. package/dist/types/src/internal/api/sorting.d.ts.map +1 -0
  235. package/dist/types/src/internal/api/version.d.ts +42 -0
  236. package/dist/types/src/internal/api/version.d.ts.map +1 -0
  237. package/dist/types/src/internal/entities/entity.d.ts +20 -0
  238. package/dist/types/src/internal/entities/entity.d.ts.map +1 -0
  239. package/dist/types/src/internal/entities/index.d.ts +6 -0
  240. package/dist/types/src/internal/entities/index.d.ts.map +1 -0
  241. package/dist/types/src/internal/entities/model.d.ts +77 -0
  242. package/dist/types/src/internal/entities/model.d.ts.map +1 -0
  243. package/dist/types/src/internal/entities/object.d.ts +18 -0
  244. package/dist/types/src/internal/entities/object.d.ts.map +1 -0
  245. package/dist/types/src/internal/entities/relation.d.ts +62 -0
  246. package/dist/types/src/internal/entities/relation.d.ts.map +1 -0
  247. package/dist/types/src/internal/entities/util.d.ts +2 -0
  248. package/dist/types/src/internal/entities/util.d.ts.map +1 -0
  249. package/dist/types/src/internal/formats/format.d.ts +4 -2
  250. package/dist/types/src/internal/formats/format.d.ts.map +1 -1
  251. package/dist/types/src/internal/formats/select.d.ts +5 -3
  252. package/dist/types/src/internal/formats/select.d.ts.map +1 -1
  253. package/dist/types/src/internal/formats/string.d.ts +4 -0
  254. package/dist/types/src/internal/formats/string.d.ts.map +1 -1
  255. package/dist/types/src/internal/formats/types.d.ts +13 -9
  256. package/dist/types/src/internal/formats/types.d.ts.map +1 -1
  257. package/dist/types/src/internal/index.d.ts +7 -10
  258. package/dist/types/src/internal/index.d.ts.map +1 -1
  259. package/dist/types/src/internal/json-schema/annotations.d.ts.map +1 -0
  260. package/dist/types/src/internal/json-schema/effect-schema.test.d.ts.map +1 -0
  261. package/dist/types/src/internal/json-schema/index.d.ts +2 -0
  262. package/dist/types/src/internal/json-schema/index.d.ts.map +1 -1
  263. package/dist/types/src/internal/json-schema/json-schema-type.d.ts.map +1 -1
  264. package/dist/types/src/internal/{json → json-schema}/json-schema.d.ts +2 -1
  265. package/dist/types/src/internal/json-schema/json-schema.d.ts.map +1 -0
  266. package/dist/types/src/internal/json-schema/json-schema.test.d.ts.map +1 -0
  267. package/dist/types/src/internal/object/clone.d.ts +8 -0
  268. package/dist/types/src/internal/object/clone.d.ts.map +1 -0
  269. package/dist/types/src/internal/object/common.d.ts.map +1 -1
  270. package/dist/types/src/internal/object/{create.d.ts → create-object.d.ts} +10 -11
  271. package/dist/types/src/internal/object/create-object.d.ts.map +1 -0
  272. package/dist/types/src/internal/object/create-object.test.d.ts +2 -0
  273. package/dist/types/src/internal/object/create-object.test.d.ts.map +1 -0
  274. package/dist/types/src/internal/object/deleted.d.ts +2 -2
  275. package/dist/types/src/internal/object/deleted.d.ts.map +1 -1
  276. package/dist/types/src/internal/object/ids.d.ts.map +1 -1
  277. package/dist/types/src/internal/object/index.d.ts +6 -11
  278. package/dist/types/src/internal/object/index.d.ts.map +1 -1
  279. package/dist/types/src/internal/object/json-serializer.d.ts +14 -9
  280. package/dist/types/src/internal/object/json-serializer.d.ts.map +1 -1
  281. package/dist/types/src/internal/object/schema-validator.d.ts +1 -14
  282. package/dist/types/src/internal/object/schema-validator.d.ts.map +1 -1
  283. package/dist/types/src/internal/object/set-value.d.ts +7 -0
  284. package/dist/types/src/internal/object/set-value.d.ts.map +1 -0
  285. package/dist/types/src/internal/object/set-value.test.d.ts +2 -0
  286. package/dist/types/src/internal/object/set-value.test.d.ts.map +1 -0
  287. package/dist/types/src/internal/object/snapshot.d.ts +6 -0
  288. package/dist/types/src/internal/object/snapshot.d.ts.map +1 -0
  289. package/dist/types/src/internal/object/typed-object.d.ts +8 -14
  290. package/dist/types/src/internal/object/typed-object.d.ts.map +1 -1
  291. package/dist/types/src/internal/proxy/change-context.d.ts +55 -0
  292. package/dist/types/src/internal/proxy/change-context.d.ts.map +1 -0
  293. package/dist/types/src/internal/proxy/change.test.d.ts +2 -0
  294. package/dist/types/src/internal/proxy/change.test.d.ts.map +1 -0
  295. package/dist/types/src/internal/proxy/define-hidden-property.d.ts +5 -0
  296. package/dist/types/src/internal/proxy/define-hidden-property.d.ts.map +1 -0
  297. package/dist/types/src/internal/proxy/errors.d.ts +19 -0
  298. package/dist/types/src/internal/proxy/errors.d.ts.map +1 -0
  299. package/dist/types/src/internal/proxy/event-batch.d.ts +10 -0
  300. package/dist/types/src/internal/proxy/event-batch.d.ts.map +1 -0
  301. package/dist/types/src/internal/proxy/index.d.ts +14 -0
  302. package/dist/types/src/internal/proxy/index.d.ts.map +1 -0
  303. package/dist/types/src/internal/proxy/json-serializer.d.ts +6 -0
  304. package/dist/types/src/internal/proxy/json-serializer.d.ts.map +1 -0
  305. package/dist/types/src/internal/proxy/make-object.d.ts +14 -0
  306. package/dist/types/src/internal/proxy/make-object.d.ts.map +1 -0
  307. package/dist/types/src/internal/proxy/ownership.d.ts +57 -0
  308. package/dist/types/src/internal/proxy/ownership.d.ts.map +1 -0
  309. package/dist/types/src/internal/proxy/proxy-types.d.ts +18 -0
  310. package/dist/types/src/internal/proxy/proxy-types.d.ts.map +1 -0
  311. package/dist/types/src/internal/proxy/proxy-utils.d.ts +47 -0
  312. package/dist/types/src/internal/proxy/proxy-utils.d.ts.map +1 -0
  313. package/dist/types/src/internal/proxy/reactive-array.d.ts +8 -0
  314. package/dist/types/src/internal/proxy/reactive-array.d.ts.map +1 -0
  315. package/dist/types/src/internal/proxy/reactive.d.ts +39 -0
  316. package/dist/types/src/internal/proxy/reactive.d.ts.map +1 -0
  317. package/dist/types/src/internal/proxy/schema-validator.d.ts +15 -0
  318. package/dist/types/src/internal/proxy/schema-validator.d.ts.map +1 -0
  319. package/dist/types/src/internal/proxy/symbols.d.ts +3 -0
  320. package/dist/types/src/internal/proxy/symbols.d.ts.map +1 -0
  321. package/dist/types/src/internal/proxy/typed-handler.d.ts +15 -12
  322. package/dist/types/src/internal/proxy/typed-handler.d.ts.map +1 -1
  323. package/dist/types/src/internal/ref/ref-array.d.ts +4 -4
  324. package/dist/types/src/internal/ref/ref-array.d.ts.map +1 -1
  325. package/dist/types/src/internal/ref/ref.d.ts +27 -16
  326. package/dist/types/src/internal/ref/ref.d.ts.map +1 -1
  327. package/dist/types/src/internal/schema/compose.d.ts.map +1 -0
  328. package/dist/types/src/internal/schema/compose.test.d.ts.map +1 -0
  329. package/dist/types/src/internal/schema/echo-schema.d.ts +24 -12
  330. package/dist/types/src/internal/schema/echo-schema.d.ts.map +1 -1
  331. package/dist/types/src/internal/schema/index.d.ts +1 -4
  332. package/dist/types/src/internal/schema/index.d.ts.map +1 -1
  333. package/dist/types/src/internal/schema/persistent-schema.d.ts +20 -0
  334. package/dist/types/src/internal/schema/persistent-schema.d.ts.map +1 -0
  335. package/dist/types/src/internal/types/base.d.ts +26 -0
  336. package/dist/types/src/internal/types/base.d.ts.map +1 -0
  337. package/dist/types/src/internal/types/entity.d.ts +37 -0
  338. package/dist/types/src/internal/types/entity.d.ts.map +1 -0
  339. package/dist/types/src/internal/types/index.d.ts +5 -2
  340. package/dist/types/src/internal/types/index.d.ts.map +1 -1
  341. package/dist/types/src/internal/{object → types}/meta.d.ts +12 -11
  342. package/dist/types/src/internal/types/meta.d.ts.map +1 -0
  343. package/dist/types/src/internal/types/typename.d.ts +13 -0
  344. package/dist/types/src/internal/types/typename.d.ts.map +1 -0
  345. package/dist/types/src/internal/{object → types}/version.d.ts +3 -2
  346. package/dist/types/src/internal/types/version.d.ts.map +1 -0
  347. package/dist/types/src/{test → testing}/api.test.d.ts.map +1 -1
  348. package/dist/types/src/testing/index.d.ts +3 -3
  349. package/dist/types/src/testing/index.d.ts.map +1 -1
  350. package/dist/types/src/testing/test-data.d.ts +18 -0
  351. package/dist/types/src/testing/test-data.d.ts.map +1 -0
  352. package/dist/types/src/testing/test-schema.d.ts +303 -0
  353. package/dist/types/src/testing/test-schema.d.ts.map +1 -0
  354. package/dist/types/src/testing/util.d.ts +21 -0
  355. package/dist/types/src/testing/util.d.ts.map +1 -0
  356. package/dist/types/tsconfig.tsbuildinfo +1 -1
  357. package/package.json +160 -45
  358. package/src/Annotation.ts +18 -0
  359. package/src/Database.ts +336 -0
  360. package/src/Entity.test.ts +22 -0
  361. package/src/Entity.ts +217 -0
  362. package/src/{errors.ts → Err.ts} +2 -2
  363. package/src/Filter.ts +376 -0
  364. package/src/Format.ts +9 -0
  365. package/src/Hypergraph.ts +74 -0
  366. package/src/JsonSchema.ts +16 -0
  367. package/src/Key.ts +3 -0
  368. package/src/Obj.test.ts +386 -0
  369. package/src/Obj.ts +449 -275
  370. package/src/Order.ts +44 -0
  371. package/src/Query.test.ts +465 -0
  372. package/src/Query.ts +296 -0
  373. package/src/QueryResult.ts +106 -0
  374. package/src/Ref.ts +26 -9
  375. package/src/Relation.test.ts +82 -0
  376. package/src/Relation.ts +411 -60
  377. package/src/SchemaRegistry.ts +105 -0
  378. package/src/{query/tag.ts → Tag.ts} +10 -7
  379. package/src/Type.test.ts +52 -0
  380. package/src/Type.ts +361 -114
  381. package/src/index.ts +16 -6
  382. package/src/internal/README.md +100 -0
  383. package/src/internal/{ast → annotations}/annotations.test.ts +18 -20
  384. package/src/internal/annotations/annotations.ts +460 -0
  385. package/src/internal/annotations/index.ts +6 -0
  386. package/src/internal/annotations/util.ts +72 -0
  387. package/src/internal/api/annotations.ts +60 -0
  388. package/src/internal/api/entity.ts +29 -0
  389. package/src/internal/api/index.ts +19 -0
  390. package/src/internal/api/meta.ts +88 -0
  391. package/src/internal/api/sorting.ts +53 -0
  392. package/src/internal/api/version.ts +96 -0
  393. package/src/internal/entities/entity.ts +126 -0
  394. package/src/internal/entities/index.ts +9 -0
  395. package/src/internal/entities/model.ts +134 -0
  396. package/src/internal/entities/object.ts +60 -0
  397. package/src/internal/entities/relation.ts +173 -0
  398. package/src/internal/entities/util.ts +33 -0
  399. package/src/internal/formats/date.test.ts +1 -1
  400. package/src/internal/formats/date.ts +5 -5
  401. package/src/internal/formats/format.test.ts +5 -5
  402. package/src/internal/formats/format.ts +8 -6
  403. package/src/internal/formats/number.ts +5 -5
  404. package/src/internal/formats/object.ts +4 -4
  405. package/src/internal/formats/select.ts +5 -3
  406. package/src/internal/formats/string.ts +14 -9
  407. package/src/internal/formats/types.ts +53 -42
  408. package/src/internal/index.ts +30 -13
  409. package/src/internal/{json → json-schema}/annotations.ts +1 -1
  410. package/src/internal/json-schema/index.ts +2 -0
  411. package/src/internal/json-schema/json-schema-type.ts +5 -4
  412. package/src/internal/{json → json-schema}/json-schema.test.ts +73 -69
  413. package/src/internal/{json → json-schema}/json-schema.ts +17 -8
  414. package/src/internal/object/clone.ts +48 -0
  415. package/src/internal/object/common.ts +3 -4
  416. package/src/internal/object/{create.test.ts → create-object.test.ts} +31 -33
  417. package/src/internal/object/{create.ts → create-object.ts} +36 -37
  418. package/src/internal/object/deleted.ts +6 -6
  419. package/src/internal/object/ids.ts +1 -1
  420. package/src/internal/object/index.ts +6 -11
  421. package/src/internal/object/inspect.ts +5 -7
  422. package/src/internal/object/json-serializer.test.ts +35 -37
  423. package/src/internal/object/json-serializer.ts +65 -102
  424. package/src/internal/object/schema-validator.ts +2 -237
  425. package/src/internal/object/set-value.test.ts +281 -0
  426. package/src/internal/object/set-value.ts +165 -0
  427. package/src/internal/object/snapshot.ts +70 -0
  428. package/src/internal/object/typed-object.test.ts +11 -11
  429. package/src/internal/object/typed-object.ts +8 -66
  430. package/src/internal/proxy/change-context.ts +138 -0
  431. package/src/internal/proxy/change.test.ts +519 -0
  432. package/src/internal/proxy/define-hidden-property.ts +14 -0
  433. package/src/internal/proxy/errors.ts +42 -0
  434. package/src/internal/proxy/event-batch.ts +44 -0
  435. package/src/internal/proxy/handler.test.ts +51 -91
  436. package/src/internal/proxy/index.ts +17 -0
  437. package/src/internal/proxy/json-serializer.ts +87 -0
  438. package/src/internal/proxy/make-object.ts +96 -0
  439. package/src/internal/proxy/ownership.ts +253 -0
  440. package/src/internal/proxy/proxy-types.ts +23 -0
  441. package/src/internal/proxy/proxy-utils.ts +150 -0
  442. package/src/internal/proxy/reactive-array.ts +71 -0
  443. package/src/internal/proxy/reactive.ts +69 -0
  444. package/src/internal/proxy/schema-validator.ts +244 -0
  445. package/src/internal/proxy/schema.test.ts +27 -18
  446. package/src/internal/proxy/symbols.ts +7 -0
  447. package/src/internal/proxy/typed-handler.test.ts +264 -48
  448. package/src/internal/proxy/typed-handler.ts +275 -61
  449. package/src/internal/proxy/typed-object.test.ts +43 -27
  450. package/src/internal/ref/ref-array.ts +4 -4
  451. package/src/internal/ref/ref.test.ts +9 -8
  452. package/src/internal/ref/ref.ts +81 -54
  453. package/src/internal/{projection → schema}/compose.test.ts +8 -9
  454. package/src/internal/{projection → schema}/compose.ts +1 -1
  455. package/src/internal/schema/echo-schema.ts +73 -33
  456. package/src/internal/schema/index.ts +1 -4
  457. package/src/internal/schema/manipulation.ts +1 -1
  458. package/src/internal/schema/persistent-schema.ts +27 -0
  459. package/src/internal/types/base.ts +43 -0
  460. package/src/internal/types/entity.ts +54 -0
  461. package/src/internal/types/index.ts +5 -2
  462. package/src/internal/{object → types}/meta.ts +22 -17
  463. package/src/internal/types/typename.ts +45 -0
  464. package/src/internal/types/version.ts +20 -0
  465. package/src/testing/api.test.ts +126 -0
  466. package/src/testing/index.ts +3 -3
  467. package/src/testing/test-data.ts +130 -0
  468. package/src/testing/test-schema.ts +238 -0
  469. package/src/testing/util.ts +85 -0
  470. package/dist/lib/browser/chunk-HKFCK2GL.mjs +0 -175
  471. package/dist/lib/browser/chunk-HKFCK2GL.mjs.map +0 -7
  472. package/dist/lib/browser/chunk-MAAYELT7.mjs +0 -830
  473. package/dist/lib/browser/chunk-MAAYELT7.mjs.map +0 -7
  474. package/dist/lib/browser/chunk-MB6MMNFP.mjs +0 -3857
  475. package/dist/lib/browser/chunk-MB6MMNFP.mjs.map +0 -7
  476. package/dist/lib/browser/query/index.mjs +0 -15
  477. package/dist/lib/node-esm/chunk-5NWDGIBT.mjs +0 -830
  478. package/dist/lib/node-esm/chunk-5NWDGIBT.mjs.map +0 -7
  479. package/dist/lib/node-esm/chunk-AUAH4E2J.mjs +0 -175
  480. package/dist/lib/node-esm/chunk-AUAH4E2J.mjs.map +0 -7
  481. package/dist/lib/node-esm/chunk-BQRA4VLX.mjs +0 -3857
  482. package/dist/lib/node-esm/chunk-BQRA4VLX.mjs.map +0 -7
  483. package/dist/lib/node-esm/query/index.mjs +0 -15
  484. package/dist/types/src/errors.d.ts.map +0 -1
  485. package/dist/types/src/internal/ast/annotation-helper.d.ts +0 -8
  486. package/dist/types/src/internal/ast/annotation-helper.d.ts.map +0 -1
  487. package/dist/types/src/internal/ast/annotations.d.ts +0 -125
  488. package/dist/types/src/internal/ast/annotations.d.ts.map +0 -1
  489. package/dist/types/src/internal/ast/annotations.test.d.ts.map +0 -1
  490. package/dist/types/src/internal/ast/entity-kind.d.ts +0 -10
  491. package/dist/types/src/internal/ast/entity-kind.d.ts.map +0 -1
  492. package/dist/types/src/internal/ast/index.d.ts +0 -5
  493. package/dist/types/src/internal/ast/index.d.ts.map +0 -1
  494. package/dist/types/src/internal/ast/types.d.ts +0 -6
  495. package/dist/types/src/internal/ast/types.d.ts.map +0 -1
  496. package/dist/types/src/internal/json/annotations.d.ts.map +0 -1
  497. package/dist/types/src/internal/json/effect-schema.test.d.ts.map +0 -1
  498. package/dist/types/src/internal/json/index.d.ts +0 -2
  499. package/dist/types/src/internal/json/index.d.ts.map +0 -1
  500. package/dist/types/src/internal/json/json-schema.d.ts.map +0 -1
  501. package/dist/types/src/internal/json/json-schema.test.d.ts.map +0 -1
  502. package/dist/types/src/internal/object/accessors.d.ts +0 -37
  503. package/dist/types/src/internal/object/accessors.d.ts.map +0 -1
  504. package/dist/types/src/internal/object/create.d.ts.map +0 -1
  505. package/dist/types/src/internal/object/create.test.d.ts +0 -2
  506. package/dist/types/src/internal/object/create.test.d.ts.map +0 -1
  507. package/dist/types/src/internal/object/entity.d.ts +0 -33
  508. package/dist/types/src/internal/object/entity.d.ts.map +0 -1
  509. package/dist/types/src/internal/object/expando.d.ts +0 -14
  510. package/dist/types/src/internal/object/expando.d.ts.map +0 -1
  511. package/dist/types/src/internal/object/meta.d.ts.map +0 -1
  512. package/dist/types/src/internal/object/model.d.ts +0 -117
  513. package/dist/types/src/internal/object/model.d.ts.map +0 -1
  514. package/dist/types/src/internal/object/relation.d.ts +0 -17
  515. package/dist/types/src/internal/object/relation.d.ts.map +0 -1
  516. package/dist/types/src/internal/object/typename.d.ts +0 -15
  517. package/dist/types/src/internal/object/typename.d.ts.map +0 -1
  518. package/dist/types/src/internal/object/version.d.ts.map +0 -1
  519. package/dist/types/src/internal/projection/compose.d.ts.map +0 -1
  520. package/dist/types/src/internal/projection/compose.test.d.ts.map +0 -1
  521. package/dist/types/src/internal/projection/index.d.ts +0 -2
  522. package/dist/types/src/internal/projection/index.d.ts.map +0 -1
  523. package/dist/types/src/internal/proxy/reactive-object.d.ts +0 -15
  524. package/dist/types/src/internal/proxy/reactive-object.d.ts.map +0 -1
  525. package/dist/types/src/internal/query/index.d.ts +0 -2
  526. package/dist/types/src/internal/query/index.d.ts.map +0 -1
  527. package/dist/types/src/internal/query/query.d.ts +0 -17
  528. package/dist/types/src/internal/query/query.d.ts.map +0 -1
  529. package/dist/types/src/internal/schema/runtime-schema-registry.d.ts +0 -18
  530. package/dist/types/src/internal/schema/runtime-schema-registry.d.ts.map +0 -1
  531. package/dist/types/src/internal/schema/snapshot.d.ts +0 -6
  532. package/dist/types/src/internal/schema/snapshot.d.ts.map +0 -1
  533. package/dist/types/src/internal/schema/stored-schema.d.ts +0 -13
  534. package/dist/types/src/internal/schema/stored-schema.d.ts.map +0 -1
  535. package/dist/types/src/internal/testing/index.d.ts +0 -3
  536. package/dist/types/src/internal/testing/index.d.ts.map +0 -1
  537. package/dist/types/src/internal/testing/types.d.ts +0 -455
  538. package/dist/types/src/internal/testing/types.d.ts.map +0 -1
  539. package/dist/types/src/internal/testing/utils.d.ts +0 -10
  540. package/dist/types/src/internal/testing/utils.d.ts.map +0 -1
  541. package/dist/types/src/internal/types/types.d.ts +0 -79
  542. package/dist/types/src/internal/types/types.d.ts.map +0 -1
  543. package/dist/types/src/internal/types/types.test.d.ts +0 -2
  544. package/dist/types/src/internal/types/types.test.d.ts.map +0 -1
  545. package/dist/types/src/internal/types/util.d.ts +0 -5
  546. package/dist/types/src/internal/types/util.d.ts.map +0 -1
  547. package/dist/types/src/query/index.d.ts +0 -3
  548. package/dist/types/src/query/index.d.ts.map +0 -1
  549. package/dist/types/src/query/query.d.ts +0 -248
  550. package/dist/types/src/query/query.d.ts.map +0 -1
  551. package/dist/types/src/query/query.test.d.ts +0 -2
  552. package/dist/types/src/query/query.test.d.ts.map +0 -1
  553. package/dist/types/src/query/tag.d.ts +0 -17
  554. package/dist/types/src/query/tag.d.ts.map +0 -1
  555. package/dist/types/src/testing/echo-schema.d.ts +0 -7
  556. package/dist/types/src/testing/echo-schema.d.ts.map +0 -1
  557. package/dist/types/src/testing/types.d.ts +0 -113
  558. package/dist/types/src/testing/types.d.ts.map +0 -1
  559. package/src/internal/ast/annotation-helper.ts +0 -22
  560. package/src/internal/ast/annotations.ts +0 -219
  561. package/src/internal/ast/entity-kind.ts +0 -15
  562. package/src/internal/ast/index.ts +0 -8
  563. package/src/internal/ast/types.ts +0 -17
  564. package/src/internal/json/index.ts +0 -5
  565. package/src/internal/object/accessors.ts +0 -153
  566. package/src/internal/object/entity.ts +0 -248
  567. package/src/internal/object/expando.ts +0 -21
  568. package/src/internal/object/model.ts +0 -170
  569. package/src/internal/object/relation.ts +0 -24
  570. package/src/internal/object/typename.ts +0 -61
  571. package/src/internal/object/version.ts +0 -22
  572. package/src/internal/projection/index.ts +0 -5
  573. package/src/internal/proxy/reactive-object.ts +0 -108
  574. package/src/internal/query/index.ts +0 -5
  575. package/src/internal/query/query.ts +0 -23
  576. package/src/internal/schema/runtime-schema-registry.ts +0 -78
  577. package/src/internal/schema/snapshot.ts +0 -25
  578. package/src/internal/schema/stored-schema.ts +0 -26
  579. package/src/internal/testing/index.ts +0 -6
  580. package/src/internal/testing/types.ts +0 -211
  581. package/src/internal/testing/utils.ts +0 -54
  582. package/src/internal/types/types.test.ts +0 -48
  583. package/src/internal/types/types.ts +0 -176
  584. package/src/internal/types/util.ts +0 -9
  585. package/src/query/index.ts +0 -6
  586. package/src/query/query.test.ts +0 -401
  587. package/src/query/query.ts +0 -789
  588. package/src/test/api.test.ts +0 -180
  589. package/src/testing/echo-schema.ts +0 -39
  590. package/src/testing/types.ts +0 -91
  591. /package/dist/lib/browser/{query/index.mjs.map → Annotation.mjs.map} +0 -0
  592. /package/dist/lib/{node-esm/query/index.mjs.map → browser/Database.mjs.map} +0 -0
  593. /package/dist/types/src/internal/{ast → annotations}/annotations.test.d.ts +0 -0
  594. /package/dist/types/src/internal/{json → json-schema}/annotations.d.ts +0 -0
  595. /package/dist/types/src/internal/{json → json-schema}/effect-schema.test.d.ts +0 -0
  596. /package/dist/types/src/internal/{json → json-schema}/json-schema.test.d.ts +0 -0
  597. /package/dist/types/src/internal/{projection → schema}/compose.d.ts +0 -0
  598. /package/dist/types/src/internal/{projection → schema}/compose.test.d.ts +0 -0
  599. /package/dist/types/src/{test → testing}/api.test.d.ts +0 -0
  600. /package/src/internal/{json → json-schema}/effect-schema.test.ts +0 -0
@@ -0,0 +1,170 @@
1
+ import * as Schema from 'effect/Schema';
2
+ import * as SchemaAST from 'effect/SchemaAST';
3
+ import { DXN } from '@dxos/keys';
4
+ import { type Primitive } from '@dxos/util';
5
+ import { EntityKind } from '../types';
6
+ /**
7
+ * Sets the path for the field.
8
+ * @param path Data source path in the json path format. This is the field path in the source object.
9
+ */
10
+ export declare const FieldPath: (path: string) => <A, I, R>(self: Schema.Schema<A, I, R>) => Schema.Schema<A, I, R>;
11
+ /**
12
+ * ECHO identifier (for a stored schema).
13
+ * Must be a `dxn:echo:` URI.
14
+ */
15
+ export declare const TypeIdentifierAnnotationId: unique symbol;
16
+ export declare const getTypeIdentifierAnnotation: (schema: Schema.Schema.All) => string | undefined;
17
+ /**
18
+ * @returns DXN of the schema.
19
+ *
20
+ * For non-stored schema returns `dxn:type:`.
21
+ * For stored schema returns `dxn:echo:`.
22
+ */
23
+ export declare const getSchemaDXN: (schema: Schema.Schema.All) => DXN | undefined;
24
+ /**
25
+ * @param input schema or a typename string.
26
+ * @return type DXN.
27
+ */
28
+ export declare const getTypeDXNFromSpecifier: (input: Schema.Schema.All | string) => DXN;
29
+ /**
30
+ * Fully qualified globally unique typename.
31
+ * Example: `dxos.org/type/Message`
32
+ */
33
+ export declare const TypenameSchema: Schema.refine<string, typeof Schema.String>;
34
+ /**
35
+ * Semantic version format: `major.minor.patch`
36
+ * Example: `1.0.0`
37
+ */
38
+ export declare const VersionSchema: Schema.refine<string, typeof Schema.String>;
39
+ export declare const TypeMeta: Schema.Struct<{
40
+ typename: Schema.refine<string, typeof Schema.String>;
41
+ version: Schema.refine<string, typeof Schema.String>;
42
+ }>;
43
+ export interface TypeMeta extends Schema.Schema.Type<typeof TypeMeta> {
44
+ }
45
+ /**
46
+ * Entity type.
47
+ */
48
+ export declare const TypeAnnotationId: unique symbol;
49
+ /**
50
+ * Payload stored under {@link TypeAnnotationId}.
51
+ */
52
+ export declare const TypeAnnotation: Schema.extend<Schema.Struct<{
53
+ typename: Schema.refine<string, typeof Schema.String>;
54
+ version: Schema.refine<string, typeof Schema.String>;
55
+ }>, Schema.Struct<{
56
+ kind: Schema.Enums<typeof EntityKind>;
57
+ /**
58
+ * If this is a relation, the schema of the source object.
59
+ * Must be present if entity kind is {@link EntityKind.Relation}.
60
+ */
61
+ sourceSchema: Schema.optional<Schema.refine<string, typeof Schema.NonEmptyString>>;
62
+ /**
63
+ * If this is a relation, the schema of the target object.
64
+ * Must be present if entity kind is {@link EntityKind.Relation}.
65
+ */
66
+ targetSchema: Schema.optional<Schema.refine<string, typeof Schema.NonEmptyString>>;
67
+ }>>;
68
+ export interface TypeAnnotation extends Schema.Schema.Type<typeof TypeAnnotation> {
69
+ }
70
+ /**
71
+ * @returns {@link TypeAnnotation} from a schema.
72
+ * Schema must have been created with {@link TypedObject} or {@link TypedLink} or manually assigned an appropriate annotation.
73
+ */
74
+ export declare const getTypeAnnotation: (schema: Schema.Schema.All) => TypeAnnotation | undefined;
75
+ /**
76
+ * @returns {@link EntityKind} from a schema.
77
+ */
78
+ export declare const getEntityKind: (schema: Schema.Schema.All) => EntityKind | undefined;
79
+ /**
80
+ * Checks if the object is an instance of the schema.
81
+ * Only typename is compared, the schema version is ignored.
82
+ *
83
+ * The following cases are considered to mean that the object is an instance of the schema:
84
+ * - Object was created with this exact schema.
85
+ * - Object was created with a different version of this schema.
86
+ * - Object was created with a different schema (maybe dynamic) that has the same typename.
87
+ */
88
+ export declare const isInstanceOf: <Schema extends Schema.Schema.AnyNoContext>(schema: Schema, object: any) => object is Schema.Schema.Type<Schema>;
89
+ /**
90
+ * PropertyMeta (metadata for dynamic schema properties).
91
+ * For user-defined annotations.
92
+ */
93
+ export declare const PropertyMetaAnnotationId: unique symbol;
94
+ export type PropertyMetaValue = Primitive | Record<string, Primitive> | Primitive[];
95
+ export type PropertyMetaAnnotation = {
96
+ [name: string]: PropertyMetaValue;
97
+ };
98
+ export declare const PropertyMeta: (name: string, value: PropertyMetaValue) => <A, I, R>(self: Schema.Schema<A, I, R>) => Schema.Schema<A, I, R>;
99
+ export declare const getPropertyMetaAnnotation: <T>(prop: SchemaAST.PropertySignature, name: string) => T | undefined;
100
+ /**
101
+ * Schema reference.
102
+ */
103
+ export declare const ReferenceAnnotationId: unique symbol;
104
+ export type ReferenceAnnotationValue = TypeAnnotation;
105
+ export declare const ReferenceAnnotation: import("./util").AnnotationHelper<TypeAnnotation>;
106
+ /**
107
+ * SchemaMeta.
108
+ */
109
+ export declare const SchemaMetaSymbol: unique symbol;
110
+ export type SchemaMeta = TypeMeta & {
111
+ id: string;
112
+ };
113
+ /**
114
+ * Identifies a schema as a schema for a hidden system type.
115
+ */
116
+ export declare const SystemTypeAnnotationId: unique symbol;
117
+ export declare const SystemTypeAnnotation: import("./util").AnnotationHelper<boolean>;
118
+ /**
119
+ * Identifies label property or JSON path expression.
120
+ * Either a string or an array of strings representing field accessors each matched in priority order.
121
+ */
122
+ export declare const LabelAnnotationId: unique symbol;
123
+ export declare const LabelAnnotation: import("./util").AnnotationHelper<string[]>;
124
+ /**
125
+ * Returns the label for a given object based on {@link LabelAnnotationId}.
126
+ * Lower-level version that requires explicit schema parameter.
127
+ */
128
+ export declare const getLabelWithSchema: <S extends Schema.Schema.Any>(schema: S, object: Schema.Schema.Type<S>) => string | undefined;
129
+ /**
130
+ * Sets the label for a given object based on {@link LabelAnnotationId}.
131
+ * Lower-level version that requires explicit schema parameter.
132
+ */
133
+ export declare const setLabelWithSchema: <S extends Schema.Schema.Any>(schema: S, object: Schema.Schema.Type<S>, label: string) => void;
134
+ /**
135
+ * Identifies description property or JSON path expression.
136
+ * A string representing field accessor.
137
+ */
138
+ export declare const DescriptionAnnotationId: unique symbol;
139
+ export declare const DescriptionAnnotation: import("./util").AnnotationHelper<string>;
140
+ /**
141
+ * Returns the description for a given object based on {@link DescriptionAnnotationId}.
142
+ * Lower-level version that requires explicit schema parameter.
143
+ */
144
+ export declare const getDescriptionWithSchema: <S extends Schema.Schema.Any>(schema: S, object: Schema.Schema.Type<S>) => string | undefined;
145
+ /**
146
+ * Sets the description for a given object based on {@link DescriptionAnnotationId}.
147
+ * Lower-level version that requires explicit schema parameter.
148
+ */
149
+ export declare const setDescriptionWithSchema: <S extends Schema.Schema.Any>(schema: S, object: Schema.Schema.Type<S>, description: string) => void;
150
+ /**
151
+ * Identifies if a property should be included in a form or not.
152
+ * By default, all properties are included in forms, so this is opt-out.
153
+ */
154
+ export declare const FormInputAnnotationId: unique symbol;
155
+ export declare const FormInputAnnotation: import("./util").AnnotationHelper<boolean>;
156
+ /**
157
+ * Default field to be used on referenced schema to lookup the value.
158
+ */
159
+ export declare const FieldLookupAnnotationId: unique symbol;
160
+ /**
161
+ * Generate test data.
162
+ */
163
+ export declare const GeneratorAnnotationId: unique symbol;
164
+ export type GeneratorAnnotationValue = string | {
165
+ generator: string;
166
+ args?: any[];
167
+ probability?: number;
168
+ };
169
+ export declare const GeneratorAnnotation: import("./util").AnnotationHelper<GeneratorAnnotationValue>;
170
+ //# sourceMappingURL=annotations.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"annotations.d.ts","sourceRoot":"","sources":["../../../../../src/internal/annotations/annotations.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"annotations.test.d.ts","sourceRoot":"","sources":["../../../../../src/internal/annotations/annotations.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,3 @@
1
+ export * from './annotations';
2
+ export * from './util';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/internal/annotations/index.ts"],"names":[],"mappings":"AAIA,cAAc,eAAe,CAAC;AAC9B,cAAc,QAAQ,CAAC"}
@@ -0,0 +1,27 @@
1
+ import type * as Option from 'effect/Option';
2
+ import type * as Schema from 'effect/Schema';
3
+ import * as SchemaAST from 'effect/SchemaAST';
4
+ import { EntityKind } from '../types';
5
+ export interface AnnotationHelper<T> {
6
+ get: (schema: Schema.Schema.Any) => Option.Option<T>;
7
+ getFromAst: (ast: SchemaAST.AST) => Option.Option<T>;
8
+ set: (value: T) => <S extends Schema.Schema.Any>(schema: S) => S;
9
+ }
10
+ export declare const createAnnotationHelper: <T>(id: symbol) => AnnotationHelper<T>;
11
+ /**
12
+ * If property is optional returns the nested property, otherwise returns the property.
13
+ */
14
+ export declare const unwrapOptional: (property: SchemaAST.PropertySignature) => SchemaAST.AST | SchemaAST.PropertySignature;
15
+ /**
16
+ * @see JSONSchemaAnnotationId
17
+ * @returns JSON-schema annotation so that the schema can be serialized with correct parameters.
18
+ */
19
+ export declare const makeTypeJsonSchemaAnnotation: (options: {
20
+ identifier?: string;
21
+ kind: EntityKind;
22
+ typename: string;
23
+ version: string;
24
+ relationSource?: string;
25
+ relationTarget?: string;
26
+ }) => any;
27
+ //# sourceMappingURL=util.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"util.d.ts","sourceRoot":"","sources":["../../../../../src/internal/annotations/util.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,KAAK,MAAM,MAAM,eAAe,CAAC;AAC7C,OAAO,KAAK,KAAK,MAAM,MAAM,eAAe,CAAC;AAC7C,OAAO,KAAK,SAAS,MAAM,kBAAkB,CAAC;AAK9C,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAEtC,MAAM,WAAW,gBAAgB,CAAC,CAAC;IACjC,GAAG,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,GAAG,KAAK,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IACrD,UAAU,EAAE,CAAC,GAAG,EAAE,SAAS,CAAC,GAAG,KAAK,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IACrD,GAAG,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,MAAM,EAAE,CAAC,KAAK,CAAC,CAAC;CAClE;AAED,eAAO,MAAM,sBAAsB,GAAI,CAAC,EAAE,IAAI,MAAM,KAAG,gBAAgB,CAAC,CAAC,CASxE,CAAC;AAEF;;GAEG;AAEH,eAAO,MAAM,cAAc,GAAI,UAAU,SAAS,CAAC,iBAAiB,gDAMnE,CAAC;AAEF;;;GAGG;AAEH,eAAO,MAAM,4BAA4B,GAAI,SAAS;IACpD,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,UAAU,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB,QAiBA,CAAC"}
@@ -0,0 +1,23 @@
1
+ import { type Mutable } from '../proxy';
2
+ import { type AnyProperties } from '../types';
3
+ /**
4
+ * Get the label of an entity.
5
+ * Accepts both reactive entities and snapshots.
6
+ */
7
+ export declare const getLabel: (entity: AnyProperties) => string | undefined;
8
+ /**
9
+ * Set the label of an entity.
10
+ * Must be called within an Obj.change or Relation.change callback.
11
+ */
12
+ export declare const setLabel: (entity: Mutable<AnyProperties>, label: string) => void;
13
+ /**
14
+ * Get the description of an entity.
15
+ * Accepts both reactive entities and snapshots.
16
+ */
17
+ export declare const getDescription: (entity: AnyProperties) => string | undefined;
18
+ /**
19
+ * Set the description of an entity.
20
+ * Must be called within an Obj.change or Relation.change callback.
21
+ */
22
+ export declare const setDescription: (entity: Mutable<AnyProperties>, description: string) => void;
23
+ //# sourceMappingURL=annotations.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"annotations.d.ts","sourceRoot":"","sources":["../../../../../src/internal/api/annotations.ts"],"names":[],"mappings":"AAcA,OAAO,EAAE,KAAK,OAAO,EAAE,MAAM,UAAU,CAAC;AACxC,OAAO,EAAE,KAAK,aAAa,EAA2B,MAAM,UAAU,CAAC;AAEvE;;;GAGG;AACH,eAAO,MAAM,QAAQ,GAAI,QAAQ,aAAa,KAAG,MAAM,GAAG,SAKzD,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,QAAQ,GAAI,QAAQ,OAAO,CAAC,aAAa,CAAC,EAAE,OAAO,MAAM,SAKrE,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,cAAc,GAAI,QAAQ,aAAa,KAAG,MAAM,GAAG,SAK/D,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,cAAc,GAAI,QAAQ,OAAO,CAAC,aAAa,CAAC,EAAE,aAAa,MAAM,SAKjF,CAAC"}
@@ -0,0 +1,13 @@
1
+ import { type DXN } from '@dxos/keys';
2
+ import type { AnyEntity } from '../types';
3
+ /**
4
+ * Get the DXN of an entity.
5
+ * Accepts both reactive entities and snapshots.
6
+ */
7
+ export declare const getDXN: (entity: AnyEntity) => DXN;
8
+ /**
9
+ * Get the database the entity belongs to.
10
+ * Accepts both reactive entities and snapshots.
11
+ */
12
+ export declare const getDatabase: (entity: AnyEntity) => any | undefined;
13
+ //# sourceMappingURL=entity.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"entity.d.ts","sourceRoot":"","sources":["../../../../../src/internal/api/entity.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,KAAK,GAAG,EAAE,MAAM,YAAY,CAAC;AAItC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAE1C;;;GAGG;AACH,eAAO,MAAM,MAAM,GAAI,QAAQ,SAAS,KAAG,GAI1C,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,WAAW,GAAI,QAAQ,SAAS,KAAG,GAAG,GAAG,SAGrD,CAAC"}
@@ -0,0 +1,15 @@
1
+ /**
2
+ * Shared API helpers for Obj and Relation modules.
3
+ * These implementations use generic Entity types.
4
+ * Obj and Relation modules re-export with strongly-typed signatures.
5
+ *
6
+ * TODO(wittjosiah): Could this become the new "internal" where we slowly refactor
7
+ * existing internal modules into here? This would provide a cleaner boundary
8
+ * and prevent external packages from using internals directly.
9
+ */
10
+ export * from './annotations';
11
+ export * from './entity';
12
+ export * from './meta';
13
+ export * from './sorting';
14
+ export * from './version';
15
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/internal/api/index.ts"],"names":[],"mappings":"AAIA;;;;;;;;GAQG;AAEH,cAAc,eAAe,CAAC;AAC9B,cAAc,UAAU,CAAC;AACzB,cAAc,QAAQ,CAAC;AACvB,cAAc,WAAW,CAAC;AAC1B,cAAc,WAAW,CAAC"}
@@ -0,0 +1,42 @@
1
+ import type { ForeignKey } from '@dxos/echo-protocol';
2
+ import type { DeepReadonly } from '@dxos/util';
3
+ import { type Mutable } from '../proxy';
4
+ import { type AnyProperties, type ObjectMeta } from '../types';
5
+ /**
6
+ * Deeply read-only version of ObjectMeta.
7
+ */
8
+ export type ReadonlyMeta = DeepReadonly<ObjectMeta>;
9
+ /**
10
+ * Mutable meta type received in meta mutation callbacks.
11
+ */
12
+ export type Meta = ObjectMeta;
13
+ /**
14
+ * Get the metadata for an entity with validation.
15
+ * Returns mutable meta when passed a mutable entity (inside change callback).
16
+ * Returns read-only meta when passed a regular entity or snapshot.
17
+ *
18
+ * TODO(burdon): When passed a Snapshot, should return a snapshot of meta, not the live meta proxy.
19
+ */
20
+ export declare function getMetaChecked(entity: Mutable<AnyProperties>): ObjectMeta;
21
+ export declare function getMetaChecked(entity: AnyProperties): ReadonlyMeta;
22
+ /**
23
+ * @returns Foreign keys for the entity from the specified source.
24
+ * Accepts both reactive entities and snapshots.
25
+ */
26
+ export declare const getKeys: (entity: AnyProperties, source: string) => ForeignKey[];
27
+ /**
28
+ * Delete all keys from the entity for the specified source.
29
+ * Must be called within an Obj.change or Relation.change callback.
30
+ */
31
+ export declare const deleteKeys: (entity: Mutable<AnyProperties>, source: string) => void;
32
+ /**
33
+ * Add a tag to the entity.
34
+ * Must be called within an Obj.change or Relation.change callback.
35
+ */
36
+ export declare const addTag: (entity: Mutable<AnyProperties>, tag: string) => void;
37
+ /**
38
+ * Remove a tag from the entity.
39
+ * Must be called within an Obj.change or Relation.change callback.
40
+ */
41
+ export declare const removeTag: (entity: Mutable<AnyProperties>, tag: string) => void;
42
+ //# sourceMappingURL=meta.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"meta.d.ts","sourceRoot":"","sources":["../../../../../src/internal/api/meta.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAEtD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE/C,OAAO,EAAE,KAAK,OAAO,EAAE,MAAM,UAAU,CAAC;AACxC,OAAO,EAAE,KAAK,aAAa,EAAE,KAAK,UAAU,EAAuB,MAAM,UAAU,CAAC;AAEpF;;GAEG;AACH,MAAM,MAAM,YAAY,GAAG,YAAY,CAAC,UAAU,CAAC,CAAC;AAEpD;;GAEG;AACH,MAAM,MAAM,IAAI,GAAG,UAAU,CAAC;AAE9B;;;;;;GAMG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,OAAO,CAAC,aAAa,CAAC,GAAG,UAAU,CAAC;AAC3E,wBAAgB,cAAc,CAAC,MAAM,EAAE,aAAa,GAAG,YAAY,CAAC;AAQpE;;;GAGG;AACH,eAAO,MAAM,OAAO,GAAI,QAAQ,aAAa,EAAE,QAAQ,MAAM,KAAG,UAAU,EAKzE,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,UAAU,GAAI,QAAQ,OAAO,CAAC,aAAa,CAAC,EAAE,QAAQ,MAAM,SAQxE,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,MAAM,GAAI,QAAQ,OAAO,CAAC,aAAa,CAAC,EAAE,KAAK,MAAM,SAIjE,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,SAAS,GAAI,QAAQ,OAAO,CAAC,aAAa,CAAC,EAAE,KAAK,MAAM,SAWpE,CAAC"}
@@ -0,0 +1,24 @@
1
+ import type { AnyEntity } from '../types';
2
+ /**
3
+ * String comparison helper for sorting.
4
+ */
5
+ export declare const compare: (a?: string, b?: string) => number;
6
+ /**
7
+ * Comparator function type for sorting entities.
8
+ * Accepts both reactive entities and snapshots.
9
+ */
10
+ export type Comparator<T extends AnyEntity = AnyEntity> = (a: T, b: T) => number;
11
+ /**
12
+ * Sort entities by label.
13
+ */
14
+ export declare const sortByLabel: Comparator;
15
+ /**
16
+ * Sort entities by typename.
17
+ */
18
+ export declare const sortByTypename: Comparator;
19
+ /**
20
+ * Compose multiple comparators into one.
21
+ * Applies comparators in order until one returns non-zero.
22
+ */
23
+ export declare const sort: <T extends AnyEntity>(...comparators: Comparator<T>[]) => Comparator<T>;
24
+ //# sourceMappingURL=sorting.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sorting.d.ts","sourceRoot":"","sources":["../../../../../src/internal/api/sorting.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAI1C;;GAEG;AACH,eAAO,MAAM,OAAO,GAAI,IAAI,MAAM,EAAE,IAAI,MAAM,KAAG,MAQhD,CAAC;AAEF;;;GAGG;AACH,MAAM,MAAM,UAAU,CAAC,CAAC,SAAS,SAAS,GAAG,SAAS,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,MAAM,CAAC;AAEjF;;GAEG;AACH,eAAO,MAAM,WAAW,EAAE,UAA8E,CAAC;AAEzG;;GAEG;AACH,eAAO,MAAM,cAAc,EAAE,UAAoF,CAAC;AAElH;;;GAGG;AACH,eAAO,MAAM,IAAI,GAAI,CAAC,SAAS,SAAS,EAAE,GAAG,aAAa,UAAU,CAAC,CAAC,CAAC,EAAE,KAAG,UAAU,CAAC,CAAC,CAUvF,CAAC"}
@@ -0,0 +1,42 @@
1
+ import { type AnyEntity, VersionTypeId } from '../types';
2
+ /**
3
+ * Represent entity version.
4
+ * May be backed by Automerge.
5
+ * Entities with no history are not versioned.
6
+ * Named EntityVersion to avoid conflict with types/version.ts.
7
+ */
8
+ export interface EntityVersion {
9
+ [VersionTypeId]: {};
10
+ /**
11
+ * Whether the entity is versioned.
12
+ */
13
+ versioned: boolean;
14
+ /**
15
+ * Automerge heads.
16
+ */
17
+ automergeHeads?: string[];
18
+ }
19
+ /**
20
+ * Checks that `obj` is a version object.
21
+ */
22
+ export declare const isVersion: (entity: unknown) => entity is EntityVersion;
23
+ /**
24
+ * Returns the version of an entity.
25
+ * Accepts both reactive entities and snapshots.
26
+ */
27
+ export declare const version: (entity: AnyEntity) => EntityVersion;
28
+ /**
29
+ * Checks that `version` is a valid version object.
30
+ */
31
+ export declare const versionValid: (ver: EntityVersion) => boolean;
32
+ export type VersionCompareResult = 'unversioned' | 'equal' | 'different';
33
+ /**
34
+ * Compares two versions.
35
+ * @param version1
36
+ * @param version2
37
+ * @returns 'unversioned' if either entity is unversioned, 'equal' if the versions are equal, 'different' if the versions are different.
38
+ */
39
+ export declare const compareVersions: (version1: EntityVersion, version2: EntityVersion) => VersionCompareResult;
40
+ export declare const encodeVersion: (ver: EntityVersion) => string;
41
+ export declare const decodeVersion: (ver: string) => EntityVersion;
42
+ //# sourceMappingURL=version.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"version.d.ts","sourceRoot":"","sources":["../../../../../src/internal/api/version.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,KAAK,SAAS,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEzD;;;;;GAKG;AACH,MAAM,WAAW,aAAa;IAC5B,CAAC,aAAa,CAAC,EAAE,EAAE,CAAC;IAEpB;;OAEG;IACH,SAAS,EAAE,OAAO,CAAC;IAEnB;;OAEG;IACH,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;CAC3B;AAOD;;GAEG;AACH,eAAO,MAAM,SAAS,GAAI,QAAQ,OAAO,KAAG,MAAM,IAAI,aAErD,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,OAAO,GAAI,QAAQ,SAAS,KAAG,aAM3C,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,YAAY,GAAI,KAAK,aAAa,KAAG,OAGjD,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG,aAAa,GAAG,OAAO,GAAG,WAAW,CAAC;AAEzE;;;;;GAKG;AACH,eAAO,MAAM,eAAe,GAAI,UAAU,aAAa,EAAE,UAAU,aAAa,KAAG,oBAgBlF,CAAC;AAEF,eAAO,MAAM,aAAa,GAAI,KAAK,aAAa,KAAG,MAElD,CAAC;AAEF,eAAO,MAAM,aAAa,GAAI,KAAK,MAAM,KAAG,aAI3C,CAAC"}
@@ -0,0 +1,20 @@
1
+ import * as Schema from 'effect/Schema';
2
+ import type * as Types from 'effect/Types';
3
+ import { type ToMutable } from '@dxos/util';
4
+ import { type TypeMeta } from '../annotations';
5
+ import { type AnyEntity, type EntityKind, SchemaKindId } from '../types';
6
+ export type EchoTypeSchemaProps<T, ExtraFields = {}> = Types.Simplify<AnyEntity & ToMutable<T> & ExtraFields>;
7
+ export interface EchoTypeSchema<Self extends Schema.Schema.Any, ExtraFields = {}, K extends EntityKind = EntityKind, Fields extends Schema.Struct.Fields = Schema.Struct.Fields> extends TypeMeta, Schema.AnnotableClass<EchoTypeSchema<Self, ExtraFields, K, Fields>, EchoTypeSchemaProps<Schema.Schema.Type<Self>, ExtraFields>, EchoTypeSchemaProps<Schema.Schema.Encoded<Self>, ExtraFields>, Schema.Schema.Context<Self>> {
8
+ /**
9
+ * Schema kind key that marks this as an ECHO schema and indicates its kind.
10
+ * Makes EchoTypeSchema satisfy the Type.Obj.Any or Type.Relation.Any type.
11
+ */
12
+ readonly [SchemaKindId]: K;
13
+ /**
14
+ * The fields defined in the original struct schema.
15
+ * Allows accessing field definitions for introspection.
16
+ */
17
+ readonly fields: Fields;
18
+ instanceOf(value: unknown): boolean;
19
+ }
20
+ //# sourceMappingURL=entity.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"entity.d.ts","sourceRoot":"","sources":["../../../../../src/internal/entities/entity.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAExC,OAAO,KAAK,KAAK,KAAK,MAAM,cAAc,CAAC;AAE3C,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,YAAY,CAAC;AAE5C,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,EAAE,KAAK,SAAS,EAAE,KAAK,UAAU,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAKzE,MAAM,MAAM,mBAAmB,CAAC,CAAC,EAAE,WAAW,GAAG,EAAE,IAAI,KAAK,CAAC,QAAQ,CAAC,SAAS,GAAG,SAAS,CAAC,CAAC,CAAC,GAAG,WAAW,CAAC,CAAC;AAG9G,MAAM,WAAW,cAAc,CAC7B,IAAI,SAAS,MAAM,CAAC,MAAM,CAAC,GAAG,EAC9B,WAAW,GAAG,EAAE,EAChB,CAAC,SAAS,UAAU,GAAG,UAAU,EACjC,MAAM,SAAS,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAC1D,SAAQ,QAAQ,EACd,MAAM,CAAC,cAAc,CACnB,cAAc,CAAC,IAAI,EAAE,WAAW,EAAE,CAAC,EAAE,MAAM,CAAC,EAC5C,mBAAmB,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,WAAW,CAAC,EAC1D,mBAAmB,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,WAAW,CAAC,EAC7D,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAC5B;IACH;;;OAGG;IACH,QAAQ,CAAC,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;IAE3B;;;OAGG;IACH,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IAExB,UAAU,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC;CACrC"}
@@ -0,0 +1,6 @@
1
+ export * from './entity';
2
+ export * from './model';
3
+ export * from './object';
4
+ export * from './relation';
5
+ export * from './util';
6
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/internal/entities/index.ts"],"names":[],"mappings":"AAIA,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC;AACzB,cAAc,YAAY,CAAC;AAC3B,cAAc,QAAQ,CAAC"}
@@ -0,0 +1,77 @@
1
+ import type * as Schema from 'effect/Schema';
2
+ import { type ForeignKey } from '@dxos/echo-protocol';
3
+ import { DXN, ObjectId } from '@dxos/keys';
4
+ import type * as Database from '../../Database';
5
+ import { type ATTR_META, type ATTR_TYPE, EntityKind, KindId, type MetaId, type ObjectMeta, type SchemaId, TypeId, type Version } from '../types';
6
+ import { type ATTR_RELATION_SOURCE, type ATTR_RELATION_TARGET, RelationSourceDXNId, RelationSourceId, RelationTargetDXNId, RelationTargetId } from './relation';
7
+ /**
8
+ * Property name for self DXN when object is serialized to JSON.
9
+ */
10
+ export declare const ATTR_SELF_DXN = "@dxn";
11
+ /**
12
+ * DXN to the object itself.
13
+ */
14
+ export declare const SelfDXNId: unique symbol;
15
+ /**
16
+ * Property name for deleted when object is serialized to JSON.
17
+ */
18
+ export declare const ATTR_DELETED = "@deleted";
19
+ /**
20
+ * Deletion marker.
21
+ */
22
+ export declare const ObjectDeletedId: unique symbol;
23
+ /**
24
+ * Object version accessor symbol.
25
+ */
26
+ export declare const ObjectVersionId: unique symbol;
27
+ /**
28
+ * Object database accessor symbol.
29
+ */
30
+ export declare const ObjectDatabaseId: unique symbol;
31
+ /**
32
+ * Internal runtime representation of an object.
33
+ * The fields are accessed through getter functions.
34
+ */
35
+ export interface InternalObjectProps {
36
+ readonly id: ObjectId;
37
+ readonly [SelfDXNId]: DXN;
38
+ readonly [KindId]: EntityKind;
39
+ readonly [SchemaId]: Schema.Schema.AnyNoContext;
40
+ readonly [TypeId]: DXN;
41
+ readonly [MetaId]?: ObjectMeta;
42
+ readonly [ObjectDatabaseId]?: Database.Database;
43
+ readonly [ObjectDeletedId]?: boolean;
44
+ readonly [ObjectVersionId]?: Version;
45
+ readonly [RelationSourceDXNId]?: DXN;
46
+ readonly [RelationTargetDXNId]?: DXN;
47
+ readonly [RelationSourceId]?: InternalObjectProps;
48
+ readonly [RelationTargetId]?: InternalObjectProps;
49
+ }
50
+ /**
51
+ * Entity metadata.
52
+ */
53
+ export interface ObjectMetaJSON {
54
+ keys: ForeignKey[];
55
+ tags?: string[];
56
+ }
57
+ /**
58
+ * JSON representation of an object or relation metadata.
59
+ */
60
+ export interface ObjectJSON {
61
+ id: string;
62
+ [ATTR_TYPE]: DXN.String;
63
+ [ATTR_SELF_DXN]?: DXN.String;
64
+ [ATTR_DELETED]?: boolean;
65
+ [ATTR_META]?: ObjectMetaJSON;
66
+ [ATTR_RELATION_SOURCE]?: DXN.String;
67
+ [ATTR_RELATION_TARGET]?: DXN.String;
68
+ /**
69
+ * Application-specific properties.
70
+ */
71
+ [key: string]: unknown;
72
+ }
73
+ /**
74
+ * NOTE: Keep as `function` to avoid type inference issues.
75
+ */
76
+ export declare function assertObjectModel(obj: unknown): asserts obj is InternalObjectProps;
77
+ //# sourceMappingURL=model.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"model.d.ts","sourceRoot":"","sources":["../../../../../src/internal/entities/model.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,18 @@
1
+ import * as Schema from 'effect/Schema';
2
+ import { type TypeMeta } from '../annotations';
3
+ import { EntityKind } from '../types';
4
+ import { type EchoTypeSchema } from './entity';
5
+ /**
6
+ * Object schema type with kind marker.
7
+ */
8
+ export type EchoObjectSchema<Self extends Schema.Schema.Any, Fields extends Schema.Struct.Fields = Schema.Struct.Fields> = EchoTypeSchema<Self, {}, EntityKind.Object, Fields>;
9
+ /**
10
+ * Schema for Obj entity types.
11
+ * Pipeable function to add ECHO object annotations to a schema.
12
+ */
13
+ export declare const EchoObjectSchema: {
14
+ (meta: TypeMeta): <Self extends Schema.Schema.Any, Fields extends Schema.Struct.Fields = Schema.Struct.Fields>(self: Self & {
15
+ fields?: Fields;
16
+ }) => EchoObjectSchema<Self, Fields>;
17
+ };
18
+ //# sourceMappingURL=object.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"object.d.ts","sourceRoot":"","sources":["../../../../../src/internal/entities/object.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAKxC,OAAO,EAAyC,KAAK,QAAQ,EAAgC,MAAM,gBAAgB,CAAC;AACpH,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAEtC,OAAO,EAAE,KAAK,cAAc,EAAsB,MAAM,UAAU,CAAC;AAEnE;;GAEG;AACH,MAAM,MAAM,gBAAgB,CAC1B,IAAI,SAAS,MAAM,CAAC,MAAM,CAAC,GAAG,EAC9B,MAAM,SAAS,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,IACxD,cAAc,CAAC,IAAI,EAAE,EAAE,EAAE,UAAU,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AAExD;;;GAGG;AACH,eAAO,MAAM,gBAAgB,EAAE;IAC7B,CACE,IAAI,EAAE,QAAQ,GACb,CAAC,IAAI,SAAS,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,MAAM,SAAS,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,EAC5F,IAAI,EAAE,IAAI,GAAG;QAAE,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,KAC7B,gBAAgB,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;CA4BrC,CAAC"}
@@ -0,0 +1,62 @@
1
+ import * as Schema from 'effect/Schema';
2
+ import { type TypeMeta } from '../annotations';
3
+ import { EntityKind } from '../types';
4
+ import { type EchoTypeSchema } from './entity';
5
+ /**
6
+ * Property name for relation source when object is serialized to JSON.
7
+ */
8
+ export declare const ATTR_RELATION_SOURCE = "@relationSource";
9
+ /**
10
+ * Used to access relation source ref on live ECHO objects.
11
+ * Reading this symbol must return `Live<EchoObjectSchema<any>>` or a DXN.
12
+ */
13
+ export declare const RelationSourceId: unique symbol;
14
+ /**
15
+ * Used to access relation source ref on live ECHO objects.
16
+ * Reading this symbol must return `Live<EchoObjectSchema<any>>` or a DXN.
17
+ */
18
+ export declare const RelationSourceDXNId: unique symbol;
19
+ /**
20
+ * Property name for relation target when object is serialized to JSON.
21
+ */
22
+ export declare const ATTR_RELATION_TARGET = "@relationTarget";
23
+ /**
24
+ * Used to access relation target ref on live ECHO objects.
25
+ * Reading this symbol must return `Live<EchoObjectSchema<any>>` or a DXN.
26
+ */
27
+ export declare const RelationTargetId: unique symbol;
28
+ /**
29
+ * Used to access relation target ref on live ECHO objects.
30
+ * Reading this symbol must return `Live<EchoObjectSchema<any>>` or a DXN.
31
+ */
32
+ export declare const RelationTargetDXNId: unique symbol;
33
+ /**
34
+ * Source and target props on relations.
35
+ */
36
+ export type RelationSourceTargetRefs<Source = any, Target = any> = {
37
+ /**
38
+ * Source ECHO live object.
39
+ */
40
+ [RelationSourceId]: Source;
41
+ /**
42
+ * Target ECHO live object.
43
+ */
44
+ [RelationTargetId]: Target;
45
+ };
46
+ export type RelationSource<R> = R extends RelationSourceTargetRefs<infer Source, infer _Target> ? Source : never;
47
+ export type RelationTarget<R> = R extends RelationSourceTargetRefs<infer _Source, infer Target> ? Target : never;
48
+ export type EchoRelationSchemaOptions<TSource extends Schema.Schema.AnyNoContext, TTarget extends Schema.Schema.AnyNoContext> = TypeMeta & {
49
+ source: TSource;
50
+ target: TTarget;
51
+ };
52
+ /**
53
+ * Relation schema type with kind marker.
54
+ */
55
+ export type EchoRelationSchema<Self extends Schema.Schema.Any, Source extends Schema.Schema.AnyNoContext, Target extends Schema.Schema.AnyNoContext, Fields extends Schema.Struct.Fields = Schema.Struct.Fields> = EchoTypeSchema<Self, RelationSourceTargetRefs<Schema.Schema.Type<Source>, Schema.Schema.Type<Target>>, EntityKind.Relation, Fields>;
56
+ /**
57
+ * Schema for Relation entity types.
58
+ */
59
+ export declare const EchoRelationSchema: <Source extends Schema.Schema.AnyNoContext, Target extends Schema.Schema.AnyNoContext>({ source, target, typename, version, }: EchoRelationSchemaOptions<Source, Target>) => <Self extends Schema.Schema.Any, Fields extends Schema.Struct.Fields = Schema.Struct.Fields>(self: Self & {
60
+ fields?: Fields;
61
+ }) => EchoRelationSchema<Self, Source, Target, Fields>;
62
+ //# sourceMappingURL=relation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"relation.d.ts","sourceRoot":"","sources":["../../../../../src/internal/entities/relation.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAOxC,OAAO,EAGL,KAAK,QAAQ,EAKd,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAEtC,OAAO,EAAE,KAAK,cAAc,EAAsB,MAAM,UAAU,CAAC;AAEnE;;GAEG;AACH,eAAO,MAAM,oBAAoB,oBAAoB,CAAC;AAEtD;;;GAGG;AACH,eAAO,MAAM,gBAAgB,EAAE,OAAO,MAAgD,CAAC;AAEvF;;;GAGG;AACH,eAAO,MAAM,mBAAmB,EAAE,OAAO,MAAmD,CAAC;AAE7F;;GAEG;AACH,eAAO,MAAM,oBAAoB,oBAAoB,CAAC;AAEtD;;;GAGG;AACH,eAAO,MAAM,gBAAgB,EAAE,OAAO,MAAgD,CAAC;AAEvF;;;GAGG;AACH,eAAO,MAAM,mBAAmB,EAAE,OAAO,MAAmD,CAAC;AAE7F;;GAEG;AAEH,MAAM,MAAM,wBAAwB,CAAC,MAAM,GAAG,GAAG,EAAE,MAAM,GAAG,GAAG,IAAI;IACjE;;OAEG;IACH,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAE3B;;OAEG;IACH,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC5B,CAAC;AAEF,MAAM,MAAM,cAAc,CAAC,CAAC,IAAI,CAAC,SAAS,wBAAwB,CAAC,MAAM,MAAM,EAAE,MAAM,OAAO,CAAC,GAAG,MAAM,GAAG,KAAK,CAAC;AACjH,MAAM,MAAM,cAAc,CAAC,CAAC,IAAI,CAAC,SAAS,wBAAwB,CAAC,MAAM,OAAO,EAAE,MAAM,MAAM,CAAC,GAAG,MAAM,GAAG,KAAK,CAAC;AAEjH,MAAM,MAAM,yBAAyB,CACnC,OAAO,SAAS,MAAM,CAAC,MAAM,CAAC,YAAY,EAC1C,OAAO,SAAS,MAAM,CAAC,MAAM,CAAC,YAAY,IACxC,QAAQ,GAAG;IACb,MAAM,EAAE,OAAO,CAAC;IAChB,MAAM,EAAE,OAAO,CAAC;CACjB,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,kBAAkB,CAC5B,IAAI,SAAS,MAAM,CAAC,MAAM,CAAC,GAAG,EAC9B,MAAM,SAAS,MAAM,CAAC,MAAM,CAAC,YAAY,EACzC,MAAM,SAAS,MAAM,CAAC,MAAM,CAAC,YAAY,EACzC,MAAM,SAAS,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,IACxD,cAAc,CAChB,IAAI,EACJ,wBAAwB,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,EAChF,UAAU,CAAC,QAAQ,EACnB,MAAM,CACP,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,kBAAkB,GAC7B,MAAM,SAAS,MAAM,CAAC,MAAM,CAAC,YAAY,EACzC,MAAM,SAAS,MAAM,CAAC,MAAM,CAAC,YAAY,EACzC,wCAKC,yBAAyB,CAAC,MAAM,EAAE,MAAM,CAAC,MAYlC,IAAI,SAAS,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,MAAM,SAAS,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,EAChG,MAAM,IAAI,GAAG;IAAE,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,KAC/B,kBAAkB,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAgCnD,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=util.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"util.d.ts","sourceRoot":"","sources":["../../../../../src/internal/entities/util.ts"],"names":[],"mappings":""}