@dxos/echo 0.8.4-main.7ace549 → 0.8.4-main.8360d9e660

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 (591) hide show
  1. package/README.md +3 -4
  2. package/dist/lib/neutral/Annotation.mjs +37 -0
  3. package/dist/lib/neutral/Database.mjs +45 -0
  4. package/dist/lib/neutral/Entity.mjs +59 -0
  5. package/dist/lib/neutral/Err.mjs +12 -0
  6. package/dist/lib/neutral/Feed.mjs +47 -0
  7. package/dist/lib/neutral/Feed.mjs.map +7 -0
  8. package/dist/lib/neutral/Filter.mjs +64 -0
  9. package/dist/lib/neutral/Filter.mjs.map +7 -0
  10. package/dist/lib/neutral/Format.mjs +66 -0
  11. package/dist/lib/neutral/Format.mjs.map +7 -0
  12. package/dist/lib/neutral/JsonSchema.mjs +19 -0
  13. package/dist/lib/neutral/JsonSchema.mjs.map +7 -0
  14. package/dist/lib/neutral/Key.mjs +12 -0
  15. package/dist/lib/neutral/Key.mjs.map +7 -0
  16. package/dist/lib/neutral/Obj.mjs +110 -0
  17. package/dist/lib/neutral/Obj.mjs.map +7 -0
  18. package/dist/lib/neutral/Order.mjs +12 -0
  19. package/dist/lib/neutral/Order.mjs.map +7 -0
  20. package/dist/lib/neutral/Query.mjs +36 -0
  21. package/dist/lib/neutral/Query.mjs.map +7 -0
  22. package/dist/lib/neutral/QueryResult.mjs +2 -0
  23. package/dist/lib/neutral/QueryResult.mjs.map +7 -0
  24. package/dist/lib/neutral/Ref.mjs +24 -0
  25. package/dist/lib/neutral/Ref.mjs.map +7 -0
  26. package/dist/lib/neutral/Relation.mjs +93 -0
  27. package/dist/lib/neutral/Relation.mjs.map +7 -0
  28. package/dist/lib/neutral/SchemaRegistry.mjs +2 -0
  29. package/dist/lib/neutral/SchemaRegistry.mjs.map +7 -0
  30. package/dist/lib/neutral/Tag.mjs +28 -0
  31. package/dist/lib/neutral/Tag.mjs.map +7 -0
  32. package/dist/lib/neutral/Type.mjs +37 -0
  33. package/dist/lib/neutral/Type.mjs.map +7 -0
  34. package/dist/lib/neutral/chunk-43Y5DOS6.mjs +396 -0
  35. package/dist/lib/neutral/chunk-43Y5DOS6.mjs.map +7 -0
  36. package/dist/lib/neutral/chunk-4JRI2ZJI.mjs +313 -0
  37. package/dist/lib/neutral/chunk-4JRI2ZJI.mjs.map +7 -0
  38. package/dist/lib/neutral/chunk-6DNYDXCV.mjs +159 -0
  39. package/dist/lib/neutral/chunk-6DNYDXCV.mjs.map +7 -0
  40. package/dist/lib/neutral/chunk-6GPU7XC3.mjs +283 -0
  41. package/dist/lib/neutral/chunk-6GPU7XC3.mjs.map +7 -0
  42. package/dist/lib/neutral/chunk-6K2MVI2O.mjs +56 -0
  43. package/dist/lib/neutral/chunk-6K2MVI2O.mjs.map +7 -0
  44. package/dist/lib/neutral/chunk-7VNVH63N.mjs +106 -0
  45. package/dist/lib/neutral/chunk-7VNVH63N.mjs.map +7 -0
  46. package/dist/lib/neutral/chunk-ANHVGJI4.mjs +21 -0
  47. package/dist/lib/neutral/chunk-ANHVGJI4.mjs.map +7 -0
  48. package/dist/lib/neutral/chunk-B5OXLWZL.mjs +402 -0
  49. package/dist/lib/neutral/chunk-B5OXLWZL.mjs.map +7 -0
  50. package/dist/lib/neutral/chunk-BNCCGLJN.mjs +7 -0
  51. package/dist/lib/neutral/chunk-BNCCGLJN.mjs.map +7 -0
  52. package/dist/lib/neutral/chunk-BOZZPUXE.mjs +787 -0
  53. package/dist/lib/neutral/chunk-BOZZPUXE.mjs.map +7 -0
  54. package/dist/lib/neutral/chunk-C4JZK4J7.mjs +2712 -0
  55. package/dist/lib/neutral/chunk-C4JZK4J7.mjs.map +7 -0
  56. package/dist/lib/neutral/chunk-FXEG7EOK.mjs +45 -0
  57. package/dist/lib/neutral/chunk-FXEG7EOK.mjs.map +7 -0
  58. package/dist/lib/neutral/chunk-FZO7LQO7.mjs +73 -0
  59. package/dist/lib/neutral/chunk-FZO7LQO7.mjs.map +7 -0
  60. package/dist/lib/neutral/chunk-J5LGTIGS.mjs +10 -0
  61. package/dist/lib/neutral/chunk-J5LGTIGS.mjs.map +7 -0
  62. package/dist/lib/neutral/chunk-NEGC54NE.mjs +130 -0
  63. package/dist/lib/neutral/chunk-NEGC54NE.mjs.map +7 -0
  64. package/dist/lib/neutral/chunk-NXMFBIT5.mjs +299 -0
  65. package/dist/lib/neutral/chunk-NXMFBIT5.mjs.map +7 -0
  66. package/dist/lib/neutral/chunk-OENWMTE6.mjs +45 -0
  67. package/dist/lib/neutral/chunk-OENWMTE6.mjs.map +7 -0
  68. package/dist/lib/neutral/chunk-OMUPQMLR.mjs +7 -0
  69. package/dist/lib/neutral/chunk-OMUPQMLR.mjs.map +7 -0
  70. package/dist/lib/neutral/chunk-ROAGDPV7.mjs +121 -0
  71. package/dist/lib/neutral/chunk-ROAGDPV7.mjs.map +7 -0
  72. package/dist/lib/neutral/chunk-SEMVAGBM.mjs +355 -0
  73. package/dist/lib/neutral/chunk-SEMVAGBM.mjs.map +7 -0
  74. package/dist/lib/neutral/chunk-UBEZSGXY.mjs +51 -0
  75. package/dist/lib/neutral/chunk-UBEZSGXY.mjs.map +7 -0
  76. package/dist/lib/neutral/chunk-UI6MWK5W.mjs +42 -0
  77. package/dist/lib/neutral/chunk-UI6MWK5W.mjs.map +7 -0
  78. package/dist/lib/neutral/chunk-UTBRYVQC.mjs +27 -0
  79. package/dist/lib/neutral/chunk-UTBRYVQC.mjs.map +7 -0
  80. package/dist/lib/neutral/chunk-W47JKR3X.mjs +298 -0
  81. package/dist/lib/neutral/chunk-W47JKR3X.mjs.map +7 -0
  82. package/dist/lib/neutral/chunk-WYOKA6AE.mjs +67 -0
  83. package/dist/lib/neutral/chunk-WYOKA6AE.mjs.map +7 -0
  84. package/dist/lib/neutral/chunk-YMNSMKKW.mjs +97 -0
  85. package/dist/lib/neutral/chunk-YMNSMKKW.mjs.map +7 -0
  86. package/dist/lib/neutral/chunk-YWXWXIE5.mjs +34 -0
  87. package/dist/lib/neutral/chunk-YWXWXIE5.mjs.map +7 -0
  88. package/dist/lib/neutral/index.mjs +97 -0
  89. package/dist/lib/neutral/index.mjs.map +7 -0
  90. package/dist/lib/{node-esm → neutral}/internal/index.mjs +257 -123
  91. package/dist/lib/neutral/internal/index.mjs.map +7 -0
  92. package/dist/lib/neutral/meta.json +1 -0
  93. package/dist/lib/{browser → neutral}/testing/index.mjs +97 -52
  94. package/dist/lib/neutral/testing/index.mjs.map +7 -0
  95. package/dist/types/src/Annotation.d.ts +23 -1
  96. package/dist/types/src/Annotation.d.ts.map +1 -1
  97. package/dist/types/src/Collection.d.ts +16 -0
  98. package/dist/types/src/Collection.d.ts.map +1 -0
  99. package/dist/types/src/Database.d.ts +139 -87
  100. package/dist/types/src/Database.d.ts.map +1 -1
  101. package/dist/types/src/Dataset.d.ts +18 -0
  102. package/dist/types/src/Dataset.d.ts.map +1 -0
  103. package/dist/types/src/Entity.d.ts +141 -9
  104. package/dist/types/src/Entity.d.ts.map +1 -1
  105. package/dist/types/src/Entity.test.d.ts +2 -0
  106. package/dist/types/src/Entity.test.d.ts.map +1 -0
  107. package/dist/types/src/Err.d.ts +107 -0
  108. package/dist/types/src/Err.d.ts.map +1 -0
  109. package/dist/types/src/Feed.d.ts +165 -0
  110. package/dist/types/src/Feed.d.ts.map +1 -0
  111. package/dist/types/src/Filter.d.ts +120 -0
  112. package/dist/types/src/Filter.d.ts.map +1 -0
  113. package/dist/types/src/Format.d.ts +3 -3
  114. package/dist/types/src/Format.d.ts.map +1 -1
  115. package/dist/types/src/Hypergraph.d.ts +65 -0
  116. package/dist/types/src/Hypergraph.d.ts.map +1 -0
  117. package/dist/types/src/JsonSchema.d.ts +11 -4
  118. package/dist/types/src/JsonSchema.d.ts.map +1 -1
  119. package/dist/types/src/Obj.d.ts +392 -85
  120. package/dist/types/src/Obj.d.ts.map +1 -1
  121. package/dist/types/src/Obj.test.d.ts +2 -0
  122. package/dist/types/src/Obj.test.d.ts.map +1 -0
  123. package/dist/types/src/Order.d.ts +16 -0
  124. package/dist/types/src/Order.d.ts.map +1 -0
  125. package/dist/types/src/Query.d.ts +202 -0
  126. package/dist/types/src/Query.d.ts.map +1 -0
  127. package/dist/types/src/Query.test.d.ts +2 -0
  128. package/dist/types/src/Query.test.d.ts.map +1 -0
  129. package/dist/types/src/QueryResult.d.ts +80 -0
  130. package/dist/types/src/QueryResult.d.ts.map +1 -0
  131. package/dist/types/src/Ref.d.ts +61 -11
  132. package/dist/types/src/Ref.d.ts.map +1 -1
  133. package/dist/types/src/Relation.d.ts +282 -18
  134. package/dist/types/src/Relation.d.ts.map +1 -1
  135. package/dist/types/src/Relation.test.d.ts +2 -0
  136. package/dist/types/src/Relation.test.d.ts.map +1 -0
  137. package/dist/types/src/SchemaRegistry.d.ts +84 -0
  138. package/dist/types/src/SchemaRegistry.d.ts.map +1 -0
  139. package/dist/types/src/Tag.d.ts +8 -7
  140. package/dist/types/src/Tag.d.ts.map +1 -1
  141. package/dist/types/src/Type.d.ts +124 -90
  142. package/dist/types/src/Type.d.ts.map +1 -1
  143. package/dist/types/src/Type.test.d.ts +2 -0
  144. package/dist/types/src/Type.test.d.ts.map +1 -0
  145. package/dist/types/src/View.d.ts +68 -0
  146. package/dist/types/src/View.d.ts.map +1 -0
  147. package/dist/types/src/hierarchy.test.d.ts +2 -0
  148. package/dist/types/src/hierarchy.test.d.ts.map +1 -0
  149. package/dist/types/src/index.d.ts +12 -2
  150. package/dist/types/src/index.d.ts.map +1 -1
  151. package/dist/types/src/internal/{annotations → Annotation}/annotations.d.ts +83 -27
  152. package/dist/types/src/internal/Annotation/annotations.d.ts.map +1 -0
  153. package/dist/types/src/internal/Annotation/annotations.test.d.ts.map +1 -0
  154. package/dist/types/src/internal/Annotation/index.d.ts +4 -0
  155. package/dist/types/src/internal/Annotation/index.d.ts.map +1 -0
  156. package/dist/types/src/internal/Annotation/sorting.d.ts +24 -0
  157. package/dist/types/src/internal/Annotation/sorting.d.ts.map +1 -0
  158. package/dist/types/src/internal/{annotations → Annotation}/util.d.ts +14 -1
  159. package/dist/types/src/internal/Annotation/util.d.ts.map +1 -0
  160. package/dist/types/src/internal/Entity/api.d.ts +13 -0
  161. package/dist/types/src/internal/Entity/api.d.ts.map +1 -0
  162. package/dist/types/src/internal/Entity/entity.d.ts +20 -0
  163. package/dist/types/src/internal/Entity/entity.d.ts.map +1 -0
  164. package/dist/types/src/internal/Entity/index.d.ts +8 -0
  165. package/dist/types/src/internal/Entity/index.d.ts.map +1 -0
  166. package/dist/types/src/internal/{entities → Entity}/model.d.ts +14 -29
  167. package/dist/types/src/internal/Entity/model.d.ts.map +1 -0
  168. package/dist/types/src/internal/Entity/object.d.ts +18 -0
  169. package/dist/types/src/internal/Entity/object.d.ts.map +1 -0
  170. package/dist/types/src/internal/Entity/relation.d.ts +35 -0
  171. package/dist/types/src/internal/Entity/relation.d.ts.map +1 -0
  172. package/dist/types/src/internal/Entity/util.d.ts.map +1 -0
  173. package/dist/types/src/internal/Entity/version.d.ts +42 -0
  174. package/dist/types/src/internal/Entity/version.d.ts.map +1 -0
  175. package/dist/types/src/internal/Format/date.d.ts.map +1 -0
  176. package/dist/types/src/internal/Format/date.test.d.ts.map +1 -0
  177. package/dist/types/src/internal/{formats → Format}/format.d.ts +4 -4
  178. package/dist/types/src/internal/Format/format.d.ts.map +1 -0
  179. package/dist/types/src/internal/Format/format.test.d.ts.map +1 -0
  180. package/dist/types/src/internal/Format/index.d.ts.map +1 -0
  181. package/dist/types/src/internal/Format/number.d.ts.map +1 -0
  182. package/dist/types/src/internal/Format/object.d.ts.map +1 -0
  183. package/dist/types/src/internal/{formats → Format}/select.d.ts +6 -4
  184. package/dist/types/src/internal/Format/select.d.ts.map +1 -0
  185. package/dist/types/src/internal/{formats → Format}/string.d.ts +4 -0
  186. package/dist/types/src/internal/Format/string.d.ts.map +1 -0
  187. package/dist/types/src/internal/{formats → Format}/types.d.ts +7 -3
  188. package/dist/types/src/internal/Format/types.d.ts.map +1 -0
  189. package/dist/types/src/internal/{json-schema → JsonSchema}/annotations.d.ts +1 -1
  190. package/dist/types/src/internal/JsonSchema/annotations.d.ts.map +1 -0
  191. package/dist/types/src/internal/JsonSchema/effect-schema.test.d.ts.map +1 -0
  192. package/dist/types/src/internal/JsonSchema/index.d.ts.map +1 -0
  193. package/dist/types/src/internal/JsonSchema/json-schema-normalize.d.ts.map +1 -0
  194. package/dist/types/src/internal/{json-schema → JsonSchema}/json-schema-type.d.ts +131 -30
  195. package/dist/types/src/internal/JsonSchema/json-schema-type.d.ts.map +1 -0
  196. package/dist/types/src/internal/{json-schema → JsonSchema}/json-schema.d.ts +2 -1
  197. package/dist/types/src/internal/JsonSchema/json-schema.d.ts.map +1 -0
  198. package/dist/types/src/internal/JsonSchema/json-schema.test.d.ts.map +1 -0
  199. package/dist/types/src/internal/Obj/clone.d.ts +8 -0
  200. package/dist/types/src/internal/Obj/clone.d.ts.map +1 -0
  201. package/dist/types/src/internal/Obj/common.d.ts.map +1 -0
  202. package/dist/types/src/internal/{object → Obj}/create-object.d.ts +3 -3
  203. package/dist/types/src/internal/Obj/create-object.d.ts.map +1 -0
  204. package/dist/types/src/internal/Obj/create-object.test.d.ts.map +1 -0
  205. package/dist/types/src/internal/{object → Obj}/deleted.d.ts +1 -1
  206. package/dist/types/src/internal/Obj/deleted.d.ts.map +1 -0
  207. package/dist/types/src/internal/Obj/ids.d.ts.map +1 -0
  208. package/dist/types/src/internal/{object → Obj}/index.d.ts +3 -0
  209. package/dist/types/src/internal/Obj/index.d.ts.map +1 -0
  210. package/dist/types/src/internal/Obj/inspect.d.ts.map +1 -0
  211. package/dist/types/src/internal/Obj/json-serializer.d.ts +44 -0
  212. package/dist/types/src/internal/Obj/json-serializer.d.ts.map +1 -0
  213. package/dist/types/src/internal/Obj/json-serializer.test.d.ts.map +1 -0
  214. package/dist/types/src/internal/Obj/schema-validator.d.ts +2 -0
  215. package/dist/types/src/internal/Obj/schema-validator.d.ts.map +1 -0
  216. package/dist/types/src/internal/Obj/schema-validator.test.d.ts.map +1 -0
  217. package/dist/types/src/internal/Obj/set-value.d.ts +7 -0
  218. package/dist/types/src/internal/Obj/set-value.d.ts.map +1 -0
  219. package/dist/types/src/internal/Obj/set-value.test.d.ts +2 -0
  220. package/dist/types/src/internal/Obj/set-value.test.d.ts.map +1 -0
  221. package/dist/types/src/internal/Obj/snapshot.d.ts +6 -0
  222. package/dist/types/src/internal/Obj/snapshot.d.ts.map +1 -0
  223. package/dist/types/src/internal/Obj/typed-object.d.ts +25 -0
  224. package/dist/types/src/internal/Obj/typed-object.d.ts.map +1 -0
  225. package/dist/types/src/internal/Obj/typed-object.test.d.ts.map +1 -0
  226. package/dist/types/src/internal/Ref/index.d.ts.map +1 -0
  227. package/dist/types/src/internal/{ref → Ref}/ref-array.d.ts +4 -4
  228. package/dist/types/src/internal/Ref/ref-array.d.ts.map +1 -0
  229. package/dist/types/src/internal/{ref → Ref}/ref.d.ts +31 -9
  230. package/dist/types/src/internal/Ref/ref.d.ts.map +1 -0
  231. package/dist/types/src/internal/Ref/ref.test.d.ts.map +1 -0
  232. package/dist/types/src/internal/Type/compose.d.ts +7 -0
  233. package/dist/types/src/internal/Type/compose.d.ts.map +1 -0
  234. package/dist/types/src/internal/Type/compose.test.d.ts.map +1 -0
  235. package/dist/types/src/internal/{schema → Type}/echo-schema.d.ts +20 -7
  236. package/dist/types/src/internal/Type/echo-schema.d.ts.map +1 -0
  237. package/dist/types/src/internal/Type/index.d.ts +4 -0
  238. package/dist/types/src/internal/Type/index.d.ts.map +1 -0
  239. package/dist/types/src/internal/Type/manipulation.d.ts.map +1 -0
  240. package/dist/types/src/internal/Type/persistent-schema.d.ts +20 -0
  241. package/dist/types/src/internal/Type/persistent-schema.d.ts.map +1 -0
  242. package/dist/types/src/internal/common/api/index.d.ts +11 -0
  243. package/dist/types/src/internal/common/api/index.d.ts.map +1 -0
  244. package/dist/types/src/internal/common/api/meta.d.ts +42 -0
  245. package/dist/types/src/internal/common/api/meta.d.ts.map +1 -0
  246. package/dist/types/src/internal/common/index.d.ts +4 -0
  247. package/dist/types/src/internal/common/index.d.ts.map +1 -0
  248. package/dist/types/src/internal/common/proxy/change-context.d.ts +55 -0
  249. package/dist/types/src/internal/common/proxy/change-context.d.ts.map +1 -0
  250. package/dist/types/src/internal/common/proxy/change.test.d.ts +2 -0
  251. package/dist/types/src/internal/common/proxy/change.test.d.ts.map +1 -0
  252. package/dist/types/src/internal/common/proxy/define-hidden-property.d.ts +5 -0
  253. package/dist/types/src/internal/common/proxy/define-hidden-property.d.ts.map +1 -0
  254. package/dist/types/src/internal/common/proxy/errors.d.ts +19 -0
  255. package/dist/types/src/internal/common/proxy/errors.d.ts.map +1 -0
  256. package/dist/types/src/internal/common/proxy/event-batch.d.ts +10 -0
  257. package/dist/types/src/internal/common/proxy/event-batch.d.ts.map +1 -0
  258. package/dist/types/src/internal/common/proxy/handler.test.d.ts.map +1 -0
  259. package/dist/types/src/internal/common/proxy/index.d.ts +14 -0
  260. package/dist/types/src/internal/common/proxy/index.d.ts.map +1 -0
  261. package/dist/types/src/internal/common/proxy/json-serializer.d.ts +6 -0
  262. package/dist/types/src/internal/common/proxy/json-serializer.d.ts.map +1 -0
  263. package/dist/types/src/internal/{proxy → common/proxy}/make-object.d.ts +2 -4
  264. package/dist/types/src/internal/common/proxy/make-object.d.ts.map +1 -0
  265. package/dist/types/src/internal/common/proxy/ownership.d.ts +57 -0
  266. package/dist/types/src/internal/common/proxy/ownership.d.ts.map +1 -0
  267. package/dist/types/src/internal/common/proxy/proxy-types.d.ts +18 -0
  268. package/dist/types/src/internal/common/proxy/proxy-types.d.ts.map +1 -0
  269. package/dist/types/src/internal/common/proxy/proxy-utils.d.ts +47 -0
  270. package/dist/types/src/internal/common/proxy/proxy-utils.d.ts.map +1 -0
  271. package/dist/types/src/internal/common/proxy/reactive-array.d.ts +8 -0
  272. package/dist/types/src/internal/common/proxy/reactive-array.d.ts.map +1 -0
  273. package/dist/types/src/internal/common/proxy/reactive.d.ts +39 -0
  274. package/dist/types/src/internal/common/proxy/reactive.d.ts.map +1 -0
  275. package/dist/types/src/internal/common/proxy/schema-validator.d.ts.map +1 -0
  276. package/dist/types/src/internal/common/proxy/schema.test.d.ts.map +1 -0
  277. package/dist/types/src/internal/common/proxy/symbols.d.ts +3 -0
  278. package/dist/types/src/internal/common/proxy/symbols.d.ts.map +1 -0
  279. package/dist/types/src/internal/{proxy → common/proxy}/typed-handler.d.ts +16 -12
  280. package/dist/types/src/internal/common/proxy/typed-handler.d.ts.map +1 -0
  281. package/dist/types/src/internal/common/proxy/typed-handler.test.d.ts.map +1 -0
  282. package/dist/types/src/internal/common/proxy/typed-object.test.d.ts.map +1 -0
  283. package/dist/types/src/internal/{types → common/types}/base.d.ts +6 -16
  284. package/dist/types/src/internal/common/types/base.d.ts.map +1 -0
  285. package/dist/types/src/internal/common/types/entity.d.ts +37 -0
  286. package/dist/types/src/internal/common/types/entity.d.ts.map +1 -0
  287. package/dist/types/src/internal/{types → common/types}/index.d.ts +1 -0
  288. package/dist/types/src/internal/common/types/index.d.ts.map +1 -0
  289. package/dist/types/src/internal/{types → common/types}/meta.d.ts +8 -15
  290. package/dist/types/src/internal/common/types/meta.d.ts.map +1 -0
  291. package/dist/types/src/internal/common/types/model-symbols.d.ts +54 -0
  292. package/dist/types/src/internal/common/types/model-symbols.d.ts.map +1 -0
  293. package/dist/types/src/internal/{types → common/types}/typename.d.ts +8 -0
  294. package/dist/types/src/internal/common/types/typename.d.ts.map +1 -0
  295. package/dist/types/src/internal/{types → common/types}/version.d.ts +2 -2
  296. package/dist/types/src/internal/common/types/version.d.ts.map +1 -0
  297. package/dist/types/src/internal/index.d.ts +9 -10
  298. package/dist/types/src/internal/index.d.ts.map +1 -1
  299. package/dist/types/src/testing/test-schema.d.ts +146 -179
  300. package/dist/types/src/testing/test-schema.d.ts.map +1 -1
  301. package/dist/types/src/testing/util.d.ts +6 -1
  302. package/dist/types/src/testing/util.d.ts.map +1 -1
  303. package/dist/types/tsconfig.tsbuildinfo +1 -1
  304. package/package.json +94 -61
  305. package/src/Annotation.ts +36 -5
  306. package/src/Collection.ts +37 -0
  307. package/src/Database.ts +250 -122
  308. package/src/Dataset.ts +26 -0
  309. package/src/Entity.test.ts +22 -0
  310. package/src/Entity.ts +197 -11
  311. package/src/Err.ts +40 -0
  312. package/src/Feed.ts +262 -0
  313. package/src/Filter.ts +391 -0
  314. package/src/Format.ts +3 -5
  315. package/src/Hypergraph.ts +79 -0
  316. package/src/JsonSchema.ts +14 -4
  317. package/src/Obj.test.ts +447 -0
  318. package/src/Obj.ts +528 -295
  319. package/src/Order.ts +46 -0
  320. package/src/Query.test.ts +632 -0
  321. package/src/Query.ts +522 -0
  322. package/src/QueryResult.ts +106 -0
  323. package/src/Ref.ts +79 -9
  324. package/src/Relation.test.ts +88 -0
  325. package/src/Relation.ts +439 -68
  326. package/src/SchemaRegistry.ts +106 -0
  327. package/src/Tag.ts +7 -6
  328. package/src/Type.test.ts +52 -0
  329. package/src/Type.ts +167 -166
  330. package/src/View.ts +107 -0
  331. package/src/hierarchy.test.ts +33 -0
  332. package/src/index.ts +13 -5
  333. package/src/internal/{annotations → Annotation}/annotations.test.ts +12 -12
  334. package/src/internal/{annotations → Annotation}/annotations.ts +172 -64
  335. package/src/internal/{annotations → Annotation}/index.ts +1 -0
  336. package/src/internal/Annotation/sorting.ts +52 -0
  337. package/src/internal/{annotations → Annotation}/util.ts +16 -1
  338. package/src/internal/Entity/api.ts +31 -0
  339. package/src/internal/{entities → Entity}/entity.ts +39 -20
  340. package/src/internal/{entities → Entity}/index.ts +3 -1
  341. package/src/internal/{entities → Entity}/model.ts +29 -49
  342. package/src/internal/{entities → Entity}/object.ts +23 -10
  343. package/src/internal/{entities → Entity}/relation.ts +42 -43
  344. package/src/internal/Entity/version.ts +97 -0
  345. package/src/internal/{formats → Format}/date.test.ts +1 -1
  346. package/src/internal/{formats → Format}/format.test.ts +2 -2
  347. package/src/internal/{formats → Format}/format.ts +7 -8
  348. package/src/internal/{formats → Format}/object.ts +2 -2
  349. package/src/internal/{formats → Format}/select.ts +6 -4
  350. package/src/internal/{formats → Format}/string.ts +5 -0
  351. package/src/internal/{formats → Format}/types.ts +12 -6
  352. package/src/internal/{json-schema → JsonSchema}/annotations.ts +3 -3
  353. package/src/internal/{json-schema → JsonSchema}/json-schema-normalize.ts +4 -2
  354. package/src/internal/{json-schema → JsonSchema}/json-schema-type.ts +34 -35
  355. package/src/internal/{json-schema → JsonSchema}/json-schema.test.ts +67 -65
  356. package/src/internal/{json-schema → JsonSchema}/json-schema.ts +18 -12
  357. package/src/internal/Obj/clone.ts +48 -0
  358. package/src/internal/{object → Obj}/common.ts +2 -2
  359. package/src/internal/{object → Obj}/create-object.test.ts +4 -4
  360. package/src/internal/{object → Obj}/create-object.ts +6 -6
  361. package/src/internal/{object → Obj}/deleted.ts +2 -2
  362. package/src/internal/{object → Obj}/index.ts +3 -0
  363. package/src/internal/{object → Obj}/inspect.ts +4 -4
  364. package/src/internal/{object → Obj}/json-serializer.test.ts +33 -6
  365. package/src/internal/{object → Obj}/json-serializer.ts +69 -84
  366. package/src/internal/{object → Obj}/schema-validator.test.ts +3 -7
  367. package/src/internal/Obj/schema-validator.ts +6 -0
  368. package/src/internal/Obj/set-value.test.ts +281 -0
  369. package/src/internal/Obj/set-value.ts +165 -0
  370. package/src/internal/Obj/snapshot.ts +105 -0
  371. package/src/internal/{object → Obj}/typed-object.test.ts +12 -12
  372. package/src/internal/Obj/typed-object.ts +30 -0
  373. package/src/internal/{ref → Ref}/ref-array.ts +4 -4
  374. package/src/internal/{ref → Ref}/ref.test.ts +5 -5
  375. package/src/internal/{ref → Ref}/ref.ts +90 -43
  376. package/src/internal/{schema → Type}/compose.test.ts +6 -6
  377. package/src/internal/{schema → Type}/compose.ts +14 -10
  378. package/src/internal/{schema → Type}/echo-schema.ts +55 -16
  379. package/src/internal/{schema → Type}/index.ts +0 -2
  380. package/src/internal/{schema → Type}/manipulation.ts +1 -1
  381. package/src/internal/Type/persistent-schema.ts +33 -0
  382. package/src/internal/{README.md → common/README.md} +36 -17
  383. package/src/internal/common/api/index.ts +15 -0
  384. package/src/internal/common/api/meta.ts +88 -0
  385. package/src/internal/common/index.ts +7 -0
  386. package/src/internal/common/proxy/change-context.ts +138 -0
  387. package/src/internal/common/proxy/change.test.ts +519 -0
  388. package/src/internal/common/proxy/define-hidden-property.ts +14 -0
  389. package/src/internal/common/proxy/errors.ts +42 -0
  390. package/src/internal/common/proxy/event-batch.ts +44 -0
  391. package/src/internal/{proxy → common/proxy}/handler.test.ts +32 -82
  392. package/src/internal/common/proxy/index.ts +17 -0
  393. package/src/internal/common/proxy/json-serializer.ts +90 -0
  394. package/src/internal/common/proxy/make-object.ts +106 -0
  395. package/src/internal/common/proxy/ownership.ts +253 -0
  396. package/src/internal/common/proxy/proxy-types.ts +23 -0
  397. package/src/internal/common/proxy/proxy-utils.ts +150 -0
  398. package/src/internal/common/proxy/reactive-array.ts +71 -0
  399. package/src/internal/common/proxy/reactive.ts +69 -0
  400. package/src/internal/{object → common/proxy}/schema-validator.ts +3 -1
  401. package/src/internal/{proxy → common/proxy}/schema.test.ts +29 -21
  402. package/src/internal/common/proxy/symbols.ts +7 -0
  403. package/src/internal/common/proxy/typed-handler.test.ts +314 -0
  404. package/src/internal/common/proxy/typed-handler.ts +449 -0
  405. package/src/internal/common/proxy/typed-object.test.ts +116 -0
  406. package/src/internal/{types → common/types}/base.ts +7 -22
  407. package/src/internal/common/types/entity.ts +54 -0
  408. package/src/internal/{types → common/types}/index.ts +1 -0
  409. package/src/internal/{types → common/types}/meta.ts +17 -25
  410. package/src/internal/common/types/model-symbols.ts +69 -0
  411. package/src/internal/{types → common/types}/typename.ts +10 -0
  412. package/src/internal/{types → common/types}/version.ts +2 -3
  413. package/src/internal/index.ts +9 -31
  414. package/src/testing/api.test.ts +32 -6
  415. package/src/testing/test-schema.ts +68 -41
  416. package/src/testing/util.ts +22 -15
  417. package/dist/lib/browser/chunk-7GH6RXJ3.mjs +0 -3683
  418. package/dist/lib/browser/chunk-7GH6RXJ3.mjs.map +0 -7
  419. package/dist/lib/browser/chunk-E4UTVJNF.mjs +0 -1111
  420. package/dist/lib/browser/chunk-E4UTVJNF.mjs.map +0 -7
  421. package/dist/lib/browser/index.mjs +0 -45
  422. package/dist/lib/browser/internal/index.mjs +0 -336
  423. package/dist/lib/browser/meta.json +0 -1
  424. package/dist/lib/browser/testing/index.mjs.map +0 -7
  425. package/dist/lib/node-esm/chunk-JE5RXM2I.mjs +0 -1111
  426. package/dist/lib/node-esm/chunk-JE5RXM2I.mjs.map +0 -7
  427. package/dist/lib/node-esm/chunk-M4B6BMD2.mjs +0 -3683
  428. package/dist/lib/node-esm/chunk-M4B6BMD2.mjs.map +0 -7
  429. package/dist/lib/node-esm/index.mjs +0 -45
  430. package/dist/lib/node-esm/meta.json +0 -1
  431. package/dist/lib/node-esm/testing/index.mjs +0 -328
  432. package/dist/lib/node-esm/testing/index.mjs.map +0 -7
  433. package/dist/types/src/errors.d.ts +0 -68
  434. package/dist/types/src/errors.d.ts.map +0 -1
  435. package/dist/types/src/internal/annotations/annotations.d.ts.map +0 -1
  436. package/dist/types/src/internal/annotations/annotations.test.d.ts.map +0 -1
  437. package/dist/types/src/internal/annotations/index.d.ts +0 -3
  438. package/dist/types/src/internal/annotations/index.d.ts.map +0 -1
  439. package/dist/types/src/internal/annotations/util.d.ts.map +0 -1
  440. package/dist/types/src/internal/entities/entity.d.ts +0 -10
  441. package/dist/types/src/internal/entities/entity.d.ts.map +0 -1
  442. package/dist/types/src/internal/entities/expando.d.ts +0 -16
  443. package/dist/types/src/internal/entities/expando.d.ts.map +0 -1
  444. package/dist/types/src/internal/entities/index.d.ts +0 -6
  445. package/dist/types/src/internal/entities/index.d.ts.map +0 -1
  446. package/dist/types/src/internal/entities/model.d.ts.map +0 -1
  447. package/dist/types/src/internal/entities/object.d.ts +0 -11
  448. package/dist/types/src/internal/entities/object.d.ts.map +0 -1
  449. package/dist/types/src/internal/entities/relation.d.ts +0 -55
  450. package/dist/types/src/internal/entities/relation.d.ts.map +0 -1
  451. package/dist/types/src/internal/entities/util.d.ts.map +0 -1
  452. package/dist/types/src/internal/formats/date.d.ts.map +0 -1
  453. package/dist/types/src/internal/formats/date.test.d.ts.map +0 -1
  454. package/dist/types/src/internal/formats/format.d.ts.map +0 -1
  455. package/dist/types/src/internal/formats/format.test.d.ts.map +0 -1
  456. package/dist/types/src/internal/formats/index.d.ts.map +0 -1
  457. package/dist/types/src/internal/formats/number.d.ts.map +0 -1
  458. package/dist/types/src/internal/formats/object.d.ts.map +0 -1
  459. package/dist/types/src/internal/formats/select.d.ts.map +0 -1
  460. package/dist/types/src/internal/formats/string.d.ts.map +0 -1
  461. package/dist/types/src/internal/formats/types.d.ts.map +0 -1
  462. package/dist/types/src/internal/json-schema/annotations.d.ts.map +0 -1
  463. package/dist/types/src/internal/json-schema/effect-schema.test.d.ts.map +0 -1
  464. package/dist/types/src/internal/json-schema/index.d.ts.map +0 -1
  465. package/dist/types/src/internal/json-schema/json-schema-normalize.d.ts.map +0 -1
  466. package/dist/types/src/internal/json-schema/json-schema-type.d.ts.map +0 -1
  467. package/dist/types/src/internal/json-schema/json-schema.d.ts.map +0 -1
  468. package/dist/types/src/internal/json-schema/json-schema.test.d.ts.map +0 -1
  469. package/dist/types/src/internal/object/common.d.ts.map +0 -1
  470. package/dist/types/src/internal/object/create-object.d.ts.map +0 -1
  471. package/dist/types/src/internal/object/create-object.test.d.ts.map +0 -1
  472. package/dist/types/src/internal/object/deleted.d.ts.map +0 -1
  473. package/dist/types/src/internal/object/ids.d.ts.map +0 -1
  474. package/dist/types/src/internal/object/index.d.ts.map +0 -1
  475. package/dist/types/src/internal/object/inspect.d.ts.map +0 -1
  476. package/dist/types/src/internal/object/json-serializer.d.ts +0 -31
  477. package/dist/types/src/internal/object/json-serializer.d.ts.map +0 -1
  478. package/dist/types/src/internal/object/json-serializer.test.d.ts.map +0 -1
  479. package/dist/types/src/internal/object/schema-validator.d.ts.map +0 -1
  480. package/dist/types/src/internal/object/schema-validator.test.d.ts.map +0 -1
  481. package/dist/types/src/internal/object/typed-object.d.ts +0 -31
  482. package/dist/types/src/internal/object/typed-object.d.ts.map +0 -1
  483. package/dist/types/src/internal/object/typed-object.test.d.ts.map +0 -1
  484. package/dist/types/src/internal/proxy/handler.test.d.ts.map +0 -1
  485. package/dist/types/src/internal/proxy/index.d.ts +0 -3
  486. package/dist/types/src/internal/proxy/index.d.ts.map +0 -1
  487. package/dist/types/src/internal/proxy/make-object.d.ts.map +0 -1
  488. package/dist/types/src/internal/proxy/schema.test.d.ts.map +0 -1
  489. package/dist/types/src/internal/proxy/typed-handler.d.ts.map +0 -1
  490. package/dist/types/src/internal/proxy/typed-handler.test.d.ts.map +0 -1
  491. package/dist/types/src/internal/proxy/typed-object.test.d.ts.map +0 -1
  492. package/dist/types/src/internal/ref/index.d.ts.map +0 -1
  493. package/dist/types/src/internal/ref/ref-array.d.ts.map +0 -1
  494. package/dist/types/src/internal/ref/ref.d.ts.map +0 -1
  495. package/dist/types/src/internal/ref/ref.test.d.ts.map +0 -1
  496. package/dist/types/src/internal/schema/compose.d.ts +0 -6
  497. package/dist/types/src/internal/schema/compose.d.ts.map +0 -1
  498. package/dist/types/src/internal/schema/compose.test.d.ts.map +0 -1
  499. package/dist/types/src/internal/schema/echo-schema.d.ts.map +0 -1
  500. package/dist/types/src/internal/schema/index.d.ts +0 -6
  501. package/dist/types/src/internal/schema/index.d.ts.map +0 -1
  502. package/dist/types/src/internal/schema/manipulation.d.ts.map +0 -1
  503. package/dist/types/src/internal/schema/persistent-schema.d.ts +0 -18
  504. package/dist/types/src/internal/schema/persistent-schema.d.ts.map +0 -1
  505. package/dist/types/src/internal/schema/runtime-schema-registry.d.ts +0 -18
  506. package/dist/types/src/internal/schema/runtime-schema-registry.d.ts.map +0 -1
  507. package/dist/types/src/internal/schema/snapshot.d.ts +0 -6
  508. package/dist/types/src/internal/schema/snapshot.d.ts.map +0 -1
  509. package/dist/types/src/internal/types/base.d.ts.map +0 -1
  510. package/dist/types/src/internal/types/entity.d.ts +0 -12
  511. package/dist/types/src/internal/types/entity.d.ts.map +0 -1
  512. package/dist/types/src/internal/types/index.d.ts.map +0 -1
  513. package/dist/types/src/internal/types/meta.d.ts.map +0 -1
  514. package/dist/types/src/internal/types/typename.d.ts.map +0 -1
  515. package/dist/types/src/internal/types/version.d.ts.map +0 -1
  516. package/dist/types/src/query/filter.d.ts +0 -167
  517. package/dist/types/src/query/filter.d.ts.map +0 -1
  518. package/dist/types/src/query/index.d.ts +0 -5
  519. package/dist/types/src/query/index.d.ts.map +0 -1
  520. package/dist/types/src/query/order.d.ts +0 -12
  521. package/dist/types/src/query/order.d.ts.map +0 -1
  522. package/dist/types/src/query/query.d.ts +0 -112
  523. package/dist/types/src/query/query.d.ts.map +0 -1
  524. package/dist/types/src/query/query.test.d.ts +0 -2
  525. package/dist/types/src/query/query.test.d.ts.map +0 -1
  526. package/dist/types/src/query/testing.d.ts +0 -51
  527. package/dist/types/src/query/testing.d.ts.map +0 -1
  528. package/dist/types/src/query/types.d.ts +0 -17
  529. package/dist/types/src/query/types.d.ts.map +0 -1
  530. package/dist/types/src/query/util.d.ts +0 -8
  531. package/dist/types/src/query/util.d.ts.map +0 -1
  532. package/src/errors.ts +0 -18
  533. package/src/internal/entities/expando.ts +0 -23
  534. package/src/internal/object/typed-object.ts +0 -94
  535. package/src/internal/proxy/index.ts +0 -6
  536. package/src/internal/proxy/make-object.ts +0 -113
  537. package/src/internal/proxy/typed-handler.test.ts +0 -102
  538. package/src/internal/proxy/typed-handler.ts +0 -233
  539. package/src/internal/proxy/typed-object.test.ts +0 -105
  540. package/src/internal/schema/persistent-schema.ts +0 -28
  541. package/src/internal/schema/runtime-schema-registry.ts +0 -78
  542. package/src/internal/schema/snapshot.ts +0 -25
  543. package/src/internal/types/entity.ts +0 -23
  544. package/src/query/filter.ts +0 -455
  545. package/src/query/index.ts +0 -9
  546. package/src/query/order.ts +0 -34
  547. package/src/query/query.test.ts +0 -334
  548. package/src/query/query.ts +0 -303
  549. package/src/query/testing.ts +0 -64
  550. package/src/query/types.ts +0 -23
  551. package/src/query/util.ts +0 -25
  552. /package/dist/lib/{browser/index.mjs.map → neutral/Annotation.mjs.map} +0 -0
  553. /package/dist/lib/{browser/internal/index.mjs.map → neutral/Database.mjs.map} +0 -0
  554. /package/dist/lib/{node-esm/index.mjs.map → neutral/Entity.mjs.map} +0 -0
  555. /package/dist/lib/{node-esm/internal/index.mjs.map → neutral/Err.mjs.map} +0 -0
  556. /package/dist/types/src/internal/{annotations → Annotation}/annotations.test.d.ts +0 -0
  557. /package/dist/types/src/internal/{entities → Entity}/util.d.ts +0 -0
  558. /package/dist/types/src/internal/{formats → Format}/date.d.ts +0 -0
  559. /package/dist/types/src/internal/{formats → Format}/date.test.d.ts +0 -0
  560. /package/dist/types/src/internal/{formats → Format}/format.test.d.ts +0 -0
  561. /package/dist/types/src/internal/{formats → Format}/index.d.ts +0 -0
  562. /package/dist/types/src/internal/{formats → Format}/number.d.ts +0 -0
  563. /package/dist/types/src/internal/{formats → Format}/object.d.ts +0 -0
  564. /package/dist/types/src/internal/{json-schema → JsonSchema}/effect-schema.test.d.ts +0 -0
  565. /package/dist/types/src/internal/{json-schema → JsonSchema}/index.d.ts +0 -0
  566. /package/dist/types/src/internal/{json-schema → JsonSchema}/json-schema-normalize.d.ts +0 -0
  567. /package/dist/types/src/internal/{json-schema → JsonSchema}/json-schema.test.d.ts +0 -0
  568. /package/dist/types/src/internal/{object → Obj}/common.d.ts +0 -0
  569. /package/dist/types/src/internal/{object → Obj}/create-object.test.d.ts +0 -0
  570. /package/dist/types/src/internal/{object → Obj}/ids.d.ts +0 -0
  571. /package/dist/types/src/internal/{object → Obj}/inspect.d.ts +0 -0
  572. /package/dist/types/src/internal/{object → Obj}/json-serializer.test.d.ts +0 -0
  573. /package/dist/types/src/internal/{object → Obj}/schema-validator.test.d.ts +0 -0
  574. /package/dist/types/src/internal/{object → Obj}/typed-object.test.d.ts +0 -0
  575. /package/dist/types/src/internal/{ref → Ref}/index.d.ts +0 -0
  576. /package/dist/types/src/internal/{ref → Ref}/ref.test.d.ts +0 -0
  577. /package/dist/types/src/internal/{schema → Type}/compose.test.d.ts +0 -0
  578. /package/dist/types/src/internal/{schema → Type}/manipulation.d.ts +0 -0
  579. /package/dist/types/src/internal/{proxy → common/proxy}/handler.test.d.ts +0 -0
  580. /package/dist/types/src/internal/{object → common/proxy}/schema-validator.d.ts +0 -0
  581. /package/dist/types/src/internal/{proxy → common/proxy}/schema.test.d.ts +0 -0
  582. /package/dist/types/src/internal/{proxy → common/proxy}/typed-handler.test.d.ts +0 -0
  583. /package/dist/types/src/internal/{proxy → common/proxy}/typed-object.test.d.ts +0 -0
  584. /package/src/internal/{entities → Entity}/util.ts +0 -0
  585. /package/src/internal/{formats → Format}/date.ts +0 -0
  586. /package/src/internal/{formats → Format}/index.ts +0 -0
  587. /package/src/internal/{formats → Format}/number.ts +0 -0
  588. /package/src/internal/{json-schema → JsonSchema}/effect-schema.test.ts +0 -0
  589. /package/src/internal/{json-schema → JsonSchema}/index.ts +0 -0
  590. /package/src/internal/{object → Obj}/ids.ts +0 -0
  591. /package/src/internal/{ref → Ref}/index.ts +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema.test.d.ts","sourceRoot":"","sources":["../../../../../../src/internal/common/proxy/schema.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,3 @@
1
+ export declare const EventId: unique symbol;
2
+ export declare const ChangeId: unique symbol;
3
+ //# sourceMappingURL=symbols.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"symbols.d.ts","sourceRoot":"","sources":["../../../../../../src/internal/common/proxy/symbols.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,OAAO,eAA0C,CAAC;AAC/D,eAAO,MAAM,QAAQ,eAA2C,CAAC"}
@@ -1,9 +1,9 @@
1
1
  import * as Schema from 'effect/Schema';
2
- import { type GenericSignal } from '@dxos/echo-signals/runtime';
3
- import { type ReactiveHandler } from '@dxos/live-object';
4
- import { SchemaId, TypeId } from '../types';
5
- declare const symbolSignal: unique symbol;
6
- declare const symbolPropertySignal: unique symbol;
2
+ import { Event } from '@dxos/async';
3
+ import { ParentId, SchemaId, TypeId } from '../types';
4
+ import { type ReactiveHandler } from './proxy-types';
5
+ import { EventId } from './symbols';
6
+ export { getEchoRoot, setMetaOwner } from './ownership';
7
7
  type ProxyTarget = {
8
8
  /**
9
9
  * Typename or type DXN.
@@ -13,32 +13,36 @@ type ProxyTarget = {
13
13
  * Schema for the root.
14
14
  */
15
15
  [SchemaId]: Schema.Schema.AnyNoContext;
16
+ [ParentId]?: any;
16
17
  /**
17
- * For get and set operations on value properties.
18
+ * For modifications.
18
19
  */
19
- [symbolSignal]: GenericSignal;
20
- /**
21
- * For modifying the structure of the object.
22
- */
23
- [symbolPropertySignal]: GenericSignal;
20
+ [EventId]: Event<void>;
24
21
  } & ({
25
22
  [key: keyof any]: any;
26
23
  } | any[]);
27
24
  /**
28
25
  * Typed in-memory reactive store (with Schema).
26
+ * Reactivity is based on Event subscriptions, not signals.
29
27
  */
30
28
  export declare class TypedReactiveHandler implements ReactiveHandler<ProxyTarget> {
31
29
  static readonly instance: ReactiveHandler<any>;
32
30
  readonly _proxyMap: WeakMap<object, any>;
31
+ private _inSet;
33
32
  private constructor();
34
33
  init(target: ProxyTarget): void;
35
34
  get(target: ProxyTarget, prop: string | symbol, receiver: any): any;
36
35
  set(target: ProxyTarget, prop: string | symbol, value: any, receiver: any): boolean;
37
36
  ownKeys(target: ProxyTarget): ArrayLike<string | symbol>;
37
+ deleteProperty(target: ProxyTarget, property: string | symbol): boolean;
38
38
  defineProperty(target: ProxyTarget, property: string | symbol, attributes: PropertyDescriptor): boolean;
39
+ /**
40
+ * Prepare a value for assignment to a typed object property.
41
+ * Handles cycle detection, copy-on-assign, array conversion, validation, and ownership.
42
+ */
43
+ private _prepareValueForAssignment;
39
44
  private _validateValue;
40
45
  private _inspect;
41
46
  }
42
47
  export declare const prepareTypedTarget: <T>(target: T, schema: Schema.Schema<T>) => void;
43
- export {};
44
48
  //# sourceMappingURL=typed-handler.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"typed-handler.d.ts","sourceRoot":"","sources":["../../../../../../src/internal/common/proxy/typed-handler.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAGxC,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAKpC,OAAO,EAAmB,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAevE,OAAO,EAAE,KAAK,eAAe,EAAc,MAAM,eAAe,CAAC;AAIjE,OAAO,EAAY,OAAO,EAAE,MAAM,WAAW,CAAC;AAG9C,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAExD,KAAK,WAAW,GAAG;IACjB;;OAEG;IACH,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAEjB;;OAEG;IACH,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC;IACvC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC;IAEjB;;OAEG;IACH,CAAC,OAAO,CAAC,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;CACxB,GAAG,CAAC;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,GAAG,CAAA;CAAE,GAAG,GAAG,EAAE,CAAC,CAAC;AA+ExC;;;GAGG;AACH,qBAAa,oBAAqB,YAAW,eAAe,CAAC,WAAW,CAAC;IACvE,gBAAuB,QAAQ,EAAE,eAAe,CAAC,GAAG,CAAC,CAA8B;IAEnF,QAAQ,CAAC,SAAS,uBAA8B;IAChD,OAAO,CAAC,MAAM,CAAS;IAEvB,OAAO;IAEP,IAAI,CAAC,MAAM,EAAE,WAAW,GAAG,IAAI;IAoD/B,GAAG,CAAC,MAAM,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,QAAQ,EAAE,GAAG,GAAG,GAAG;IA8BnE,GAAG,CAAC,MAAM,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG,GAAG,OAAO;IAmCnF,OAAO,CAAC,MAAM,EAAE,WAAW,GAAG,SAAS,CAAC,MAAM,GAAG,MAAM,CAAC;IAIxD,cAAc,CAAC,MAAM,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO;IAkBvE,cAAc,CAAC,MAAM,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,EAAE,UAAU,EAAE,kBAAkB,GAAG,OAAO;IA2BvG;;;OAGG;IACH,OAAO,CAAC,0BAA0B;IAqDlC,OAAO,CAAC,cAAc;IAatB,OAAO,CAAC,QAAQ;CAajB;AA8BD,eAAO,MAAM,kBAAkB,GAAI,CAAC,EAAE,QAAQ,CAAC,EAAE,QAAQ,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,SAUxE,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"typed-handler.test.d.ts","sourceRoot":"","sources":["../../../../../../src/internal/common/proxy/typed-handler.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"typed-object.test.d.ts","sourceRoot":"","sources":["../../../../../../src/internal/common/proxy/typed-object.test.ts"],"names":[],"mappings":""}
@@ -1,18 +1,6 @@
1
1
  import * as Schema from 'effect/Schema';
2
2
  import { type ObjectId } from '@dxos/keys';
3
3
  import { type ATTR_META, type ObjectMeta } from './meta';
4
- /**
5
- * Marker interface for object with an `id`.
6
- */
7
- export interface HasId {
8
- readonly id: ObjectId;
9
- }
10
- /**
11
- * Object that has an associated typename.
12
- * The typename is retrievable using {@link getTypename}.
13
- * The object can be used with {@link isInstanceOf} to check if it is an instance of a schema.
14
- */
15
- export type HasTypename = {};
16
4
  /**
17
5
  * Base type for all data objects (reactive, ECHO, and other raw objects).
18
6
  * NOTE: This describes the base type for all database objects.
@@ -20,18 +8,20 @@ export type HasTypename = {};
20
8
  */
21
9
  export type AnyProperties = Record<string, any>;
22
10
  /**
23
- * Canonical type for all ECHO objects.
11
+ * Canonical type for all ECHO entities (objects and relations).
12
+ * @depreacted Remove, use Entity.Unknown instead.
24
13
  */
25
- export interface AnyEchoObject extends HasId, HasTypename {
14
+ export interface AnyEntity {
15
+ readonly id: ObjectId;
26
16
  }
27
- export type WithId<T extends AnyProperties = AnyProperties> = T & HasId;
28
17
  export type ExcludeId<T extends AnyProperties> = Omit<T, 'id'>;
29
18
  export type PropertyKey<T extends AnyProperties> = Extract<keyof ExcludeId<T>, string>;
30
- export type WithMeta = {
19
+ type WithMeta = {
31
20
  [ATTR_META]?: ObjectMeta;
32
21
  };
33
22
  /**
34
23
  * The raw object should not include the ECHO id, but may include metadata.
35
24
  */
36
25
  export declare const RawObject: <S extends Schema.Schema.AnyNoContext>(schema: S) => Schema.Schema<ExcludeId<Schema.Schema.Type<S>> & WithMeta, Schema.Schema.Encoded<S>>;
26
+ export {};
37
27
  //# sourceMappingURL=base.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../../../../../src/internal/common/types/base.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAGxC,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,YAAY,CAAC;AAE3C,OAAO,EAAE,KAAK,SAAS,EAAE,KAAK,UAAU,EAAE,MAAM,QAAQ,CAAC;AAEzD;;;;GAIG;AAEH,MAAM,MAAM,aAAa,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;AAEhD;;;GAGG;AAEH,MAAM,WAAW,SAAS;IACxB,QAAQ,CAAC,EAAE,EAAE,QAAQ,CAAC;CACvB;AAED,MAAM,MAAM,SAAS,CAAC,CAAC,SAAS,aAAa,IAAI,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;AAE/D,MAAM,MAAM,WAAW,CAAC,CAAC,SAAS,aAAa,IAAI,OAAO,CAAC,MAAM,SAAS,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;AAGvF,KAAK,QAAQ,GAAG;IAAE,CAAC,SAAS,CAAC,CAAC,EAAE,UAAU,CAAA;CAAE,CAAC;AAE7C;;GAEG;AACH,eAAO,MAAM,SAAS,GAAI,CAAC,SAAS,MAAM,CAAC,MAAM,CAAC,YAAY,EAC5D,QAAQ,CAAC,KACR,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAErF,CAAC"}
@@ -0,0 +1,37 @@
1
+ import * as Schema from 'effect/Schema';
2
+ /**
3
+ * String key used to identify the kind of an entity instance (object or relation).
4
+ */
5
+ export declare const KindId: "~@dxos/echo/Kind";
6
+ export type KindId = typeof KindId;
7
+ /**
8
+ * String key used to identify the kind of a schema (object schema or relation schema).
9
+ * Parallels KindId which identifies instance kinds.
10
+ */
11
+ export declare const SchemaKindId: "~@dxos/echo/SchemaKind";
12
+ export type SchemaKindId = typeof SchemaKindId;
13
+ /**
14
+ * String key used to brand snapshot types.
15
+ * Snapshots have SnapshotKindId instead of KindId, making them
16
+ * distinguishable from reactive objects at the type level.
17
+ */
18
+ export declare const SnapshotKindId: "~@dxos/echo/SnapshotKind";
19
+ export type SnapshotKindId = typeof SnapshotKindId;
20
+ /**
21
+ * Kinds of entities stored in ECHO: objects and relations.
22
+ */
23
+ export declare enum EntityKind {
24
+ Object = "object",
25
+ Relation = "relation"
26
+ }
27
+ export declare const EntityKindSchema: Schema.Enums<typeof EntityKind>;
28
+ /**
29
+ * Typename for generic object references (Type.Obj / Ref.Ref(Obj.Unknown)).
30
+ * Used when referencing any object without a specific schema.
31
+ */
32
+ export declare const ANY_OBJECT_TYPENAME = "org.dxos.schema.any-object";
33
+ /**
34
+ * Version for generic object references.
35
+ */
36
+ export declare const ANY_OBJECT_VERSION = "0.0.0";
37
+ //# sourceMappingURL=entity.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"entity.d.ts","sourceRoot":"","sources":["../../../../../../src/internal/common/types/entity.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AASxC;;GAEG;AACH,eAAO,MAAM,MAAM,EAAG,kBAA2B,CAAC;AAClD,MAAM,MAAM,MAAM,GAAG,OAAO,MAAM,CAAC;AAEnC;;;GAGG;AACH,eAAO,MAAM,YAAY,EAAG,wBAAiC,CAAC;AAC9D,MAAM,MAAM,YAAY,GAAG,OAAO,YAAY,CAAC;AAE/C;;;;GAIG;AACH,eAAO,MAAM,cAAc,EAAG,0BAAmC,CAAC;AAClE,MAAM,MAAM,cAAc,GAAG,OAAO,cAAc,CAAC;AAEnD;;GAEG;AACH,oBAAY,UAAU;IACpB,MAAM,WAAW;IACjB,QAAQ,aAAa;CACtB;AAED,eAAO,MAAM,gBAAgB,iCAA2B,CAAC;AAEzD;;;GAGG;AACH,eAAO,MAAM,mBAAmB,+BAA+B,CAAC;AAEhE;;GAEG;AACH,eAAO,MAAM,kBAAkB,UAAU,CAAC"}
@@ -1,6 +1,7 @@
1
1
  export * from './base';
2
2
  export * from './entity';
3
3
  export * from './meta';
4
+ export * from './model-symbols';
4
5
  export * from './typename';
5
6
  export * from './version';
6
7
  //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/internal/common/types/index.ts"],"names":[],"mappings":"AAIA,cAAc,QAAQ,CAAC;AACvB,cAAc,UAAU,CAAC;AACzB,cAAc,QAAQ,CAAC;AACvB,cAAc,iBAAiB,CAAC;AAChC,cAAc,YAAY,CAAC;AAC3B,cAAc,WAAW,CAAC"}
@@ -1,7 +1,8 @@
1
1
  import * as Schema from 'effect/Schema';
2
2
  import { ForeignKey } from '@dxos/echo-protocol';
3
3
  import { type Comparator } from '@dxos/util';
4
- import { type AnyProperties, type WithMeta } from './base';
4
+ import type * as Entity from '../../../Entity';
5
+ import { type AnyProperties } from './base';
5
6
  /**
6
7
  * Property name for meta when object is serialized to JSON.
7
8
  */
@@ -9,31 +10,23 @@ export declare const ATTR_META = "@meta";
9
10
  /**
10
11
  * Metadata section.
11
12
  */
12
- export declare const MetaId: unique symbol;
13
- export declare const ObjectMetaSchema: Schema.mutable<Schema.Struct<{
14
- keys: Schema.mutable<Schema.Array$<Schema.Schema<{
13
+ export declare const MetaId: Entity.Meta;
14
+ export declare const ObjectMetaSchema: Schema.Struct<{
15
+ keys: Schema.Array$<Schema.Schema<{
15
16
  readonly source: string;
16
17
  readonly id: string;
17
18
  }, {
18
19
  readonly source: string;
19
20
  readonly id: string;
20
- }, never>>>;
21
+ }, never>>;
21
22
  /**
22
23
  * A set of tags.
23
24
  * Tags are arbitrary application-defined strings.
24
25
  * ECHO makes no assumptions about the tag structure.
25
26
  */
26
- tags: Schema.optional<Schema.mutable<Schema.Array$<typeof Schema.String>>>;
27
- }>>;
27
+ tags: Schema.optional<Schema.Array$<typeof Schema.String>>;
28
+ }>;
28
29
  export type ObjectMeta = Schema.Schema.Type<typeof ObjectMetaSchema>;
29
- /**
30
- * Utility to split meta property from raw object.
31
- * @deprecated Bad API.
32
- */
33
- export declare const splitMeta: <T>(object: T & WithMeta) => {
34
- object: T;
35
- meta?: ObjectMeta;
36
- };
37
30
  export declare const foreignKey: (source: string, id: string) => ForeignKey;
38
31
  export declare const foreignKeyEquals: (a: ForeignKey, b: ForeignKey) => boolean;
39
32
  export declare const compareForeignKeys: Comparator<AnyProperties>;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"meta.d.ts","sourceRoot":"","sources":["../../../../../../src/internal/common/types/meta.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAExC,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAEjD,OAAO,EAAE,KAAK,UAAU,EAAgB,MAAM,YAAY,CAAC;AAE3D,OAAO,KAAK,KAAK,MAAM,MAAM,iBAAiB,CAAC;AAE/C,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,QAAQ,CAAC;AAE5C;;GAEG;AACH,eAAO,MAAM,SAAS,UAAU,CAAC;AAEjC;;GAEG;AACH,eAAO,MAAM,MAAM,EAAE,MAAM,CAAC,IAA2C,CAAC;AAOxE,eAAO,MAAM,gBAAgB;;;;;;;;IAG3B;;;;OAIG;;EAKH,CAAC;AAEH,MAAM,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAmBrE,eAAO,MAAM,UAAU,GAAI,QAAQ,MAAM,EAAE,IAAI,MAAM,KAAG,UAA8B,CAAC;AACvF,eAAO,MAAM,gBAAgB,GAAI,GAAG,UAAU,EAAE,GAAG,UAAU,YAA2C,CAAC;AAGzG,eAAO,MAAM,kBAAkB,EAAE,UAAU,CAAC,aAAa,CACoB,CAAC"}
@@ -0,0 +1,54 @@
1
+ /**
2
+ * Internal symbol/string constants for the echo object model.
3
+ * Defined in common/ so proxy/ can use them without importing from Entity/.
4
+ * Entity/ re-exports these for external consumers.
5
+ */
6
+ /**
7
+ * Property name for self DXN when object is serialized to JSON.
8
+ */
9
+ export declare const ATTR_SELF_DXN = "@dxn";
10
+ /**
11
+ * DXN to the object itself.
12
+ */
13
+ export declare const SelfDXNId: unique symbol;
14
+ /**
15
+ * Property name for deleted when object is serialized to JSON.
16
+ */
17
+ export declare const ATTR_DELETED = "@deleted";
18
+ /**
19
+ * Deletion marker.
20
+ */
21
+ export declare const ObjectDeletedId: unique symbol;
22
+ /**
23
+ * Object version accessor symbol.
24
+ */
25
+ export declare const ObjectVersionId: unique symbol;
26
+ /**
27
+ * Object database accessor symbol.
28
+ */
29
+ export declare const ObjectDatabaseId: unique symbol;
30
+ /**
31
+ * Property name for relation source when object is serialized to JSON.
32
+ */
33
+ export declare const ATTR_RELATION_SOURCE = "@relationSource";
34
+ /**
35
+ * Used to access relation source ref on live ECHO objects.
36
+ */
37
+ export declare const RelationSourceId: unique symbol;
38
+ /**
39
+ * Used to access relation source DXN on live ECHO objects.
40
+ */
41
+ export declare const RelationSourceDXNId: unique symbol;
42
+ /**
43
+ * Property name for relation target when object is serialized to JSON.
44
+ */
45
+ export declare const ATTR_RELATION_TARGET = "@relationTarget";
46
+ /**
47
+ * Used to access relation target ref on live ECHO objects.
48
+ */
49
+ export declare const RelationTargetId: unique symbol;
50
+ /**
51
+ * Used to access relation target DXN on live ECHO objects.
52
+ */
53
+ export declare const RelationTargetDXNId: unique symbol;
54
+ //# sourceMappingURL=model-symbols.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"model-symbols.d.ts","sourceRoot":"","sources":["../../../../../../src/internal/common/types/model-symbols.ts"],"names":[],"mappings":"AAIA;;;;GAIG;AAEH;;GAEG;AACH,eAAO,MAAM,aAAa,SAAS,CAAC;AAEpC;;GAEG;AACH,eAAO,MAAM,SAAS,eAA+B,CAAC;AAEtD;;GAEG;AACH,eAAO,MAAM,YAAY,aAAa,CAAC;AAEvC;;GAEG;AACH,eAAO,MAAM,eAAe,eAAmC,CAAC;AAEhE;;GAEG;AACH,eAAO,MAAM,eAAe,EAAE,OAAO,MAAyC,CAAC;AAE/E;;GAEG;AACH,eAAO,MAAM,gBAAgB,eAAoC,CAAC;AAElE;;GAEG;AACH,eAAO,MAAM,oBAAoB,oBAAoB,CAAC;AAEtD;;GAEG;AACH,eAAO,MAAM,gBAAgB,EAAE,OAAO,MAAgD,CAAC;AAEvF;;GAEG;AACH,eAAO,MAAM,mBAAmB,EAAE,OAAO,MAAmD,CAAC;AAE7F;;GAEG;AACH,eAAO,MAAM,oBAAoB,oBAAoB,CAAC;AAEtD;;GAEG;AACH,eAAO,MAAM,gBAAgB,EAAE,OAAO,MAAgD,CAAC;AAEvF;;GAEG;AACH,eAAO,MAAM,mBAAmB,EAAE,OAAO,MAAmD,CAAC"}
@@ -10,4 +10,12 @@ export declare const TypeId: unique symbol;
10
10
  * Reference to the object schema.
11
11
  */
12
12
  export declare const SchemaId: unique symbol;
13
+ /**
14
+ * Property name for parent when object is serialized to JSON.
15
+ */
16
+ export declare const ATTR_PARENT = "@parent";
17
+ /**
18
+ * Reference to the object parent.
19
+ */
20
+ export declare const ParentId: unique symbol;
13
21
  //# sourceMappingURL=typename.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"typename.d.ts","sourceRoot":"","sources":["../../../../../../src/internal/common/types/typename.ts"],"names":[],"mappings":"AAMA;;GAEG;AACH,eAAO,MAAM,SAAS,UAAU,CAAC;AAEjC;;GAEG;AACH,eAAO,MAAM,MAAM,eAAgC,CAAC;AAEpD;;GAEG;AACH,eAAO,MAAM,QAAQ,eAAkC,CAAC;AAExD;;GAEG;AACH,eAAO,MAAM,WAAW,YAAY,CAAC;AAErC;;GAEG;AACH,eAAO,MAAM,QAAQ,eAAkC,CAAC"}
@@ -1,7 +1,7 @@
1
1
  /**
2
- * Version type symbol.
2
+ * Version type identifier.
3
3
  */
4
- export declare const VersionTypeId: unique symbol;
4
+ export declare const VersionTypeId: "~@dxos/echo/VersionTypeId";
5
5
  export type VersionTypeId = typeof VersionTypeId;
6
6
  /**
7
7
  * Represents the object version.
@@ -0,0 +1 @@
1
+ {"version":3,"file":"version.d.ts","sourceRoot":"","sources":["../../../../../../src/internal/common/types/version.ts"],"names":[],"mappings":"AAIA;;GAEG;AACH,eAAO,MAAM,aAAa,EAAG,2BAAoC,CAAC;AAClE,MAAM,MAAM,aAAa,GAAG,OAAO,aAAa,CAAC;AAEjD;;;;GAIG;AACH,MAAM,WAAW,OAAO;IACtB,CAAC,aAAa,CAAC,EAAE,EAAE,CAAC;IACpB,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;CAC3B"}
@@ -1,11 +1,10 @@
1
- export { JsonPath, JsonProp, getValue, setValue, splitJsonPath } from '@dxos/effect';
2
- export * from './annotations';
3
- export * from './entities';
4
- export * from './formats';
5
- export * from './json-schema';
6
- export * from './ref';
7
- export * from './types';
8
- export * from './object';
9
- export * from './proxy';
10
- export * from './schema';
1
+ export { JsonPath, JsonProp, getValue, splitJsonPath } from '@dxos/effect';
2
+ export * from './Annotation';
3
+ export * from './common';
4
+ export * from './Entity';
5
+ export * from './Format';
6
+ export * from './JsonSchema';
7
+ export * from './Obj';
8
+ export * from './Ref';
9
+ export * from './Type';
11
10
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/internal/index.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAErF,cAAc,eAAe,CAAC;AAC9B,cAAc,YAAY,CAAC;AAC3B,cAAc,WAAW,CAAC;AAC1B,cAAc,eAAe,CAAC;AAC9B,cAAc,OAAO,CAAC;AACtB,cAAc,SAAS,CAAC;AAGxB,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/internal/index.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAE3E,cAAc,cAAc,CAAC;AAC7B,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC;AACzB,cAAc,cAAc,CAAC;AAE7B,cAAc,OAAO,CAAC;AACtB,cAAc,OAAO,CAAC;AACtB,cAAc,QAAQ,CAAC"}