@dxos/echo 0.8.4-main.fffef41 → 0.8.4-staging.60fe92afc8

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 (731) hide show
  1. package/LICENSE +102 -5
  2. package/README.md +10 -11
  3. package/dist/lib/neutral/Annotation.mjs +68 -0
  4. package/dist/lib/neutral/Database.mjs +38 -0
  5. package/dist/lib/neutral/Entity.mjs +72 -0
  6. package/dist/lib/neutral/Err.mjs +12 -0
  7. package/dist/lib/neutral/Feed.mjs +54 -0
  8. package/dist/lib/neutral/Filter.mjs +70 -0
  9. package/dist/lib/neutral/Format.mjs +86 -0
  10. package/dist/lib/neutral/Format.mjs.map +7 -0
  11. package/dist/lib/neutral/JsonSchema.mjs +18 -0
  12. package/dist/lib/neutral/JsonSchema.mjs.map +7 -0
  13. package/dist/lib/neutral/Key.mjs +16 -0
  14. package/dist/lib/neutral/Key.mjs.map +7 -0
  15. package/dist/lib/neutral/Migration.mjs +18 -0
  16. package/dist/lib/neutral/Migration.mjs.map +7 -0
  17. package/dist/lib/neutral/Obj.mjs +122 -0
  18. package/dist/lib/neutral/Obj.mjs.map +7 -0
  19. package/dist/lib/neutral/Order.mjs +16 -0
  20. package/dist/lib/neutral/Order.mjs.map +7 -0
  21. package/dist/lib/neutral/Query.mjs +38 -0
  22. package/dist/lib/neutral/Query.mjs.map +7 -0
  23. package/dist/lib/neutral/QueryResult.mjs +2 -0
  24. package/dist/lib/neutral/QueryResult.mjs.map +7 -0
  25. package/dist/lib/neutral/Ref.mjs +25 -0
  26. package/dist/lib/neutral/Ref.mjs.map +7 -0
  27. package/dist/lib/neutral/Registry.mjs +14 -0
  28. package/dist/lib/neutral/Registry.mjs.map +7 -0
  29. package/dist/lib/neutral/Relation.mjs +97 -0
  30. package/dist/lib/neutral/Relation.mjs.map +7 -0
  31. package/dist/lib/neutral/Scope.mjs +12 -0
  32. package/dist/lib/neutral/Scope.mjs.map +7 -0
  33. package/dist/lib/neutral/Tag.mjs +32 -0
  34. package/dist/lib/neutral/Tag.mjs.map +7 -0
  35. package/dist/lib/neutral/Type.mjs +65 -0
  36. package/dist/lib/neutral/Type.mjs.map +7 -0
  37. package/dist/lib/neutral/chunk-35INCYOE.mjs +7 -0
  38. package/dist/lib/neutral/chunk-35INCYOE.mjs.map +7 -0
  39. package/dist/lib/neutral/chunk-3PBP4V4O.mjs +101 -0
  40. package/dist/lib/neutral/chunk-3PBP4V4O.mjs.map +7 -0
  41. package/dist/lib/neutral/chunk-4ZUHOTCG.mjs +184 -0
  42. package/dist/lib/neutral/chunk-4ZUHOTCG.mjs.map +7 -0
  43. package/dist/lib/neutral/chunk-5SMDBFVB.mjs +108 -0
  44. package/dist/lib/neutral/chunk-5SMDBFVB.mjs.map +7 -0
  45. package/dist/lib/neutral/chunk-5SUJPHAE.mjs +34 -0
  46. package/dist/lib/neutral/chunk-5SUJPHAE.mjs.map +7 -0
  47. package/dist/lib/neutral/chunk-6M2Z6WBH.mjs +93 -0
  48. package/dist/lib/neutral/chunk-6M2Z6WBH.mjs.map +7 -0
  49. package/dist/lib/neutral/chunk-6YDI3J37.mjs +346 -0
  50. package/dist/lib/neutral/chunk-6YDI3J37.mjs.map +7 -0
  51. package/dist/lib/neutral/chunk-7FPIAJIV.mjs +2279 -0
  52. package/dist/lib/neutral/chunk-7FPIAJIV.mjs.map +7 -0
  53. package/dist/lib/neutral/chunk-7LOUAPYZ.mjs +25 -0
  54. package/dist/lib/neutral/chunk-7LOUAPYZ.mjs.map +7 -0
  55. package/dist/lib/neutral/chunk-7PI7C4EF.mjs +747 -0
  56. package/dist/lib/neutral/chunk-7PI7C4EF.mjs.map +7 -0
  57. package/dist/lib/neutral/chunk-BBFJWWAV.mjs +51 -0
  58. package/dist/lib/neutral/chunk-BBFJWWAV.mjs.map +7 -0
  59. package/dist/lib/neutral/chunk-EVK6XBXO.mjs +56 -0
  60. package/dist/lib/neutral/chunk-EVK6XBXO.mjs.map +7 -0
  61. package/dist/lib/neutral/chunk-IGK6FN65.mjs +27 -0
  62. package/dist/lib/neutral/chunk-IGK6FN65.mjs.map +7 -0
  63. package/dist/lib/neutral/chunk-J5LGTIGS.mjs +10 -0
  64. package/dist/lib/neutral/chunk-J5LGTIGS.mjs.map +7 -0
  65. package/dist/lib/neutral/chunk-LWXVKPPW.mjs +281 -0
  66. package/dist/lib/neutral/chunk-LWXVKPPW.mjs.map +7 -0
  67. package/dist/lib/neutral/chunk-MZ7K3MLL.mjs +48 -0
  68. package/dist/lib/neutral/chunk-MZ7K3MLL.mjs.map +7 -0
  69. package/dist/lib/neutral/chunk-O6BH7EPN.mjs +94 -0
  70. package/dist/lib/neutral/chunk-O6BH7EPN.mjs.map +7 -0
  71. package/dist/lib/neutral/chunk-QQIYS74I.mjs +336 -0
  72. package/dist/lib/neutral/chunk-QQIYS74I.mjs.map +7 -0
  73. package/dist/lib/neutral/chunk-R5W6DXR4.mjs +678 -0
  74. package/dist/lib/neutral/chunk-R5W6DXR4.mjs.map +7 -0
  75. package/dist/lib/neutral/chunk-RIVWNMSF.mjs +41 -0
  76. package/dist/lib/neutral/chunk-RIVWNMSF.mjs.map +7 -0
  77. package/dist/lib/neutral/chunk-SBVFRTST.mjs +160 -0
  78. package/dist/lib/neutral/chunk-SBVFRTST.mjs.map +7 -0
  79. package/dist/lib/neutral/chunk-T6E37YIP.mjs +251 -0
  80. package/dist/lib/neutral/chunk-T6E37YIP.mjs.map +7 -0
  81. package/dist/lib/neutral/chunk-TFEWTY5A.mjs +428 -0
  82. package/dist/lib/neutral/chunk-TFEWTY5A.mjs.map +7 -0
  83. package/dist/lib/neutral/chunk-TYGKCRMK.mjs +437 -0
  84. package/dist/lib/neutral/chunk-TYGKCRMK.mjs.map +7 -0
  85. package/dist/lib/neutral/chunk-UUP46KUQ.mjs +205 -0
  86. package/dist/lib/neutral/chunk-UUP46KUQ.mjs.map +7 -0
  87. package/dist/lib/neutral/chunk-WISOH2XH.mjs +36 -0
  88. package/dist/lib/neutral/chunk-WISOH2XH.mjs.map +7 -0
  89. package/dist/lib/neutral/chunk-WTQJHC75.mjs +395 -0
  90. package/dist/lib/neutral/chunk-WTQJHC75.mjs.map +7 -0
  91. package/dist/lib/neutral/chunk-WU3GIANS.mjs +31 -0
  92. package/dist/lib/neutral/chunk-WU3GIANS.mjs.map +7 -0
  93. package/dist/lib/neutral/chunk-ZGNNFYHS.mjs +132 -0
  94. package/dist/lib/neutral/chunk-ZGNNFYHS.mjs.map +7 -0
  95. package/dist/lib/neutral/index.mjs +111 -0
  96. package/dist/lib/neutral/index.mjs.map +7 -0
  97. package/dist/lib/neutral/internal/index.mjs +539 -0
  98. package/dist/lib/neutral/internal/index.mjs.map +7 -0
  99. package/dist/lib/neutral/meta.json +1 -0
  100. package/dist/lib/neutral/testing/index.mjs +458 -0
  101. package/dist/lib/neutral/testing/index.mjs.map +7 -0
  102. package/dist/types/src/Annotation.d.ts +128 -0
  103. package/dist/types/src/Annotation.d.ts.map +1 -0
  104. package/dist/types/src/Annotation.test.d.ts +2 -0
  105. package/dist/types/src/Annotation.test.d.ts.map +1 -0
  106. package/dist/types/src/Collection.d.ts +15 -0
  107. package/dist/types/src/Collection.d.ts.map +1 -0
  108. package/dist/types/src/Database.d.ts +208 -0
  109. package/dist/types/src/Database.d.ts.map +1 -0
  110. package/dist/types/src/Dataset.d.ts +29 -0
  111. package/dist/types/src/Dataset.d.ts.map +1 -0
  112. package/dist/types/src/Entity.d.ts +247 -0
  113. package/dist/types/src/Entity.d.ts.map +1 -0
  114. package/dist/types/src/Entity.test.d.ts +2 -0
  115. package/dist/types/src/Entity.test.d.ts.map +1 -0
  116. package/dist/types/src/Err.d.ts +107 -0
  117. package/dist/types/src/Err.d.ts.map +1 -0
  118. package/dist/types/src/Feed.d.ts +229 -0
  119. package/dist/types/src/Feed.d.ts.map +1 -0
  120. package/dist/types/src/Filter.d.ts +175 -0
  121. package/dist/types/src/Filter.d.ts.map +1 -0
  122. package/dist/types/src/Filter.test.d.ts +2 -0
  123. package/dist/types/src/Filter.test.d.ts.map +1 -0
  124. package/dist/types/src/Format.d.ts +2 -0
  125. package/dist/types/src/Format.d.ts.map +1 -0
  126. package/dist/types/src/Hypergraph.d.ts +70 -0
  127. package/dist/types/src/Hypergraph.d.ts.map +1 -0
  128. package/dist/types/src/Json.d.ts +33 -0
  129. package/dist/types/src/Json.d.ts.map +1 -0
  130. package/dist/types/src/Json.test.d.ts +2 -0
  131. package/dist/types/src/Json.test.d.ts.map +1 -0
  132. package/dist/types/src/JsonSchema.d.ts +16 -0
  133. package/dist/types/src/JsonSchema.d.ts.map +1 -0
  134. package/dist/types/src/Key.d.ts +2 -1
  135. package/dist/types/src/Key.d.ts.map +1 -1
  136. package/dist/types/src/Migration.d.ts +72 -0
  137. package/dist/types/src/Migration.d.ts.map +1 -0
  138. package/dist/types/src/Obj.d.ts +483 -110
  139. package/dist/types/src/Obj.d.ts.map +1 -1
  140. package/dist/types/src/Obj.test.d.ts +2 -0
  141. package/dist/types/src/Obj.test.d.ts.map +1 -0
  142. package/dist/types/src/Order.d.ts +26 -0
  143. package/dist/types/src/Order.d.ts.map +1 -0
  144. package/dist/types/src/Query.d.ts +231 -0
  145. package/dist/types/src/Query.d.ts.map +1 -0
  146. package/dist/types/src/Query.test.d.ts +2 -0
  147. package/dist/types/src/Query.test.d.ts.map +1 -0
  148. package/dist/types/src/QueryResult.d.ts +101 -0
  149. package/dist/types/src/QueryResult.d.ts.map +1 -0
  150. package/dist/types/src/Ref.d.ts +69 -11
  151. package/dist/types/src/Ref.d.ts.map +1 -1
  152. package/dist/types/src/Registry.d.ts +131 -0
  153. package/dist/types/src/Registry.d.ts.map +1 -0
  154. package/dist/types/src/Relation.d.ts +321 -23
  155. package/dist/types/src/Relation.d.ts.map +1 -1
  156. package/dist/types/src/Relation.test.d.ts +2 -0
  157. package/dist/types/src/Relation.test.d.ts.map +1 -0
  158. package/dist/types/src/Scope.d.ts +35 -0
  159. package/dist/types/src/Scope.d.ts.map +1 -0
  160. package/dist/types/src/Tag.d.ts +26 -9
  161. package/dist/types/src/Tag.d.ts.map +1 -1
  162. package/dist/types/src/Type.d.ts +397 -106
  163. package/dist/types/src/Type.d.ts.map +1 -1
  164. package/dist/types/src/Type.test.d.ts +2 -0
  165. package/dist/types/src/Type.test.d.ts.map +1 -0
  166. package/dist/types/src/View.d.ts +65 -0
  167. package/dist/types/src/View.d.ts.map +1 -0
  168. package/dist/types/src/exemplars.test.d.ts +2 -0
  169. package/dist/types/src/exemplars.test.d.ts.map +1 -0
  170. package/dist/types/src/hierarchy.test.d.ts +2 -0
  171. package/dist/types/src/hierarchy.test.d.ts.map +1 -0
  172. package/dist/types/src/index.d.ts +21 -5
  173. package/dist/types/src/index.d.ts.map +1 -1
  174. package/dist/types/src/internal/Annotation/annotations.d.ts +272 -0
  175. package/dist/types/src/internal/Annotation/annotations.d.ts.map +1 -0
  176. package/dist/types/src/internal/Annotation/annotations.test.d.ts.map +1 -0
  177. package/dist/types/src/internal/Annotation/dictionary.d.ts +24 -0
  178. package/dist/types/src/internal/Annotation/dictionary.d.ts.map +1 -0
  179. package/dist/types/src/internal/Annotation/entity-dictionary.d.ts +14 -0
  180. package/dist/types/src/internal/Annotation/entity-dictionary.d.ts.map +1 -0
  181. package/dist/types/src/internal/Annotation/index.d.ts +6 -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 +48 -0
  186. package/dist/types/src/internal/Annotation/util.d.ts.map +1 -0
  187. package/dist/types/src/internal/Entity/api.d.ts +27 -0
  188. package/dist/types/src/internal/Entity/api.d.ts.map +1 -0
  189. package/dist/types/src/internal/Entity/entity.d.ts +84 -0
  190. package/dist/types/src/internal/Entity/entity.d.ts.map +1 -0
  191. package/dist/types/src/internal/Entity/guard.d.ts +10 -0
  192. package/dist/types/src/internal/Entity/guard.d.ts.map +1 -0
  193. package/dist/types/src/internal/Entity/index.d.ts +10 -0
  194. package/dist/types/src/internal/Entity/index.d.ts.map +1 -0
  195. package/dist/types/src/internal/Entity/model.d.ts +59 -0
  196. package/dist/types/src/internal/Entity/model.d.ts.map +1 -0
  197. package/dist/types/src/internal/Entity/object.d.ts +18 -0
  198. package/dist/types/src/internal/Entity/object.d.ts.map +1 -0
  199. package/dist/types/src/internal/Entity/relation.d.ts +58 -0
  200. package/dist/types/src/internal/Entity/relation.d.ts.map +1 -0
  201. package/dist/types/src/internal/Entity/type-kind.d.ts +24 -0
  202. package/dist/types/src/internal/Entity/type-kind.d.ts.map +1 -0
  203. package/dist/types/src/internal/Entity/type-uri.d.ts +24 -0
  204. package/dist/types/src/internal/Entity/type-uri.d.ts.map +1 -0
  205. package/dist/types/src/internal/Entity/util.d.ts +2 -0
  206. package/dist/types/src/internal/Entity/util.d.ts.map +1 -0
  207. package/dist/types/src/internal/Entity/version.d.ts +42 -0
  208. package/dist/types/src/internal/Entity/version.d.ts.map +1 -0
  209. package/dist/types/src/internal/Format/date.d.ts.map +1 -0
  210. package/dist/types/src/internal/Format/date.test.d.ts.map +1 -0
  211. package/dist/types/src/internal/{formats → Format}/format.d.ts +7 -4
  212. package/dist/types/src/internal/Format/format.d.ts.map +1 -0
  213. package/dist/types/src/internal/Format/format.test.d.ts.map +1 -0
  214. package/dist/types/src/internal/{formats → Format}/index.d.ts +2 -2
  215. package/dist/types/src/internal/Format/index.d.ts.map +1 -0
  216. package/dist/types/src/internal/Format/number.d.ts.map +1 -0
  217. package/dist/types/src/internal/{formats → Format}/object.d.ts +3 -1
  218. package/dist/types/src/internal/Format/object.d.ts.map +1 -0
  219. package/dist/types/src/internal/{formats → Format}/select.d.ts +6 -4
  220. package/dist/types/src/internal/Format/select.d.ts.map +1 -0
  221. package/dist/types/src/internal/{formats → Format}/string.d.ts +4 -0
  222. package/dist/types/src/internal/Format/string.d.ts.map +1 -0
  223. package/dist/types/src/internal/{formats → Format}/types.d.ts +14 -10
  224. package/dist/types/src/internal/Format/types.d.ts.map +1 -0
  225. package/dist/types/src/internal/{json → JsonSchema}/annotations.d.ts +1 -1
  226. package/dist/types/src/internal/JsonSchema/annotations.d.ts.map +1 -0
  227. package/dist/types/src/internal/JsonSchema/effect-schema.test.d.ts.map +1 -0
  228. package/dist/types/src/internal/JsonSchema/index.d.ts +5 -0
  229. package/dist/types/src/internal/JsonSchema/index.d.ts.map +1 -0
  230. package/dist/types/src/internal/JsonSchema/json-schema-normalize.d.ts.map +1 -0
  231. package/dist/types/src/internal/{json-schema → JsonSchema}/json-schema-type.d.ts +136 -35
  232. package/dist/types/src/internal/JsonSchema/json-schema-type.d.ts.map +1 -0
  233. package/dist/types/src/internal/{json → JsonSchema}/json-schema.d.ts +6 -3
  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.map +1 -0
  236. package/dist/types/src/internal/Obj/atoms.d.ts +38 -0
  237. package/dist/types/src/internal/Obj/atoms.d.ts.map +1 -0
  238. package/dist/types/src/internal/Obj/clone.d.ts +8 -0
  239. package/dist/types/src/internal/Obj/clone.d.ts.map +1 -0
  240. package/dist/types/src/internal/Obj/common.d.ts.map +1 -0
  241. package/dist/types/src/internal/{object/create.d.ts → Obj/create-object.d.ts} +15 -16
  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/index.d.ts +11 -0
  248. package/dist/types/src/internal/Obj/index.d.ts.map +1 -0
  249. package/dist/types/src/internal/Obj/inspect.d.ts.map +1 -0
  250. package/dist/types/src/internal/Obj/json-serializer.d.ts +45 -0
  251. package/dist/types/src/internal/Obj/json-serializer.d.ts.map +1 -0
  252. package/dist/types/src/internal/Obj/json-serializer.test.d.ts.map +1 -0
  253. package/dist/types/src/internal/Obj/schema-validator.d.ts +2 -0
  254. package/dist/types/src/internal/Obj/schema-validator.d.ts.map +1 -0
  255. package/dist/types/src/internal/Obj/schema-validator.test.d.ts.map +1 -0
  256. package/dist/types/src/internal/Obj/set-value.d.ts +7 -0
  257. package/dist/types/src/internal/Obj/set-value.d.ts.map +1 -0
  258. package/dist/types/src/internal/Obj/set-value.test.d.ts +2 -0
  259. package/dist/types/src/internal/Obj/set-value.test.d.ts.map +1 -0
  260. package/dist/types/src/internal/Obj/snapshot.d.ts +6 -0
  261. package/dist/types/src/internal/Obj/snapshot.d.ts.map +1 -0
  262. package/dist/types/src/internal/Obj/typed-object.d.ts +25 -0
  263. package/dist/types/src/internal/Obj/typed-object.d.ts.map +1 -0
  264. package/dist/types/src/internal/Obj/typed-object.test.d.ts.map +1 -0
  265. package/dist/types/src/internal/Query/index.d.ts +2 -0
  266. package/dist/types/src/internal/Query/index.d.ts.map +1 -0
  267. package/dist/types/src/internal/Query/pretty.d.ts +10 -0
  268. package/dist/types/src/internal/Query/pretty.d.ts.map +1 -0
  269. package/dist/types/src/internal/Ref/atoms.d.ts +10 -0
  270. package/dist/types/src/internal/Ref/atoms.d.ts.map +1 -0
  271. package/dist/types/src/internal/Ref/index.d.ts.map +1 -0
  272. package/dist/types/src/internal/Ref/ref-array.d.ts +21 -0
  273. package/dist/types/src/internal/Ref/ref-array.d.ts.map +1 -0
  274. package/dist/types/src/internal/{ref → Ref}/ref.d.ts +88 -32
  275. package/dist/types/src/internal/Ref/ref.d.ts.map +1 -0
  276. package/dist/types/src/internal/Ref/ref.test.d.ts.map +1 -0
  277. package/dist/types/src/internal/Ref/utils.d.ts +8 -0
  278. package/dist/types/src/internal/Ref/utils.d.ts.map +1 -0
  279. package/dist/types/src/internal/Type/compose.d.ts +7 -0
  280. package/dist/types/src/internal/Type/compose.d.ts.map +1 -0
  281. package/dist/types/src/internal/Type/compose.test.d.ts.map +1 -0
  282. package/dist/types/src/internal/Type/index.d.ts +3 -0
  283. package/dist/types/src/internal/Type/index.d.ts.map +1 -0
  284. package/dist/types/src/internal/{schema → Type}/manipulation.d.ts +0 -1
  285. package/dist/types/src/internal/Type/manipulation.d.ts.map +1 -0
  286. package/dist/types/src/internal/Type/type-schema.d.ts +52 -0
  287. package/dist/types/src/internal/Type/type-schema.d.ts.map +1 -0
  288. package/dist/types/src/internal/common/api/index.d.ts +11 -0
  289. package/dist/types/src/internal/common/api/index.d.ts.map +1 -0
  290. package/dist/types/src/internal/common/api/meta.d.ts +45 -0
  291. package/dist/types/src/internal/common/api/meta.d.ts.map +1 -0
  292. package/dist/types/src/internal/common/index.d.ts +4 -0
  293. package/dist/types/src/internal/common/index.d.ts.map +1 -0
  294. package/dist/types/src/internal/common/proxy/change-context.d.ts +55 -0
  295. package/dist/types/src/internal/common/proxy/change-context.d.ts.map +1 -0
  296. package/dist/types/src/internal/common/proxy/change.test.d.ts +2 -0
  297. package/dist/types/src/internal/common/proxy/change.test.d.ts.map +1 -0
  298. package/dist/types/src/internal/common/proxy/define-hidden-property.d.ts +5 -0
  299. package/dist/types/src/internal/common/proxy/define-hidden-property.d.ts.map +1 -0
  300. package/dist/types/src/internal/common/proxy/errors.d.ts +19 -0
  301. package/dist/types/src/internal/common/proxy/errors.d.ts.map +1 -0
  302. package/dist/types/src/internal/common/proxy/event-batch.d.ts +10 -0
  303. package/dist/types/src/internal/common/proxy/event-batch.d.ts.map +1 -0
  304. package/dist/types/src/internal/common/proxy/handler.test.d.ts.map +1 -0
  305. package/dist/types/src/internal/common/proxy/index.d.ts +14 -0
  306. package/dist/types/src/internal/common/proxy/index.d.ts.map +1 -0
  307. package/dist/types/src/internal/common/proxy/json-serializer.d.ts +6 -0
  308. package/dist/types/src/internal/common/proxy/json-serializer.d.ts.map +1 -0
  309. package/dist/types/src/internal/common/proxy/make-object.d.ts +20 -0
  310. package/dist/types/src/internal/common/proxy/make-object.d.ts.map +1 -0
  311. package/dist/types/src/internal/common/proxy/ownership.d.ts +57 -0
  312. package/dist/types/src/internal/common/proxy/ownership.d.ts.map +1 -0
  313. package/dist/types/src/internal/common/proxy/proxy-types.d.ts +18 -0
  314. package/dist/types/src/internal/common/proxy/proxy-types.d.ts.map +1 -0
  315. package/dist/types/src/internal/common/proxy/proxy-utils.d.ts +47 -0
  316. package/dist/types/src/internal/common/proxy/proxy-utils.d.ts.map +1 -0
  317. package/dist/types/src/internal/common/proxy/reactive-array.d.ts +8 -0
  318. package/dist/types/src/internal/common/proxy/reactive-array.d.ts.map +1 -0
  319. package/dist/types/src/internal/common/proxy/reactive.d.ts +39 -0
  320. package/dist/types/src/internal/common/proxy/reactive.d.ts.map +1 -0
  321. package/dist/types/src/internal/common/proxy/reactive.test.d.ts +2 -0
  322. package/dist/types/src/internal/common/proxy/reactive.test.d.ts.map +1 -0
  323. package/dist/types/src/internal/common/proxy/schema-validator.d.ts.map +1 -0
  324. package/dist/types/src/internal/common/proxy/schema.test.d.ts.map +1 -0
  325. package/dist/types/src/internal/common/proxy/symbols.d.ts +3 -0
  326. package/dist/types/src/internal/common/proxy/symbols.d.ts.map +1 -0
  327. package/dist/types/src/internal/common/proxy/typed-handler.d.ts +64 -0
  328. package/dist/types/src/internal/common/proxy/typed-handler.d.ts.map +1 -0
  329. package/dist/types/src/internal/common/proxy/typed-handler.test.d.ts.map +1 -0
  330. package/dist/types/src/internal/common/proxy/typed-object.test.d.ts.map +1 -0
  331. package/dist/types/src/internal/common/types/base.d.ts +27 -0
  332. package/dist/types/src/internal/common/types/base.d.ts.map +1 -0
  333. package/dist/types/src/internal/common/types/entity.d.ts +94 -0
  334. package/dist/types/src/internal/common/types/entity.d.ts.map +1 -0
  335. package/dist/types/src/internal/common/types/index.d.ts +7 -0
  336. package/dist/types/src/internal/common/types/index.d.ts.map +1 -0
  337. package/dist/types/src/internal/common/types/meta.d.ts +54 -0
  338. package/dist/types/src/internal/common/types/meta.d.ts.map +1 -0
  339. package/dist/types/src/internal/common/types/model-symbols.d.ts +65 -0
  340. package/dist/types/src/internal/common/types/model-symbols.d.ts.map +1 -0
  341. package/dist/types/src/internal/common/types/typename.d.ts +28 -0
  342. package/dist/types/src/internal/common/types/typename.d.ts.map +1 -0
  343. package/dist/types/src/internal/common/types/version.d.ts +15 -0
  344. package/dist/types/src/internal/common/types/version.d.ts.map +1 -0
  345. package/dist/types/src/internal/common/types/well-known-types.d.ts +11 -0
  346. package/dist/types/src/internal/common/types/well-known-types.d.ts.map +1 -0
  347. package/dist/types/src/internal/index.d.ts +10 -14
  348. package/dist/types/src/internal/index.d.ts.map +1 -1
  349. package/dist/types/src/{test → testing}/api.test.d.ts.map +1 -1
  350. package/dist/types/src/testing/index.d.ts +4 -3
  351. package/dist/types/src/testing/index.d.ts.map +1 -1
  352. package/dist/types/src/testing/registry.d.ts +9 -0
  353. package/dist/types/src/testing/registry.d.ts.map +1 -0
  354. package/dist/types/src/testing/test-data.d.ts +18 -0
  355. package/dist/types/src/testing/test-data.d.ts.map +1 -0
  356. package/dist/types/src/testing/test-schema.d.ts +298 -0
  357. package/dist/types/src/testing/test-schema.d.ts.map +1 -0
  358. package/dist/types/src/testing/util.d.ts +23 -0
  359. package/dist/types/src/testing/util.d.ts.map +1 -0
  360. package/dist/types/tsconfig.tsbuildinfo +1 -1
  361. package/package.json +119 -66
  362. package/src/Annotation.test.ts +439 -0
  363. package/src/Annotation.ts +202 -0
  364. package/src/Collection.ts +33 -0
  365. package/src/Database.ts +345 -0
  366. package/src/Dataset.ts +34 -0
  367. package/src/Entity.test.ts +132 -0
  368. package/src/Entity.ts +345 -0
  369. package/src/Err.ts +40 -0
  370. package/src/Feed.ts +352 -0
  371. package/src/Filter.test.ts +90 -0
  372. package/src/Filter.ts +484 -0
  373. package/src/Format.ts +5 -0
  374. package/src/Hypergraph.ts +84 -0
  375. package/src/Json.test.ts +175 -0
  376. package/src/Json.ts +103 -0
  377. package/src/JsonSchema.ts +26 -0
  378. package/src/Key.ts +4 -1
  379. package/src/Migration.ts +114 -0
  380. package/src/Obj.test.ts +641 -0
  381. package/src/Obj.ts +778 -281
  382. package/src/Order.ts +68 -0
  383. package/src/Query.test.ts +835 -0
  384. package/src/Query.ts +634 -0
  385. package/src/QueryResult.ts +132 -0
  386. package/src/Ref.ts +98 -10
  387. package/src/Registry.ts +155 -0
  388. package/src/Relation.test.ts +88 -0
  389. package/src/Relation.ts +503 -67
  390. package/src/Scope.ts +50 -0
  391. package/src/Tag.md +88 -0
  392. package/src/Tag.ts +53 -8
  393. package/src/Type.test.ts +257 -0
  394. package/src/Type.ts +643 -151
  395. package/src/View.ts +98 -0
  396. package/src/exemplars.test.ts +21 -0
  397. package/src/hierarchy.test.ts +33 -0
  398. package/src/index.ts +22 -6
  399. package/src/internal/Annotation/annotations.test.ts +165 -0
  400. package/src/internal/Annotation/annotations.ts +609 -0
  401. package/src/internal/Annotation/dictionary.ts +47 -0
  402. package/src/internal/Annotation/entity-dictionary.ts +74 -0
  403. package/src/internal/Annotation/index.ts +9 -0
  404. package/src/internal/Annotation/sorting.ts +51 -0
  405. package/src/internal/Annotation/util.ts +94 -0
  406. package/src/internal/Entity/api.ts +77 -0
  407. package/src/internal/Entity/entity.ts +277 -0
  408. package/src/internal/Entity/guard.ts +26 -0
  409. package/src/internal/Entity/index.ts +13 -0
  410. package/src/internal/Entity/model.ts +119 -0
  411. package/src/internal/Entity/object.ts +73 -0
  412. package/src/internal/Entity/relation.ts +188 -0
  413. package/src/internal/Entity/type-kind.ts +75 -0
  414. package/src/internal/Entity/type-uri.ts +92 -0
  415. package/src/internal/Entity/util.ts +33 -0
  416. package/src/internal/Entity/version.ts +96 -0
  417. package/src/internal/{formats → Format}/date.test.ts +1 -2
  418. package/src/internal/{formats → Format}/date.ts +5 -9
  419. package/src/internal/{formats → Format}/format.test.ts +27 -7
  420. package/src/internal/{formats → Format}/format.ts +8 -6
  421. package/src/internal/{formats → Format}/index.ts +2 -3
  422. package/src/internal/{formats → Format}/number.ts +5 -5
  423. package/src/internal/{formats → Format}/object.ts +23 -6
  424. package/src/internal/{formats → Format}/select.ts +6 -4
  425. package/src/internal/{formats → Format}/string.ts +14 -9
  426. package/src/internal/{formats → Format}/types.ts +54 -43
  427. package/src/internal/{json → JsonSchema}/annotations.ts +3 -3
  428. package/src/internal/{json-schema → JsonSchema}/index.ts +2 -0
  429. package/src/internal/{json-schema → JsonSchema}/json-schema-normalize.ts +4 -2
  430. package/src/internal/{json-schema → JsonSchema}/json-schema-type.ts +39 -39
  431. package/src/internal/{json → JsonSchema}/json-schema.test.ts +119 -182
  432. package/src/internal/{json → JsonSchema}/json-schema.ts +70 -42
  433. package/src/internal/Obj/atoms.ts +244 -0
  434. package/src/internal/Obj/clone.ts +53 -0
  435. package/src/internal/{object → Obj}/common.ts +3 -4
  436. package/src/internal/Obj/create-object.test.ts +116 -0
  437. package/src/internal/Obj/create-object.ts +140 -0
  438. package/src/internal/Obj/deleted.ts +19 -0
  439. package/src/internal/Obj/index.ts +14 -0
  440. package/src/internal/{object → Obj}/inspect.ts +7 -7
  441. package/src/internal/Obj/json-serializer.test.ts +199 -0
  442. package/src/internal/Obj/json-serializer.ts +278 -0
  443. package/src/internal/{object → Obj}/schema-validator.test.ts +3 -7
  444. package/src/internal/Obj/schema-validator.ts +6 -0
  445. package/src/internal/Obj/set-value.test.ts +258 -0
  446. package/src/internal/Obj/set-value.ts +158 -0
  447. package/src/internal/Obj/snapshot.ts +114 -0
  448. package/src/internal/Obj/typed-object.test.ts +32 -0
  449. package/src/internal/Obj/typed-object.ts +30 -0
  450. package/src/internal/{json → Query}/index.ts +1 -1
  451. package/src/internal/Query/pretty.ts +162 -0
  452. package/src/internal/Ref/atoms.ts +20 -0
  453. package/src/internal/{ref → Ref}/ref-array.ts +6 -7
  454. package/src/internal/Ref/ref.test.ts +91 -0
  455. package/src/internal/{ref → Ref}/ref.ts +230 -101
  456. package/src/internal/Ref/utils.ts +45 -0
  457. package/src/internal/{projection → Type}/compose.test.ts +9 -9
  458. package/src/internal/{projection → Type}/compose.ts +14 -9
  459. package/src/internal/Type/index.ts +6 -0
  460. package/src/internal/{schema → Type}/manipulation.ts +0 -25
  461. package/src/internal/Type/type-schema.ts +60 -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 +90 -0
  465. package/src/internal/{testing → common}/index.ts +2 -1
  466. package/src/internal/common/proxy/change-context.ts +138 -0
  467. package/src/internal/common/proxy/change.test.ts +527 -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 +101 -0
  474. package/src/internal/common/proxy/make-object.ts +129 -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/{object → common/proxy}/schema-validator.ts +6 -3
  482. package/src/internal/common/proxy/schema.test.ts +107 -0
  483. package/src/internal/common/proxy/symbols.ts +7 -0
  484. package/src/internal/common/proxy/typed-handler.test.ts +314 -0
  485. package/src/internal/common/proxy/typed-handler.ts +509 -0
  486. package/src/internal/common/proxy/typed-object.test.ts +103 -0
  487. package/src/internal/common/types/base.ts +43 -0
  488. package/src/internal/common/types/entity.ts +133 -0
  489. package/src/internal/common/types/index.ts +15 -0
  490. package/src/internal/common/types/meta.ts +109 -0
  491. package/src/internal/common/types/model-symbols.ts +89 -0
  492. package/src/internal/common/types/typename.ts +91 -0
  493. package/src/internal/common/types/version.ts +19 -0
  494. package/src/internal/common/types/well-known-types.ts +15 -0
  495. package/src/internal/index.ts +14 -17
  496. package/src/testing/api.test.ts +131 -0
  497. package/src/testing/index.ts +4 -3
  498. package/src/testing/registry.ts +44 -0
  499. package/src/testing/test-data.ts +189 -0
  500. package/src/testing/test-schema.ts +204 -0
  501. package/src/testing/util.ts +88 -0
  502. package/dist/lib/browser/chunk-BIDAASFK.mjs +0 -3727
  503. package/dist/lib/browser/chunk-BIDAASFK.mjs.map +0 -7
  504. package/dist/lib/browser/chunk-ZDLCWGEW.mjs +0 -410
  505. package/dist/lib/browser/chunk-ZDLCWGEW.mjs.map +0 -7
  506. package/dist/lib/browser/chunk-ZFRJKT4A.mjs +0 -585
  507. package/dist/lib/browser/chunk-ZFRJKT4A.mjs.map +0 -7
  508. package/dist/lib/browser/index.mjs +0 -35
  509. package/dist/lib/browser/internal/index.mjs +0 -336
  510. package/dist/lib/browser/meta.json +0 -1
  511. package/dist/lib/browser/query/index.mjs +0 -13
  512. package/dist/lib/browser/testing/index.mjs +0 -267
  513. package/dist/lib/browser/testing/index.mjs.map +0 -7
  514. package/dist/lib/node-esm/chunk-3SVRRCUU.mjs +0 -3727
  515. package/dist/lib/node-esm/chunk-3SVRRCUU.mjs.map +0 -7
  516. package/dist/lib/node-esm/chunk-CGDHRZWH.mjs +0 -585
  517. package/dist/lib/node-esm/chunk-CGDHRZWH.mjs.map +0 -7
  518. package/dist/lib/node-esm/chunk-HWS6VBQC.mjs +0 -410
  519. package/dist/lib/node-esm/chunk-HWS6VBQC.mjs.map +0 -7
  520. package/dist/lib/node-esm/index.mjs +0 -35
  521. package/dist/lib/node-esm/internal/index.mjs +0 -336
  522. package/dist/lib/node-esm/meta.json +0 -1
  523. package/dist/lib/node-esm/query/index.mjs +0 -13
  524. package/dist/lib/node-esm/testing/index.mjs +0 -267
  525. package/dist/lib/node-esm/testing/index.mjs.map +0 -7
  526. package/dist/types/src/errors.d.ts +0 -68
  527. package/dist/types/src/errors.d.ts.map +0 -1
  528. package/dist/types/src/internal/ast/annotation-helper.d.ts +0 -8
  529. package/dist/types/src/internal/ast/annotation-helper.d.ts.map +0 -1
  530. package/dist/types/src/internal/ast/annotations.d.ts +0 -131
  531. package/dist/types/src/internal/ast/annotations.d.ts.map +0 -1
  532. package/dist/types/src/internal/ast/annotations.test.d.ts.map +0 -1
  533. package/dist/types/src/internal/ast/entity-kind.d.ts +0 -10
  534. package/dist/types/src/internal/ast/entity-kind.d.ts.map +0 -1
  535. package/dist/types/src/internal/ast/index.d.ts +0 -5
  536. package/dist/types/src/internal/ast/index.d.ts.map +0 -1
  537. package/dist/types/src/internal/ast/types.d.ts +0 -6
  538. package/dist/types/src/internal/ast/types.d.ts.map +0 -1
  539. package/dist/types/src/internal/formats/date.d.ts.map +0 -1
  540. package/dist/types/src/internal/formats/date.test.d.ts.map +0 -1
  541. package/dist/types/src/internal/formats/format.d.ts.map +0 -1
  542. package/dist/types/src/internal/formats/format.test.d.ts.map +0 -1
  543. package/dist/types/src/internal/formats/index.d.ts.map +0 -1
  544. package/dist/types/src/internal/formats/number.d.ts.map +0 -1
  545. package/dist/types/src/internal/formats/object.d.ts.map +0 -1
  546. package/dist/types/src/internal/formats/select.d.ts.map +0 -1
  547. package/dist/types/src/internal/formats/string.d.ts.map +0 -1
  548. package/dist/types/src/internal/formats/types.d.ts.map +0 -1
  549. package/dist/types/src/internal/json/annotations.d.ts.map +0 -1
  550. package/dist/types/src/internal/json/effect-schema.test.d.ts.map +0 -1
  551. package/dist/types/src/internal/json/index.d.ts +0 -2
  552. package/dist/types/src/internal/json/index.d.ts.map +0 -1
  553. package/dist/types/src/internal/json/json-schema.d.ts.map +0 -1
  554. package/dist/types/src/internal/json/json-schema.test.d.ts.map +0 -1
  555. package/dist/types/src/internal/json-schema/index.d.ts +0 -3
  556. package/dist/types/src/internal/json-schema/index.d.ts.map +0 -1
  557. package/dist/types/src/internal/json-schema/json-schema-normalize.d.ts.map +0 -1
  558. package/dist/types/src/internal/json-schema/json-schema-type.d.ts.map +0 -1
  559. package/dist/types/src/internal/object/accessors.d.ts +0 -37
  560. package/dist/types/src/internal/object/accessors.d.ts.map +0 -1
  561. package/dist/types/src/internal/object/common.d.ts.map +0 -1
  562. package/dist/types/src/internal/object/create.d.ts.map +0 -1
  563. package/dist/types/src/internal/object/create.test.d.ts +0 -2
  564. package/dist/types/src/internal/object/create.test.d.ts.map +0 -1
  565. package/dist/types/src/internal/object/deleted.d.ts +0 -6
  566. package/dist/types/src/internal/object/deleted.d.ts.map +0 -1
  567. package/dist/types/src/internal/object/entity.d.ts +0 -33
  568. package/dist/types/src/internal/object/entity.d.ts.map +0 -1
  569. package/dist/types/src/internal/object/expando.d.ts +0 -14
  570. package/dist/types/src/internal/object/expando.d.ts.map +0 -1
  571. package/dist/types/src/internal/object/ids.d.ts +0 -6
  572. package/dist/types/src/internal/object/ids.d.ts.map +0 -1
  573. package/dist/types/src/internal/object/index.d.ts +0 -16
  574. package/dist/types/src/internal/object/index.d.ts.map +0 -1
  575. package/dist/types/src/internal/object/inspect.d.ts.map +0 -1
  576. package/dist/types/src/internal/object/json-serializer.d.ts +0 -32
  577. package/dist/types/src/internal/object/json-serializer.d.ts.map +0 -1
  578. package/dist/types/src/internal/object/json-serializer.test.d.ts.map +0 -1
  579. package/dist/types/src/internal/object/meta.d.ts +0 -31
  580. package/dist/types/src/internal/object/meta.d.ts.map +0 -1
  581. package/dist/types/src/internal/object/model.d.ts +0 -117
  582. package/dist/types/src/internal/object/model.d.ts.map +0 -1
  583. package/dist/types/src/internal/object/relation.d.ts +0 -17
  584. package/dist/types/src/internal/object/relation.d.ts.map +0 -1
  585. package/dist/types/src/internal/object/schema-validator.d.ts.map +0 -1
  586. package/dist/types/src/internal/object/schema-validator.test.d.ts.map +0 -1
  587. package/dist/types/src/internal/object/typed-object.d.ts +0 -31
  588. package/dist/types/src/internal/object/typed-object.d.ts.map +0 -1
  589. package/dist/types/src/internal/object/typed-object.test.d.ts.map +0 -1
  590. package/dist/types/src/internal/object/typename.d.ts +0 -15
  591. package/dist/types/src/internal/object/typename.d.ts.map +0 -1
  592. package/dist/types/src/internal/object/version.d.ts +0 -14
  593. package/dist/types/src/internal/object/version.d.ts.map +0 -1
  594. package/dist/types/src/internal/projection/compose.d.ts +0 -6
  595. package/dist/types/src/internal/projection/compose.d.ts.map +0 -1
  596. package/dist/types/src/internal/projection/compose.test.d.ts.map +0 -1
  597. package/dist/types/src/internal/projection/index.d.ts +0 -2
  598. package/dist/types/src/internal/projection/index.d.ts.map +0 -1
  599. package/dist/types/src/internal/proxy/handler.test.d.ts.map +0 -1
  600. package/dist/types/src/internal/proxy/reactive-object.d.ts +0 -15
  601. package/dist/types/src/internal/proxy/reactive-object.d.ts.map +0 -1
  602. package/dist/types/src/internal/proxy/schema.test.d.ts.map +0 -1
  603. package/dist/types/src/internal/proxy/typed-handler.d.ts +0 -44
  604. package/dist/types/src/internal/proxy/typed-handler.d.ts.map +0 -1
  605. package/dist/types/src/internal/proxy/typed-handler.test.d.ts.map +0 -1
  606. package/dist/types/src/internal/proxy/typed-object.test.d.ts.map +0 -1
  607. package/dist/types/src/internal/query/index.d.ts +0 -2
  608. package/dist/types/src/internal/query/index.d.ts.map +0 -1
  609. package/dist/types/src/internal/query/query.d.ts +0 -17
  610. package/dist/types/src/internal/query/query.d.ts.map +0 -1
  611. package/dist/types/src/internal/ref/index.d.ts.map +0 -1
  612. package/dist/types/src/internal/ref/ref-array.d.ts +0 -21
  613. package/dist/types/src/internal/ref/ref-array.d.ts.map +0 -1
  614. package/dist/types/src/internal/ref/ref.d.ts.map +0 -1
  615. package/dist/types/src/internal/ref/ref.test.d.ts.map +0 -1
  616. package/dist/types/src/internal/schema/echo-schema.d.ts +0 -168
  617. package/dist/types/src/internal/schema/echo-schema.d.ts.map +0 -1
  618. package/dist/types/src/internal/schema/index.d.ts +0 -7
  619. package/dist/types/src/internal/schema/index.d.ts.map +0 -1
  620. package/dist/types/src/internal/schema/manipulation.d.ts.map +0 -1
  621. package/dist/types/src/internal/schema/runtime-schema-registry.d.ts +0 -18
  622. package/dist/types/src/internal/schema/runtime-schema-registry.d.ts.map +0 -1
  623. package/dist/types/src/internal/schema/snapshot.d.ts +0 -6
  624. package/dist/types/src/internal/schema/snapshot.d.ts.map +0 -1
  625. package/dist/types/src/internal/schema/stored-schema.d.ts +0 -13
  626. package/dist/types/src/internal/schema/stored-schema.d.ts.map +0 -1
  627. package/dist/types/src/internal/testing/index.d.ts +0 -3
  628. package/dist/types/src/internal/testing/index.d.ts.map +0 -1
  629. package/dist/types/src/internal/testing/types.d.ts +0 -381
  630. package/dist/types/src/internal/testing/types.d.ts.map +0 -1
  631. package/dist/types/src/internal/testing/utils.d.ts +0 -10
  632. package/dist/types/src/internal/testing/utils.d.ts.map +0 -1
  633. package/dist/types/src/internal/types/index.d.ts +0 -3
  634. package/dist/types/src/internal/types/index.d.ts.map +0 -1
  635. package/dist/types/src/internal/types/types.d.ts +0 -79
  636. package/dist/types/src/internal/types/types.d.ts.map +0 -1
  637. package/dist/types/src/internal/types/types.test.d.ts +0 -2
  638. package/dist/types/src/internal/types/types.test.d.ts.map +0 -1
  639. package/dist/types/src/internal/types/util.d.ts +0 -5
  640. package/dist/types/src/internal/types/util.d.ts.map +0 -1
  641. package/dist/types/src/query/index.d.ts +0 -2
  642. package/dist/types/src/query/index.d.ts.map +0 -1
  643. package/dist/types/src/query/query.d.ts +0 -248
  644. package/dist/types/src/query/query.d.ts.map +0 -1
  645. package/dist/types/src/query/query.test.d.ts +0 -2
  646. package/dist/types/src/query/query.test.d.ts.map +0 -1
  647. package/dist/types/src/testing/echo-schema.d.ts +0 -7
  648. package/dist/types/src/testing/echo-schema.d.ts.map +0 -1
  649. package/dist/types/src/testing/types.d.ts +0 -228
  650. package/dist/types/src/testing/types.d.ts.map +0 -1
  651. package/src/errors.ts +0 -18
  652. package/src/internal/ast/annotation-helper.ts +0 -22
  653. package/src/internal/ast/annotations.test.ts +0 -98
  654. package/src/internal/ast/annotations.ts +0 -226
  655. package/src/internal/ast/entity-kind.ts +0 -15
  656. package/src/internal/ast/index.ts +0 -8
  657. package/src/internal/ast/types.ts +0 -17
  658. package/src/internal/object/accessors.ts +0 -153
  659. package/src/internal/object/create.test.ts +0 -118
  660. package/src/internal/object/create.ts +0 -96
  661. package/src/internal/object/deleted.ts +0 -19
  662. package/src/internal/object/entity.ts +0 -248
  663. package/src/internal/object/expando.ts +0 -21
  664. package/src/internal/object/ids.ts +0 -12
  665. package/src/internal/object/index.ts +0 -19
  666. package/src/internal/object/json-serializer.test.ts +0 -99
  667. package/src/internal/object/json-serializer.ts +0 -225
  668. package/src/internal/object/meta.ts +0 -61
  669. package/src/internal/object/model.ts +0 -170
  670. package/src/internal/object/relation.ts +0 -24
  671. package/src/internal/object/typed-object.test.ts +0 -34
  672. package/src/internal/object/typed-object.ts +0 -88
  673. package/src/internal/object/typename.ts +0 -61
  674. package/src/internal/object/version.ts +0 -22
  675. package/src/internal/projection/index.ts +0 -5
  676. package/src/internal/proxy/handler.test.ts +0 -163
  677. package/src/internal/proxy/reactive-object.ts +0 -108
  678. package/src/internal/proxy/schema.test.ts +0 -136
  679. package/src/internal/proxy/typed-handler.test.ts +0 -102
  680. package/src/internal/proxy/typed-handler.ts +0 -228
  681. package/src/internal/proxy/typed-object.test.ts +0 -100
  682. package/src/internal/query/index.ts +0 -5
  683. package/src/internal/query/query.ts +0 -23
  684. package/src/internal/ref/ref.test.ts +0 -100
  685. package/src/internal/schema/echo-schema.ts +0 -383
  686. package/src/internal/schema/index.ts +0 -10
  687. package/src/internal/schema/runtime-schema-registry.ts +0 -78
  688. package/src/internal/schema/snapshot.ts +0 -25
  689. package/src/internal/schema/stored-schema.ts +0 -26
  690. package/src/internal/testing/types.ts +0 -144
  691. package/src/internal/testing/utils.ts +0 -54
  692. package/src/internal/types/index.ts +0 -6
  693. package/src/internal/types/types.test.ts +0 -48
  694. package/src/internal/types/types.ts +0 -176
  695. package/src/internal/types/util.ts +0 -9
  696. package/src/query/index.ts +0 -6
  697. package/src/query/query.test.ts +0 -401
  698. package/src/query/query.ts +0 -789
  699. package/src/test/api.test.ts +0 -180
  700. package/src/testing/echo-schema.ts +0 -39
  701. package/src/testing/types.ts +0 -108
  702. /package/dist/lib/{browser/index.mjs.map → neutral/Annotation.mjs.map} +0 -0
  703. /package/dist/lib/{browser/internal/index.mjs.map → neutral/Database.mjs.map} +0 -0
  704. /package/dist/lib/{browser/query/index.mjs.map → neutral/Entity.mjs.map} +0 -0
  705. /package/dist/lib/{node-esm/index.mjs.map → neutral/Err.mjs.map} +0 -0
  706. /package/dist/lib/{node-esm/internal/index.mjs.map → neutral/Feed.mjs.map} +0 -0
  707. /package/dist/lib/{node-esm/query/index.mjs.map → neutral/Filter.mjs.map} +0 -0
  708. /package/dist/types/src/internal/{ast → Annotation}/annotations.test.d.ts +0 -0
  709. /package/dist/types/src/internal/{formats → Format}/date.d.ts +0 -0
  710. /package/dist/types/src/internal/{formats → Format}/date.test.d.ts +0 -0
  711. /package/dist/types/src/internal/{formats → Format}/format.test.d.ts +0 -0
  712. /package/dist/types/src/internal/{formats → Format}/number.d.ts +0 -0
  713. /package/dist/types/src/internal/{json → JsonSchema}/effect-schema.test.d.ts +0 -0
  714. /package/dist/types/src/internal/{json-schema → JsonSchema}/json-schema-normalize.d.ts +0 -0
  715. /package/dist/types/src/internal/{json → JsonSchema}/json-schema.test.d.ts +0 -0
  716. /package/dist/types/src/internal/{object → Obj}/common.d.ts +0 -0
  717. /package/dist/types/src/internal/{object → Obj}/inspect.d.ts +0 -0
  718. /package/dist/types/src/internal/{object → Obj}/json-serializer.test.d.ts +0 -0
  719. /package/dist/types/src/internal/{object → Obj}/schema-validator.test.d.ts +0 -0
  720. /package/dist/types/src/internal/{object → Obj}/typed-object.test.d.ts +0 -0
  721. /package/dist/types/src/internal/{ref → Ref}/index.d.ts +0 -0
  722. /package/dist/types/src/internal/{ref → Ref}/ref.test.d.ts +0 -0
  723. /package/dist/types/src/internal/{projection → Type}/compose.test.d.ts +0 -0
  724. /package/dist/types/src/internal/{proxy → common/proxy}/handler.test.d.ts +0 -0
  725. /package/dist/types/src/internal/{object → common/proxy}/schema-validator.d.ts +0 -0
  726. /package/dist/types/src/internal/{proxy → common/proxy}/schema.test.d.ts +0 -0
  727. /package/dist/types/src/internal/{proxy → common/proxy}/typed-handler.test.d.ts +0 -0
  728. /package/dist/types/src/internal/{proxy → common/proxy}/typed-object.test.d.ts +0 -0
  729. /package/dist/types/src/{test → testing}/api.test.d.ts +0 -0
  730. /package/src/internal/{json → JsonSchema}/effect-schema.test.ts +0 -0
  731. /package/src/internal/{ref → Ref}/index.ts +0 -0
@@ -0,0 +1,678 @@
1
+ import {
2
+ EntityKind,
3
+ KindId,
4
+ createAnnotationHelper,
5
+ getStaticTypeSchema
6
+ } from "./chunk-O6BH7EPN.mjs";
7
+ import {
8
+ EntityNotFoundError
9
+ } from "./chunk-BBFJWWAV.mjs";
10
+ import {
11
+ __export
12
+ } from "./chunk-J5LGTIGS.mjs";
13
+
14
+ // src/Database.ts
15
+ var Database_exports = {};
16
+ __export(Database_exports, {
17
+ Database: () => Database,
18
+ Service: () => Service,
19
+ TypeId: () => TypeId2,
20
+ add: () => add,
21
+ addType: () => addType,
22
+ flush: () => flush,
23
+ isDatabase: () => isDatabase,
24
+ layer: () => layer,
25
+ load: () => load,
26
+ makeService: () => makeService,
27
+ notAvailable: () => notAvailable,
28
+ query: () => query,
29
+ remove: () => remove,
30
+ resolve: () => resolve,
31
+ spaceId: () => spaceId
32
+ });
33
+ import * as Context from "effect/Context";
34
+ import * as Effect from "effect/Effect";
35
+ import * as Effectable from "effect/Effectable";
36
+ import * as Layer from "effect/Layer";
37
+ import * as Option3 from "effect/Option";
38
+ import * as Schema5 from "effect/Schema";
39
+ import { EffectEx } from "@dxos/effect";
40
+ import { invariant as invariant5 } from "@dxos/invariant";
41
+
42
+ // src/internal/Entity/type-uri.ts
43
+ import * as Schema4 from "effect/Schema";
44
+ import { raise } from "@dxos/debug";
45
+ import { assertArgument as assertArgument3 } from "@dxos/invariant";
46
+ import { DXN as DXN3, EID as EID4, URI as URI3 } from "@dxos/keys";
47
+
48
+ // src/internal/Annotation/annotations.ts
49
+ import * as Function2 from "effect/Function";
50
+ import * as Option2 from "effect/Option";
51
+ import * as Schema2 from "effect/Schema";
52
+ import * as SchemaAST from "effect/SchemaAST";
53
+ import { SchemaEx } from "@dxos/effect";
54
+ import { assertArgument, invariant } from "@dxos/invariant";
55
+ import { DXN, URI } from "@dxos/keys";
56
+
57
+ // src/internal/common/types/model-symbols.ts
58
+ var ATTR_SELF_URI = "@uri";
59
+ var ATTR_SELF_URI_LEGACY = "@dxn";
60
+ var SelfURIId = /* @__PURE__ */ Symbol.for("@dxos/echo/URI");
61
+ var ATTR_DELETED = "@deleted";
62
+ var ObjectDeletedId = /* @__PURE__ */ Symbol.for("@dxos/echo/Deleted");
63
+ var ObjectVersionId = /* @__PURE__ */ Symbol.for("@dxos/echo/Version");
64
+ var ObjectDatabaseId = /* @__PURE__ */ Symbol.for("@dxos/echo/Database");
65
+ var ATTR_RELATION_SOURCE = "@relationSource";
66
+ var RelationSourceId = /* @__PURE__ */ Symbol.for("@dxos/echo/RelationSource");
67
+ var RelationSourceDXNId = /* @__PURE__ */ Symbol.for("@dxos/echo/RelationSourceDXN");
68
+ var ATTR_RELATION_TARGET = "@relationTarget";
69
+ var RelationTargetId = /* @__PURE__ */ Symbol.for("@dxos/echo/RelationTarget");
70
+ var RelationTargetDXNId = /* @__PURE__ */ Symbol.for("@dxos/echo/RelationTargetDXN");
71
+ var MetaId = /* @__PURE__ */ Symbol.for("@dxos/echo/Meta");
72
+
73
+ // src/internal/common/types/typename.ts
74
+ var ATTR_TYPE = "@type";
75
+ var TypeId = /* @__PURE__ */ Symbol.for("@dxos/echo/Type");
76
+ var SchemaId = /* @__PURE__ */ Symbol.for("@dxos/echo/Schema");
77
+ var ATTR_PARENT = "@parent";
78
+ var ParentId = /* @__PURE__ */ Symbol.for("@dxos/echo/Parent");
79
+ var TypeEntityId = /* @__PURE__ */ Symbol.for("@dxos/echo/TypeEntity");
80
+ var getSchema = (obj) => {
81
+ if (obj) {
82
+ return obj[SchemaId];
83
+ }
84
+ };
85
+ var setSchema = (obj, schema) => {
86
+ Object.defineProperty(obj, SchemaId, {
87
+ value: schema,
88
+ writable: false,
89
+ enumerable: false,
90
+ configurable: false
91
+ });
92
+ };
93
+ var getType = (obj) => {
94
+ if (obj == null) {
95
+ return void 0;
96
+ }
97
+ return obj[TypeEntityId];
98
+ };
99
+ var setType = (obj, type) => {
100
+ Object.defineProperty(obj, TypeEntityId, {
101
+ value: type,
102
+ writable: false,
103
+ enumerable: false,
104
+ configurable: true
105
+ });
106
+ };
107
+
108
+ // src/internal/Annotation/dictionary.ts
109
+ import * as Function from "effect/Function";
110
+ import * as Option from "effect/Option";
111
+ import * as Schema from "effect/Schema";
112
+ var Key = Schema.String.pipe(Schema.brand("~@dxos/echo/AnnotationKey"));
113
+ var Dictionary = Schema.Record({
114
+ key: Key,
115
+ value: Schema.Unknown
116
+ });
117
+ var getDictionary = (values, annotation) => {
118
+ if (!(annotation.key in values)) {
119
+ return Option.none();
120
+ }
121
+ return Function.pipe(values[annotation.key], Schema.decodeUnknownSync(annotation.schema), Option.some);
122
+ };
123
+ var setDictionary = (values, annotation, value) => {
124
+ values[annotation.key] = Schema.encodeSync(annotation.schema)(value);
125
+ };
126
+
127
+ // src/internal/Annotation/annotations.ts
128
+ var __dxlog_file = "/__w/dxos/dxos/packages/core/echo/echo/src/internal/Annotation/annotations.ts";
129
+ var ANNOTATION_TYPE_ID = "~@dxos/echo/Annotation";
130
+ var FIELD_PATH_ANNOTATION = "path";
131
+ var FieldPath = (path) => PropertyMeta(FIELD_PATH_ANNOTATION, path);
132
+ var TypeIdentifierAnnotationId = /* @__PURE__ */ Symbol.for("@dxos/schema/annotation/TypeIdentifier");
133
+ var getTypeIdentifierAnnotation = (schema) => Function2.flow(SchemaAST.getAnnotation(TypeIdentifierAnnotationId), Option2.getOrElse(() => void 0))(schema.ast);
134
+ var getSchemaURI = (schema) => {
135
+ assertArgument(Schema2.isSchema(schema), "schema", "invalid schema");
136
+ const id = getTypeIdentifierAnnotation(schema);
137
+ if (id) {
138
+ return URI.make(id);
139
+ }
140
+ const objectAnnotation = getTypeAnnotation(schema);
141
+ if (objectAnnotation) {
142
+ return DXN.make(objectAnnotation.typename, objectAnnotation.version);
143
+ }
144
+ return void 0;
145
+ };
146
+ var TypenameSchema = Schema2.String.pipe(Schema2.pattern(/^[a-zA-Z]([a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(\.[a-zA-Z0-9]([a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(\.[a-zA-Z]([a-zA-Z0-9]{0,62})?)$/)).annotations({
147
+ description: "Fully qualified globally unique typename in reverse-DNS form.",
148
+ example: "org.dxos.type.message"
149
+ });
150
+ var VersionSchema = Schema2.String.pipe(Schema2.pattern(/^\d+.\d+.\d+$/)).annotations({
151
+ description: "Semantic version format: `major.minor.patch`",
152
+ example: "1.0.0"
153
+ });
154
+ var TypeMeta = Schema2.Struct({
155
+ typename: TypenameSchema,
156
+ version: VersionSchema
157
+ });
158
+ var TypeAnnotationId = /* @__PURE__ */ Symbol.for("@dxos/schema/annotation/Type");
159
+ var TypeAnnotation = Schema2.extend(TypeMeta, Schema2.Struct({
160
+ kind: Schema2.Enums(EntityKind),
161
+ /**
162
+ * If this is a relation, the schema of the source object.
163
+ * Must be present if entity kind is {@link EntityKind.Relation}.
164
+ */
165
+ sourceSchema: Schema2.optional(DXN.Schema),
166
+ /**
167
+ * If this is a relation, the schema of the target object.
168
+ * Must be present if entity kind is {@link EntityKind.Relation}.
169
+ */
170
+ targetSchema: Schema2.optional(DXN.Schema)
171
+ }));
172
+ var getTypeAnnotation = (schema) => {
173
+ assertArgument(schema != null && schema.ast != null, "schema", "invalid schema");
174
+ return Function2.flow(SchemaAST.getAnnotation(TypeAnnotationId), Option2.getOrElse(() => void 0))(schema.ast);
175
+ };
176
+ var getEntityKind = (schema) => getTypeAnnotation(schema)?.kind;
177
+ var getSchemaTypename = (schema) => getTypeAnnotation(schema)?.typename;
178
+ var getSchemaVersion = (schema) => getTypeAnnotation(schema)?.version;
179
+ var getTypename = (obj) => {
180
+ const schema = getSchema(obj);
181
+ if (schema != null) {
182
+ return getSchemaTypename(schema);
183
+ } else {
184
+ const type = obj?.[TypeId];
185
+ if (DXN.isDXN(type)) {
186
+ const parsed = DXN.tryMake(type);
187
+ return parsed && DXN.getName(parsed);
188
+ }
189
+ return void 0;
190
+ }
191
+ };
192
+ var setTypename = (obj, typename) => {
193
+ assertArgument(typeof typename === "string", "typename", "Invalid type.");
194
+ Object.defineProperty(obj, TypeId, {
195
+ value: typename,
196
+ writable: false,
197
+ enumerable: false,
198
+ configurable: false
199
+ });
200
+ };
201
+ var getTypeURI = (obj) => {
202
+ if (obj == null) {
203
+ return void 0;
204
+ }
205
+ const type = obj[TypeId];
206
+ if (type == null) {
207
+ return void 0;
208
+ }
209
+ invariant(URI.isURI(type), "Invalid object.", { "~LogMeta": "~LogMeta", F: __dxlog_file, L: 158, S: void 0, A: ["URI.isURI(type)", "'Invalid object.'"] });
210
+ return type;
211
+ };
212
+ var PropertyMetaAnnotationId = /* @__PURE__ */ Symbol.for("@dxos/schema/annotation/PropertyMeta");
213
+ var PropertyMeta = (name, value) => {
214
+ return (self) => {
215
+ const existingMeta = self.ast.annotations[PropertyMetaAnnotationId];
216
+ return self.annotations({
217
+ [PropertyMetaAnnotationId]: {
218
+ ...existingMeta,
219
+ [name]: value
220
+ }
221
+ });
222
+ };
223
+ };
224
+ var getPropertyMetaAnnotation = (prop, name) => Function2.pipe(SchemaAST.getAnnotation(PropertyMetaAnnotationId)(prop.type), Option2.map((meta) => meta[name]), Option2.getOrElse(() => void 0));
225
+ var ReferenceAnnotationId = /* @__PURE__ */ Symbol.for("@dxos/schema/annotation/Reference");
226
+ var ReferenceAnnotation = createAnnotationHelper(ReferenceAnnotationId);
227
+ var SchemaMetaSymbol = /* @__PURE__ */ Symbol.for("@dxos/schema/SchemaMeta");
228
+ var HiddenAnnotationId = /* @__PURE__ */ Symbol.for("@dxos/schema/annotation/Hidden");
229
+ var HiddenAnnotation = createAnnotationHelper(HiddenAnnotationId);
230
+ var LabelAnnotationId = /* @__PURE__ */ Symbol.for("@dxos/schema/annotation/Label");
231
+ var LabelAnnotation = createAnnotationHelper(LabelAnnotationId);
232
+ var getLabelWithSchema = (schema, object) => {
233
+ const annotation = LabelAnnotation.get(schema).pipe(Option2.getOrElse(() => [
234
+ "name"
235
+ ]));
236
+ for (const accessor of annotation) {
237
+ assertArgument(typeof accessor === "string", "accessor", "Label annotation must be a string or an array of strings");
238
+ const value = SchemaEx.getField(object, accessor);
239
+ switch (typeof value) {
240
+ case "string": {
241
+ const trimmed = value.trim();
242
+ if (trimmed.length > 0) {
243
+ return value;
244
+ }
245
+ continue;
246
+ }
247
+ case "number":
248
+ case "boolean":
249
+ case "bigint":
250
+ case "symbol":
251
+ return value.toString();
252
+ case "undefined":
253
+ case "object":
254
+ case "function":
255
+ continue;
256
+ }
257
+ }
258
+ return void 0;
259
+ };
260
+ var setLabelWithSchema = (schema, object, label) => {
261
+ const annotation = LabelAnnotation.get(schema).pipe(Option2.map((field) => field[0]), Option2.getOrElse(() => "name"));
262
+ object[annotation] = label;
263
+ };
264
+ var DescriptionAnnotationId = /* @__PURE__ */ Symbol.for("@dxos/schema/annotation/Description");
265
+ var DescriptionAnnotation = createAnnotationHelper(DescriptionAnnotationId);
266
+ var getDescriptionWithSchema = (schema, object) => {
267
+ const accessor = DescriptionAnnotation.get(schema).pipe(Option2.getOrElse(() => "description"));
268
+ assertArgument(typeof accessor === "string", "accessor", "Description annotation must be a string");
269
+ const value = SchemaEx.getField(object, accessor);
270
+ switch (typeof value) {
271
+ case "string":
272
+ case "number":
273
+ case "boolean":
274
+ case "bigint":
275
+ case "symbol":
276
+ return value.toString();
277
+ case "undefined":
278
+ case "object":
279
+ case "function":
280
+ default:
281
+ return void 0;
282
+ }
283
+ };
284
+ var setDescriptionWithSchema = (schema, object, description) => {
285
+ const accessor = DescriptionAnnotation.get(schema).pipe(Option2.getOrElse(() => "description"));
286
+ object[accessor] = description;
287
+ };
288
+ var FormInputAnnotationId = /* @__PURE__ */ Symbol.for("@dxos/schema/annotation/FormInput");
289
+ var FormInputAnnotation = createAnnotationHelper(FormInputAnnotationId);
290
+ var FormInlineAnnotationId = /* @__PURE__ */ Symbol.for("@dxos/schema/annotation/FormInline");
291
+ var FormInlineAnnotation = createAnnotationHelper(FormInlineAnnotationId);
292
+ var FieldLookupAnnotationId = /* @__PURE__ */ Symbol.for("@dxos/schema/annotation/FieldLookup");
293
+ var GeneratorAnnotationId = /* @__PURE__ */ Symbol.for("@dxos/schema/annotation/Generator");
294
+ var GeneratorAnnotation = createAnnotationHelper(GeneratorAnnotationId);
295
+ var makeUserAnnotation = (props) => {
296
+ assertArgument(/^[a-zA-Z]([a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(\.[a-zA-Z0-9]([a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?){2,}(\.[a-zA-Z]([a-zA-Z0-9]{0,62})?)?$/.test(props.id), "id", "Annotation id must be in the FQN format (org.dxos.annotation.example or org.dxos.space.rootCollection).");
297
+ const annotation = {
298
+ [ANNOTATION_TYPE_ID]: {
299
+ _Type: {}
300
+ },
301
+ key: props.id,
302
+ schema: props.schema,
303
+ get: (schema) => getFromAst(schema.ast, annotation),
304
+ getFromAst: (ast) => getFromAst(ast, annotation),
305
+ set: (value) => PropertyMeta(props.id, Schema2.encodeSync(props.schema)(value))
306
+ };
307
+ return annotation;
308
+ };
309
+ var IconAnnotationSchema = Schema2.Struct({
310
+ /**
311
+ * Phosphor icon name (e.g., 'ph--user--regular', 'ph--cube--regular', 'ph--link--regular ', etc.)
312
+ */
313
+ icon: Schema2.String.pipe(Schema2.pattern(/^ph--[a-z-]+--[a-z]+$/)),
314
+ /**
315
+ * Color name.
316
+ *
317
+ * List of colors:
318
+ * - 'red'
319
+ * - 'orange'
320
+ * - 'amber'
321
+ * - 'yellow'
322
+ * - 'lime'
323
+ * - 'green'
324
+ * - 'emerald'
325
+ * - 'teal'
326
+ * - 'cyan'
327
+ * - 'violet'
328
+ * - 'purple'
329
+ * - 'fuchsia'
330
+ * - 'pink'
331
+ * - 'rose'
332
+ */
333
+ hue: Schema2.optional(Schema2.String)
334
+ });
335
+ var IconAnnotation = makeUserAnnotation({
336
+ id: "org.dxos.annotation.icon",
337
+ schema: IconAnnotationSchema
338
+ });
339
+ var IconFromRefAnnotation = makeUserAnnotation({
340
+ id: "org.dxos.annotation.icon.from-ref",
341
+ schema: Schema2.String
342
+ });
343
+ var getLabel = (entity, options) => {
344
+ const schema = getSchema(entity);
345
+ const label = schema != null ? getLabelWithSchema(schema, entity) : void 0;
346
+ if (label != null) {
347
+ return label;
348
+ }
349
+ if (options?.fallback === "typename") {
350
+ return getTypename(entity);
351
+ }
352
+ return void 0;
353
+ };
354
+ var setLabel = (entity, label) => {
355
+ const schema = getSchema(entity);
356
+ if (schema != null) {
357
+ setLabelWithSchema(schema, entity, label);
358
+ }
359
+ };
360
+ var getDescription = (entity) => {
361
+ const schema = getSchema(entity);
362
+ if (schema != null) {
363
+ return getDescriptionWithSchema(schema, entity);
364
+ }
365
+ };
366
+ var getIcon = (entity) => {
367
+ const schema = getSchema(entity);
368
+ if (schema == null) {
369
+ return void 0;
370
+ }
371
+ return Option2.getOrUndefined(IconAnnotation.get(schema));
372
+ };
373
+ var setDescription = (entity, description) => {
374
+ const schema = getSchema(entity);
375
+ if (schema != null) {
376
+ setDescriptionWithSchema(schema, entity, description);
377
+ }
378
+ };
379
+ var getFromAst = (ast, annotation) => {
380
+ return SchemaAST.getAnnotation(PropertyMetaAnnotationId)(ast).pipe(Option2.flatMap((meta) => Option2.fromNullable(meta[annotation.key])), Option2.map(Schema2.decodeUnknownSync(annotation.schema)));
381
+ };
382
+
383
+ // src/internal/Entity/api.ts
384
+ import { invariant as invariant4 } from "@dxos/invariant";
385
+ import { DXN as DXN2, EID as EID3, URI as URI2 } from "@dxos/keys";
386
+ import { assumeType as assumeType3 } from "@dxos/util";
387
+
388
+ // src/internal/Entity/model.ts
389
+ import { invariant as invariant2 } from "@dxos/invariant";
390
+ import { EID, EntityId } from "@dxos/keys";
391
+ import { assumeType } from "@dxos/util";
392
+ var __dxlog_file2 = "/__w/dxos/dxos/packages/core/echo/echo/src/internal/Entity/model.ts";
393
+ function assertObjectModel(obj) {
394
+ invariant2(typeof obj === "object" && obj !== null, "Invalid object model: not an object", { "~LogMeta": "~LogMeta", F: __dxlog_file2, L: 12, S: this, A: ["typeof obj === 'object' && obj !== null", "'Invalid object model: not an object'"] });
395
+ assumeType(obj);
396
+ invariant2(EntityId.isValid(obj.id), "Invalid object model: invalid id", { "~LogMeta": "~LogMeta", F: __dxlog_file2, L: 14, S: this, A: ["EntityId.isValid(obj.id)", "'Invalid object model: invalid id'"] });
397
+ invariant2(obj[TypeId] === void 0 || typeof obj[TypeId] === "string", "Invalid object model: invalid type", { "~LogMeta": "~LogMeta", F: __dxlog_file2, L: 15, S: this, A: ["obj[TypeId] === undefined || typeof obj[TypeId] === 'string'", "'Invalid object model: invalid type'"] });
398
+ invariant2(obj[KindId] === EntityKind.Object || obj[KindId] === EntityKind.Relation || obj[KindId] === EntityKind.Type, "Invalid object model: invalid entity kind", { "~LogMeta": "~LogMeta", F: __dxlog_file2, L: 16, S: this, A: ["obj[KindId] === EntityKind.Object || obj[KindId] === EntityKind.Relation || obj[KindId] === EntityKind.Type", "'Invalid object model: invalid entity kind'"] });
399
+ if (obj[KindId] === EntityKind.Relation) {
400
+ invariant2(EID.isEID(obj[RelationSourceDXNId]), "Invalid object model: invalid relation source", { "~LogMeta": "~LogMeta", F: __dxlog_file2, L: 18, S: this, A: ["EID.isEID(obj[RelationSourceDXNId])", "'Invalid object model: invalid relation source'"] });
401
+ invariant2(EID.isEID(obj[RelationTargetDXNId]), "Invalid object model: invalid relation target", { "~LogMeta": "~LogMeta", F: __dxlog_file2, L: 19, S: this, A: ["EID.isEID(obj[RelationTargetDXNId])", "'Invalid object model: invalid relation target'"] });
402
+ invariant2(!EID.isEID(obj[RelationSourceId]), "Invalid object model: source pointer is a DXN", { "~LogMeta": "~LogMeta", F: __dxlog_file2, L: 20, S: this, A: ["!EID.isEID(obj[RelationSourceId])", "'Invalid object model: source pointer is a DXN'"] });
403
+ invariant2(!EID.isEID(obj[RelationTargetId]), "Invalid object model: target pointer is a DXN", { "~LogMeta": "~LogMeta", F: __dxlog_file2, L: 21, S: this, A: ["!EID.isEID(obj[RelationTargetId])", "'Invalid object model: target pointer is a DXN'"] });
404
+ }
405
+ }
406
+
407
+ // src/internal/Entity/util.ts
408
+ import * as Schema3 from "effect/Schema";
409
+ import { assertArgument as assertArgument2, invariant as invariant3 } from "@dxos/invariant";
410
+ import { EID as EID2, EntityId as EntityId2 } from "@dxos/keys";
411
+ import { assumeType as assumeType2 } from "@dxos/util";
412
+ var __dxlog_file3 = "/__w/dxos/dxos/packages/core/echo/echo/src/internal/Entity/util.ts";
413
+ var getObjectEchoUri = (object) => {
414
+ invariant3(!Schema3.isSchema(object), "schema not allowed in this function", { "~LogMeta": "~LogMeta", F: __dxlog_file3, L: 14, S: void 0, A: ["!Schema.isSchema(object)", "'schema not allowed in this function'"] });
415
+ assertArgument2(typeof object === "object" && object != null, "object", "expected object");
416
+ assumeType2(object);
417
+ if (object[SelfURIId]) {
418
+ invariant3(EID2.isEID(object[SelfURIId]), "Invalid object model: invalid self dxn", { "~LogMeta": "~LogMeta", F: __dxlog_file3, L: 18, S: void 0, A: ["EID.isEID(object[SelfURIId])", "'Invalid object model: invalid self dxn'"] });
419
+ return EID2.parse(object[SelfURIId]);
420
+ }
421
+ if (!EntityId2.isValid(object.id)) {
422
+ throw new TypeError("Object id is not valid.");
423
+ }
424
+ return EID2.make({
425
+ entityId: object.id
426
+ });
427
+ };
428
+
429
+ // src/internal/Entity/api.ts
430
+ var __dxlog_file4 = "/__w/dxos/dxos/packages/core/echo/echo/src/internal/Entity/api.ts";
431
+ var getUri = (entity, options) => {
432
+ const prefer = options?.prefer;
433
+ if (prefer === "named") {
434
+ const key = entity[MetaId]?.key;
435
+ if (key) {
436
+ return DXN2.tryMake(`dxn:${key}`) ?? URI2.make(key);
437
+ }
438
+ const uri2 = getObjectEchoUri(entity);
439
+ invariant4(uri2 != null, "Invalid entity.", { "~LogMeta": "~LogMeta", F: __dxlog_file4, L: 21, S: void 0, A: ["uri != null", "'Invalid entity.'"] });
440
+ return uri2;
441
+ }
442
+ if (prefer === "relative") {
443
+ const eid = getObjectEchoUri(entity);
444
+ invariant4(eid != null, "Invalid entity.", { "~LogMeta": "~LogMeta", F: __dxlog_file4, L: 26, S: void 0, A: ["eid != null", "'Invalid entity.'"] });
445
+ const entityId = EID3.getEntityId(eid);
446
+ return entityId ? EID3.make({
447
+ entityId
448
+ }) : eid;
449
+ }
450
+ if (prefer === "absolute") {
451
+ const eid = getObjectEchoUri(entity);
452
+ invariant4(eid != null, "Invalid entity.", { "~LogMeta": "~LogMeta", F: __dxlog_file4, L: 34, S: void 0, A: ["eid != null", "'Invalid entity.'"] });
453
+ const entityId = EID3.getEntityId(eid);
454
+ if (!entityId) {
455
+ return eid;
456
+ }
457
+ assumeType3(entity);
458
+ const spaceId2 = entity[ObjectDatabaseId]?.spaceId ?? EID3.getSpaceId(eid);
459
+ return spaceId2 ? EID3.make({
460
+ spaceId: spaceId2,
461
+ entityId
462
+ }) : eid;
463
+ }
464
+ const uri = getObjectEchoUri(entity);
465
+ invariant4(uri != null, "Invalid entity.", { "~LogMeta": "~LogMeta", F: __dxlog_file4, L: 47, S: void 0, A: ["uri != null", "'Invalid entity.'"] });
466
+ return uri;
467
+ };
468
+ var getDatabase = (entity) => {
469
+ assumeType3(entity);
470
+ return entity[ObjectDatabaseId];
471
+ };
472
+
473
+ // src/internal/Entity/type-uri.ts
474
+ var getTypeURIFromSpecifier = (input) => {
475
+ if (Schema4.isSchema(input)) {
476
+ return getSchemaURI(input) ?? raise(new TypeError("Schema has no URI"));
477
+ }
478
+ if (typeof input === "object" && input !== null && KindId in input) {
479
+ const schema = getStaticTypeSchema(input);
480
+ if (schema != null) {
481
+ const uri = getSchemaURI(schema);
482
+ if (uri != null) {
483
+ return uri;
484
+ }
485
+ }
486
+ return getUri(input);
487
+ }
488
+ assertArgument3(EID4.isEID(input) || DXN3.isDXN(input), "input", "expected a type URI (EID or DXN)");
489
+ return input;
490
+ };
491
+ var isInstanceOf = (schemaOrType, object) => {
492
+ if (object == null) {
493
+ return false;
494
+ }
495
+ const schemaURI = getTypeURIFromSpecifier(schemaOrType);
496
+ const type = object[TypeId];
497
+ if (URI3.isURI(type) && type === schemaURI) {
498
+ return true;
499
+ }
500
+ const typename = getTypename(object);
501
+ if (!typename) {
502
+ return false;
503
+ }
504
+ if (!DXN3.isDXN(schemaURI)) {
505
+ return false;
506
+ }
507
+ const parsed = DXN3.tryMake(schemaURI);
508
+ return parsed != null && DXN3.getName(parsed) === typename;
509
+ };
510
+
511
+ // src/Database.ts
512
+ var __dxlog_file5 = "/__w/dxos/dxos/packages/core/echo/echo/src/Database.ts";
513
+ var TypeId2 = /* @__PURE__ */ Symbol.for("@dxos/echo/Database");
514
+ var isDatabase = (obj) => {
515
+ return obj ? typeof obj === "object" && TypeId2 in obj && obj[TypeId2] === TypeId2 : false;
516
+ };
517
+ var Database = Schema5.Any.pipe(Schema5.filter((space) => isDatabase(space)));
518
+ var Service = class extends Context.Tag("@dxos/echo/Database/Service")() {
519
+ };
520
+ var notAvailable = Layer.succeed(Service, {
521
+ get db() {
522
+ throw new Error("Database not available");
523
+ }
524
+ });
525
+ var makeService = (db) => {
526
+ return {
527
+ get db() {
528
+ return db;
529
+ }
530
+ };
531
+ };
532
+ var layer = (db) => {
533
+ return Layer.succeed(Service, makeService(db));
534
+ };
535
+ var spaceId = Effect.gen(function* () {
536
+ const { db } = yield* Service;
537
+ return db.spaceId;
538
+ });
539
+ var resolve = (ref, schema) => Effect.gen(function* () {
540
+ const { db } = yield* Service;
541
+ const dxn = typeof ref === "string" ? ref : ref.uri;
542
+ const object = yield* EffectEx.promiseWithCauseCapture(() => db.graph.createRefResolver({
543
+ context: {
544
+ space: db.spaceId
545
+ }
546
+ }).resolve(dxn));
547
+ if (!object) {
548
+ return yield* Effect.fail(new EntityNotFoundError(dxn));
549
+ }
550
+ invariant5(!schema || isInstanceOf(schema, object), "Object type mismatch.", { "~LogMeta": "~LogMeta", F: __dxlog_file5, L: 71, S: this, A: ["!schema || isInstanceOf(schema, object)", "'Object type mismatch.'"] });
551
+ return object;
552
+ }).pipe(Effect.withSpan("Database.resolve"));
553
+ var load = Effect.fn("Database.load")(function* (ref) {
554
+ const object = yield* EffectEx.promiseWithCauseCapture(() => ref.tryLoad());
555
+ if (!object) {
556
+ return yield* Effect.fail(new EntityNotFoundError(ref.uri));
557
+ }
558
+ return object;
559
+ });
560
+ var add = (obj) => Service.pipe(Effect.map(({ db }) => db.add(obj))).pipe(Effect.withSpan("Database.add"));
561
+ var addType = (type) => Service.pipe(Effect.flatMap(({ db }) => EffectEx.promiseWithCauseCapture(() => db.addType(type)))).pipe(Effect.withSpan("Database.addType"));
562
+ var remove = (obj) => Service.pipe(Effect.map(({ db }) => db.remove(obj))).pipe(Effect.withSpan("Database.remove"));
563
+ var flush = (opts) => Service.pipe(Effect.flatMap(({ db }) => EffectEx.promiseWithCauseCapture(() => db.flush(opts)))).pipe(Effect.withSpan("Database.flush"));
564
+ var query = (queryOrFilter) => Service.pipe(Effect.map(({ db }) => db.query(queryOrFilter)), Effect.withSpan("Database.query"), makeQueryResultEffect);
565
+ var makeQueryResultEffect = (eff) => {
566
+ return {
567
+ run: Effect.flatMap(eff, (result) => EffectEx.promiseWithCauseCapture(() => result.run())),
568
+ first: Effect.flatMap(eff, (result) => EffectEx.promiseWithCauseCapture(async () => Option3.fromNullable(await result.firstOrUndefined()))),
569
+ // Effect internals
570
+ ...Effectable.CommitPrototype,
571
+ commit() {
572
+ return eff;
573
+ }
574
+ };
575
+ };
576
+
577
+ export {
578
+ Key,
579
+ Dictionary,
580
+ getDictionary,
581
+ setDictionary,
582
+ ATTR_SELF_URI,
583
+ ATTR_SELF_URI_LEGACY,
584
+ SelfURIId,
585
+ ATTR_DELETED,
586
+ ObjectDeletedId,
587
+ ObjectVersionId,
588
+ ObjectDatabaseId,
589
+ ATTR_RELATION_SOURCE,
590
+ RelationSourceId,
591
+ RelationSourceDXNId,
592
+ ATTR_RELATION_TARGET,
593
+ RelationTargetId,
594
+ RelationTargetDXNId,
595
+ MetaId,
596
+ ATTR_TYPE,
597
+ TypeId,
598
+ SchemaId,
599
+ ATTR_PARENT,
600
+ ParentId,
601
+ TypeEntityId,
602
+ getSchema,
603
+ setSchema,
604
+ getType,
605
+ setType,
606
+ FIELD_PATH_ANNOTATION,
607
+ FieldPath,
608
+ TypeIdentifierAnnotationId,
609
+ getTypeIdentifierAnnotation,
610
+ getSchemaURI,
611
+ TypenameSchema,
612
+ VersionSchema,
613
+ TypeMeta,
614
+ TypeAnnotationId,
615
+ TypeAnnotation,
616
+ getTypeAnnotation,
617
+ getEntityKind,
618
+ getSchemaTypename,
619
+ getSchemaVersion,
620
+ getTypename,
621
+ setTypename,
622
+ getTypeURI,
623
+ PropertyMetaAnnotationId,
624
+ PropertyMeta,
625
+ getPropertyMetaAnnotation,
626
+ ReferenceAnnotationId,
627
+ ReferenceAnnotation,
628
+ SchemaMetaSymbol,
629
+ HiddenAnnotationId,
630
+ HiddenAnnotation,
631
+ LabelAnnotationId,
632
+ LabelAnnotation,
633
+ getLabelWithSchema,
634
+ setLabelWithSchema,
635
+ DescriptionAnnotationId,
636
+ DescriptionAnnotation,
637
+ getDescriptionWithSchema,
638
+ setDescriptionWithSchema,
639
+ FormInputAnnotationId,
640
+ FormInputAnnotation,
641
+ FormInlineAnnotationId,
642
+ FormInlineAnnotation,
643
+ FieldLookupAnnotationId,
644
+ GeneratorAnnotationId,
645
+ GeneratorAnnotation,
646
+ makeUserAnnotation,
647
+ IconAnnotation,
648
+ IconFromRefAnnotation,
649
+ getLabel,
650
+ setLabel,
651
+ getDescription,
652
+ getIcon,
653
+ setDescription,
654
+ getFromAst,
655
+ assertObjectModel,
656
+ getObjectEchoUri,
657
+ getUri,
658
+ getDatabase,
659
+ getTypeURIFromSpecifier,
660
+ isInstanceOf,
661
+ TypeId2,
662
+ isDatabase,
663
+ Database,
664
+ Service,
665
+ notAvailable,
666
+ makeService,
667
+ layer,
668
+ spaceId,
669
+ resolve,
670
+ load,
671
+ add,
672
+ addType,
673
+ remove,
674
+ flush,
675
+ query,
676
+ Database_exports
677
+ };
678
+ //# sourceMappingURL=chunk-R5W6DXR4.mjs.map