@dxos/echo 0.8.4-staging.ac66bdf99f → 0.9.1-main.c7dcc2e112

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 (444) hide show
  1. package/LICENSE +102 -5
  2. package/README.md +7 -7
  3. package/dist/lib/neutral/Annotation.mjs +45 -6
  4. package/dist/lib/neutral/Database.mjs +10 -17
  5. package/dist/lib/neutral/Entity.mjs +35 -20
  6. package/dist/lib/neutral/Err.mjs +3 -3
  7. package/dist/lib/neutral/Feed.mjs +23 -19
  8. package/dist/lib/neutral/Filter.mjs +13 -15
  9. package/dist/lib/neutral/Format.mjs +23 -3
  10. package/dist/lib/neutral/JsonSchema.mjs +7 -8
  11. package/dist/lib/neutral/Key.mjs +9 -5
  12. package/dist/lib/neutral/Migration.mjs +11 -10
  13. package/dist/lib/neutral/Obj.mjs +33 -20
  14. package/dist/lib/neutral/Order.mjs +7 -3
  15. package/dist/lib/neutral/Query.mjs +17 -17
  16. package/dist/lib/neutral/QueryResult.mjs +1 -1
  17. package/dist/lib/neutral/Ref.mjs +10 -9
  18. package/dist/lib/neutral/Registry.mjs +14 -0
  19. package/dist/lib/neutral/Relation.mjs +28 -25
  20. package/dist/lib/neutral/Scope.mjs +12 -0
  21. package/dist/lib/neutral/Tag.mjs +17 -14
  22. package/dist/lib/neutral/Type.mjs +54 -26
  23. package/dist/lib/neutral/{chunk-OMUPQMLR.mjs → chunk-35INCYOE.mjs} +1 -1
  24. package/dist/lib/neutral/chunk-35INCYOE.mjs.map +7 -0
  25. package/dist/lib/neutral/{chunk-4OIBYSXE.mjs → chunk-3JXQUMUI.mjs} +78 -32
  26. package/dist/lib/neutral/chunk-3JXQUMUI.mjs.map +7 -0
  27. package/dist/lib/neutral/{chunk-G3IQMKF7.mjs → chunk-4TPQZPLY.mjs} +130 -119
  28. package/dist/lib/neutral/chunk-4TPQZPLY.mjs.map +7 -0
  29. package/dist/lib/neutral/{chunk-TU3GW67D.mjs → chunk-5GAIWRQB.mjs} +40 -40
  30. package/dist/lib/neutral/chunk-5GAIWRQB.mjs.map +7 -0
  31. package/dist/lib/neutral/{chunk-B4BASU6W.mjs → chunk-6CEISA3V.mjs} +93 -76
  32. package/dist/lib/neutral/chunk-6CEISA3V.mjs.map +7 -0
  33. package/dist/lib/neutral/{chunk-GZQTCRJB.mjs → chunk-6M2Z6WBH.mjs} +22 -2
  34. package/dist/lib/neutral/chunk-6M2Z6WBH.mjs.map +7 -0
  35. package/dist/lib/neutral/{chunk-ANHVGJI4.mjs → chunk-7LOUAPYZ.mjs} +9 -5
  36. package/dist/lib/neutral/chunk-7LOUAPYZ.mjs.map +7 -0
  37. package/dist/lib/neutral/{chunk-WAK4DMFV.mjs → chunk-A53NTBHE.mjs} +12 -7
  38. package/dist/lib/neutral/chunk-A53NTBHE.mjs.map +7 -0
  39. package/dist/lib/neutral/{chunk-EAMSSLZC.mjs → chunk-AFANXSGV.mjs} +83 -46
  40. package/dist/lib/neutral/chunk-AFANXSGV.mjs.map +7 -0
  41. package/dist/lib/neutral/{chunk-UBEZSGXY.mjs → chunk-BBFJWWAV.mjs} +6 -6
  42. package/dist/lib/neutral/chunk-BBFJWWAV.mjs.map +7 -0
  43. package/dist/lib/neutral/chunk-E7IOTOZD.mjs +108 -0
  44. package/dist/lib/neutral/chunk-E7IOTOZD.mjs.map +7 -0
  45. package/dist/lib/neutral/{chunk-UI6MWK5W.mjs → chunk-EVK6XBXO.mjs} +16 -2
  46. package/dist/lib/neutral/chunk-EVK6XBXO.mjs.map +7 -0
  47. package/dist/lib/neutral/chunk-HGWQR5KH.mjs +259 -0
  48. package/dist/lib/neutral/chunk-HGWQR5KH.mjs.map +7 -0
  49. package/dist/lib/neutral/chunk-JZ6LFQU5.mjs +109 -0
  50. package/dist/lib/neutral/chunk-JZ6LFQU5.mjs.map +7 -0
  51. package/dist/lib/neutral/{chunk-JUXPFOEI.mjs → chunk-K3S7D5PR.mjs} +48 -88
  52. package/dist/lib/neutral/chunk-K3S7D5PR.mjs.map +7 -0
  53. package/dist/lib/neutral/{chunk-OS35K56T.mjs → chunk-L3OBWBV2.mjs} +3 -3
  54. package/dist/lib/neutral/{chunk-OS35K56T.mjs.map → chunk-L3OBWBV2.mjs.map} +2 -2
  55. package/dist/lib/neutral/{chunk-V36VO5SS.mjs → chunk-NOL7O3BL.mjs} +32 -40
  56. package/dist/lib/neutral/chunk-NOL7O3BL.mjs.map +7 -0
  57. package/dist/lib/neutral/{chunk-TBKX6JQO.mjs → chunk-O6BH7EPN.mjs} +30 -3
  58. package/dist/lib/neutral/chunk-O6BH7EPN.mjs.map +7 -0
  59. package/dist/lib/neutral/{chunk-7RO7CPBZ.mjs → chunk-PLDMJJJC.mjs} +2 -2
  60. package/dist/lib/neutral/{chunk-HBUZJNZO.mjs → chunk-SZ5WB6HF.mjs} +94 -99
  61. package/dist/lib/neutral/chunk-SZ5WB6HF.mjs.map +7 -0
  62. package/dist/lib/neutral/{chunk-BVOFLCVF.mjs → chunk-TF5BSLF6.mjs} +9 -6
  63. package/dist/lib/neutral/chunk-TF5BSLF6.mjs.map +7 -0
  64. package/dist/lib/neutral/{chunk-DQYLD2RB.mjs → chunk-TFEWTY5A.mjs} +155 -129
  65. package/dist/lib/neutral/chunk-TFEWTY5A.mjs.map +7 -0
  66. package/dist/lib/neutral/{chunk-MOR5ERFM.mjs → chunk-VQYL2OQF.mjs} +771 -1252
  67. package/dist/lib/neutral/chunk-VQYL2OQF.mjs.map +7 -0
  68. package/dist/lib/neutral/chunk-WISOH2XH.mjs +36 -0
  69. package/dist/lib/neutral/chunk-WISOH2XH.mjs.map +7 -0
  70. package/dist/lib/neutral/chunk-WU3GIANS.mjs +31 -0
  71. package/dist/lib/neutral/chunk-WU3GIANS.mjs.map +7 -0
  72. package/dist/lib/neutral/chunk-WZ32BF53.mjs +702 -0
  73. package/dist/lib/neutral/chunk-WZ32BF53.mjs.map +7 -0
  74. package/dist/lib/neutral/chunk-X3NUUON4.mjs +184 -0
  75. package/dist/lib/neutral/chunk-X3NUUON4.mjs.map +7 -0
  76. package/dist/lib/neutral/chunk-Z3WMRRAZ.mjs +168 -0
  77. package/dist/lib/neutral/chunk-Z3WMRRAZ.mjs.map +7 -0
  78. package/dist/lib/neutral/index.mjs +47 -41
  79. package/dist/lib/neutral/internal/index.mjs +157 -72
  80. package/dist/lib/neutral/meta.json +1 -1
  81. package/dist/lib/neutral/testing/index.mjs +261 -178
  82. package/dist/lib/neutral/testing/index.mjs.map +4 -4
  83. package/dist/types/src/Annotation.d.ts +108 -4
  84. package/dist/types/src/Annotation.d.ts.map +1 -1
  85. package/dist/types/src/Annotation.test.d.ts +2 -0
  86. package/dist/types/src/Annotation.test.d.ts.map +1 -0
  87. package/dist/types/src/Collection.d.ts +2 -3
  88. package/dist/types/src/Collection.d.ts.map +1 -1
  89. package/dist/types/src/Database.d.ts +78 -49
  90. package/dist/types/src/Database.d.ts.map +1 -1
  91. package/dist/types/src/Dataset.d.ts +16 -6
  92. package/dist/types/src/Dataset.d.ts.map +1 -1
  93. package/dist/types/src/Entity.d.ts +103 -28
  94. package/dist/types/src/Entity.d.ts.map +1 -1
  95. package/dist/types/src/Err.d.ts +27 -27
  96. package/dist/types/src/Err.d.ts.map +1 -1
  97. package/dist/types/src/Feed.d.ts +69 -19
  98. package/dist/types/src/Feed.d.ts.map +1 -1
  99. package/dist/types/src/Filter.d.ts +38 -12
  100. package/dist/types/src/Filter.d.ts.map +1 -1
  101. package/dist/types/src/Format.d.ts +0 -2
  102. package/dist/types/src/Format.d.ts.map +1 -1
  103. package/dist/types/src/Hypergraph.d.ts +14 -9
  104. package/dist/types/src/Hypergraph.d.ts.map +1 -1
  105. package/dist/types/src/Json.d.ts +33 -0
  106. package/dist/types/src/Json.d.ts.map +1 -0
  107. package/dist/types/src/Json.test.d.ts +2 -0
  108. package/dist/types/src/Json.test.d.ts.map +1 -0
  109. package/dist/types/src/JsonSchema.d.ts +2 -2
  110. package/dist/types/src/JsonSchema.d.ts.map +1 -1
  111. package/dist/types/src/Key.d.ts +1 -1
  112. package/dist/types/src/Key.d.ts.map +1 -1
  113. package/dist/types/src/Migration.d.ts +26 -11
  114. package/dist/types/src/Migration.d.ts.map +1 -1
  115. package/dist/types/src/Obj.d.ts +106 -61
  116. package/dist/types/src/Obj.d.ts.map +1 -1
  117. package/dist/types/src/Order.d.ts +10 -0
  118. package/dist/types/src/Order.d.ts.map +1 -1
  119. package/dist/types/src/Query.d.ts +34 -12
  120. package/dist/types/src/Query.d.ts.map +1 -1
  121. package/dist/types/src/QueryResult.d.ts +21 -0
  122. package/dist/types/src/QueryResult.d.ts.map +1 -1
  123. package/dist/types/src/Ref.d.ts +15 -7
  124. package/dist/types/src/Ref.d.ts.map +1 -1
  125. package/dist/types/src/Registry.d.ts +131 -0
  126. package/dist/types/src/Registry.d.ts.map +1 -0
  127. package/dist/types/src/Relation.d.ts +73 -41
  128. package/dist/types/src/Relation.d.ts.map +1 -1
  129. package/dist/types/src/Scope.d.ts +35 -0
  130. package/dist/types/src/Scope.d.ts.map +1 -0
  131. package/dist/types/src/Tag.d.ts +21 -5
  132. package/dist/types/src/Tag.d.ts.map +1 -1
  133. package/dist/types/src/Type.d.ts +366 -95
  134. package/dist/types/src/Type.d.ts.map +1 -1
  135. package/dist/types/src/View.d.ts +9 -12
  136. package/dist/types/src/View.d.ts.map +1 -1
  137. package/dist/types/src/exemplars.test.d.ts +2 -0
  138. package/dist/types/src/exemplars.test.d.ts.map +1 -0
  139. package/dist/types/src/index.d.ts +4 -3
  140. package/dist/types/src/index.d.ts.map +1 -1
  141. package/dist/types/src/internal/Annotation/annotations.d.ts +120 -38
  142. package/dist/types/src/internal/Annotation/annotations.d.ts.map +1 -1
  143. package/dist/types/src/internal/Annotation/dictionary.d.ts +24 -0
  144. package/dist/types/src/internal/Annotation/dictionary.d.ts.map +1 -0
  145. package/dist/types/src/internal/Annotation/entity-dictionary.d.ts +14 -0
  146. package/dist/types/src/internal/Annotation/entity-dictionary.d.ts.map +1 -0
  147. package/dist/types/src/internal/Annotation/index.d.ts +4 -2
  148. package/dist/types/src/internal/Annotation/index.d.ts.map +1 -1
  149. package/dist/types/src/internal/Annotation/sorting.d.ts.map +1 -1
  150. package/dist/types/src/internal/Annotation/util.d.ts +14 -5
  151. package/dist/types/src/internal/Annotation/util.d.ts.map +1 -1
  152. package/dist/types/src/internal/Entity/api.d.ts +17 -3
  153. package/dist/types/src/internal/Entity/api.d.ts.map +1 -1
  154. package/dist/types/src/internal/Entity/entity.d.ts +72 -8
  155. package/dist/types/src/internal/Entity/entity.d.ts.map +1 -1
  156. package/dist/types/src/internal/Entity/guard.d.ts +10 -0
  157. package/dist/types/src/internal/Entity/guard.d.ts.map +1 -0
  158. package/dist/types/src/internal/Entity/index.d.ts +2 -0
  159. package/dist/types/src/internal/Entity/index.d.ts.map +1 -1
  160. package/dist/types/src/internal/Entity/model.d.ts +21 -17
  161. package/dist/types/src/internal/Entity/model.d.ts.map +1 -1
  162. package/dist/types/src/internal/Entity/object.d.ts +3 -3
  163. package/dist/types/src/internal/Entity/object.d.ts.map +1 -1
  164. package/dist/types/src/internal/Entity/relation.d.ts +30 -7
  165. package/dist/types/src/internal/Entity/relation.d.ts.map +1 -1
  166. package/dist/types/src/internal/Entity/type-kind.d.ts +24 -0
  167. package/dist/types/src/internal/Entity/type-kind.d.ts.map +1 -0
  168. package/dist/types/src/internal/Entity/type-uri.d.ts +24 -0
  169. package/dist/types/src/internal/Entity/type-uri.d.ts.map +1 -0
  170. package/dist/types/src/internal/Entity/version.d.ts.map +1 -1
  171. package/dist/types/src/internal/Format/date.d.ts.map +1 -1
  172. package/dist/types/src/internal/Format/format.d.ts +3 -2
  173. package/dist/types/src/internal/Format/format.d.ts.map +1 -1
  174. package/dist/types/src/internal/Format/index.d.ts +2 -2
  175. package/dist/types/src/internal/Format/index.d.ts.map +1 -1
  176. package/dist/types/src/internal/Format/number.d.ts.map +1 -1
  177. package/dist/types/src/internal/Format/object.d.ts +3 -1
  178. package/dist/types/src/internal/Format/object.d.ts.map +1 -1
  179. package/dist/types/src/internal/Format/types.d.ts.map +1 -1
  180. package/dist/types/src/internal/JsonSchema/json-schema-normalize.d.ts.map +1 -1
  181. package/dist/types/src/internal/JsonSchema/json-schema-type.d.ts +34 -34
  182. package/dist/types/src/internal/JsonSchema/json-schema-type.d.ts.map +1 -1
  183. package/dist/types/src/internal/JsonSchema/json-schema.d.ts +3 -2
  184. package/dist/types/src/internal/JsonSchema/json-schema.d.ts.map +1 -1
  185. package/dist/types/src/internal/Obj/atoms.d.ts +43 -0
  186. package/dist/types/src/internal/Obj/atoms.d.ts.map +1 -0
  187. package/dist/types/src/internal/Obj/clone.d.ts.map +1 -1
  188. package/dist/types/src/internal/Obj/common.d.ts.map +1 -1
  189. package/dist/types/src/internal/Obj/create-object.d.ts +12 -12
  190. package/dist/types/src/internal/Obj/create-object.d.ts.map +1 -1
  191. package/dist/types/src/internal/Obj/deleted.d.ts.map +1 -1
  192. package/dist/types/src/internal/Obj/index.d.ts +1 -1
  193. package/dist/types/src/internal/Obj/index.d.ts.map +1 -1
  194. package/dist/types/src/internal/Obj/json-serializer.d.ts +8 -8
  195. package/dist/types/src/internal/Obj/json-serializer.d.ts.map +1 -1
  196. package/dist/types/src/internal/Obj/set-value.d.ts +1 -1
  197. package/dist/types/src/internal/Obj/set-value.d.ts.map +1 -1
  198. package/dist/types/src/internal/Obj/snapshot.d.ts.map +1 -1
  199. package/dist/types/src/internal/Obj/typed-object.d.ts +1 -1
  200. package/dist/types/src/internal/Query/index.d.ts +2 -0
  201. package/dist/types/src/internal/Query/index.d.ts.map +1 -0
  202. package/dist/types/src/internal/{Query.d.ts → Query/pretty.d.ts} +1 -1
  203. package/dist/types/src/internal/Query/pretty.d.ts.map +1 -0
  204. package/dist/types/src/internal/Ref/atoms.d.ts +10 -0
  205. package/dist/types/src/internal/Ref/atoms.d.ts.map +1 -0
  206. package/dist/types/src/internal/Ref/index.d.ts +1 -0
  207. package/dist/types/src/internal/Ref/index.d.ts.map +1 -1
  208. package/dist/types/src/internal/Ref/ref-array.d.ts +2 -2
  209. package/dist/types/src/internal/Ref/ref.d.ts +114 -19
  210. package/dist/types/src/internal/Ref/ref.d.ts.map +1 -1
  211. package/dist/types/src/internal/Ref/strong-deps.d.ts +35 -0
  212. package/dist/types/src/internal/Ref/strong-deps.d.ts.map +1 -0
  213. package/dist/types/src/internal/Ref/utils.d.ts +8 -0
  214. package/dist/types/src/internal/Ref/utils.d.ts.map +1 -0
  215. package/dist/types/src/internal/Type/compose.d.ts.map +1 -1
  216. package/dist/types/src/internal/Type/index.d.ts +1 -2
  217. package/dist/types/src/internal/Type/index.d.ts.map +1 -1
  218. package/dist/types/src/internal/Type/manipulation.d.ts +0 -1
  219. package/dist/types/src/internal/Type/manipulation.d.ts.map +1 -1
  220. package/dist/types/src/internal/Type/type-schema.d.ts +52 -0
  221. package/dist/types/src/internal/Type/type-schema.d.ts.map +1 -0
  222. package/dist/types/src/internal/common/api/meta.d.ts +14 -11
  223. package/dist/types/src/internal/common/api/meta.d.ts.map +1 -1
  224. package/dist/types/src/internal/common/proxy/change-context.d.ts +1 -1
  225. package/dist/types/src/internal/common/proxy/change-context.d.ts.map +1 -1
  226. package/dist/types/src/internal/common/proxy/define-hidden-property.d.ts.map +1 -1
  227. package/dist/types/src/internal/common/proxy/errors.d.ts +1 -1
  228. package/dist/types/src/internal/common/proxy/errors.d.ts.map +1 -1
  229. package/dist/types/src/internal/common/proxy/event-batch.d.ts.map +1 -1
  230. package/dist/types/src/internal/common/proxy/json-serializer.d.ts.map +1 -1
  231. package/dist/types/src/internal/common/proxy/make-object.d.ts +11 -5
  232. package/dist/types/src/internal/common/proxy/make-object.d.ts.map +1 -1
  233. package/dist/types/src/internal/common/proxy/ownership.d.ts.map +1 -1
  234. package/dist/types/src/internal/common/proxy/proxy-utils.d.ts.map +1 -1
  235. package/dist/types/src/internal/common/proxy/reactive-array.d.ts +1 -1
  236. package/dist/types/src/internal/common/proxy/reactive.d.ts +1 -1
  237. package/dist/types/src/internal/common/proxy/reactive.d.ts.map +1 -1
  238. package/dist/types/src/internal/common/proxy/reactive.test.d.ts +2 -0
  239. package/dist/types/src/internal/common/proxy/reactive.test.d.ts.map +1 -0
  240. package/dist/types/src/internal/common/proxy/schema-validator.d.ts.map +1 -1
  241. package/dist/types/src/internal/common/proxy/typed-handler.d.ts +18 -2
  242. package/dist/types/src/internal/common/proxy/typed-handler.d.ts.map +1 -1
  243. package/dist/types/src/internal/common/types/base.d.ts +4 -4
  244. package/dist/types/src/internal/common/types/base.d.ts.map +1 -1
  245. package/dist/types/src/internal/common/types/entity.d.ts +62 -5
  246. package/dist/types/src/internal/common/types/entity.d.ts.map +1 -1
  247. package/dist/types/src/internal/common/types/index.d.ts +1 -1
  248. package/dist/types/src/internal/common/types/index.d.ts.map +1 -1
  249. package/dist/types/src/internal/common/types/meta.d.ts +33 -12
  250. package/dist/types/src/internal/common/types/meta.d.ts.map +1 -1
  251. package/dist/types/src/internal/common/types/model-symbols.d.ts +15 -4
  252. package/dist/types/src/internal/common/types/model-symbols.d.ts.map +1 -1
  253. package/dist/types/src/internal/common/types/typename.d.ts +7 -0
  254. package/dist/types/src/internal/common/types/typename.d.ts.map +1 -1
  255. package/dist/types/src/internal/common/types/version.d.ts +1 -1
  256. package/dist/types/src/internal/common/types/well-known-types.d.ts +11 -0
  257. package/dist/types/src/internal/common/types/well-known-types.d.ts.map +1 -0
  258. package/dist/types/src/internal/index.d.ts +2 -2
  259. package/dist/types/src/internal/index.d.ts.map +1 -1
  260. package/dist/types/src/testing/index.d.ts +1 -0
  261. package/dist/types/src/testing/index.d.ts.map +1 -1
  262. package/dist/types/src/testing/registry.d.ts +9 -0
  263. package/dist/types/src/testing/registry.d.ts.map +1 -0
  264. package/dist/types/src/testing/test-data.d.ts +8 -8
  265. package/dist/types/src/testing/test-data.d.ts.map +1 -1
  266. package/dist/types/src/testing/test-schema.d.ts +83 -89
  267. package/dist/types/src/testing/test-schema.d.ts.map +1 -1
  268. package/dist/types/src/testing/util.d.ts +5 -3
  269. package/dist/types/src/testing/util.d.ts.map +1 -1
  270. package/dist/types/tsconfig.tsbuildinfo +1 -1
  271. package/package.json +26 -24
  272. package/src/Annotation.test.ts +439 -0
  273. package/src/Annotation.ts +163 -4
  274. package/src/Collection.ts +5 -9
  275. package/src/Database.ts +126 -101
  276. package/src/Dataset.ts +10 -2
  277. package/src/Entity.test.ts +116 -6
  278. package/src/Entity.ts +136 -32
  279. package/src/Err.ts +4 -4
  280. package/src/Feed.ts +95 -44
  281. package/src/Filter.ts +70 -40
  282. package/src/Format.ts +0 -4
  283. package/src/Hypergraph.ts +14 -9
  284. package/src/Json.test.ts +175 -0
  285. package/src/Json.ts +103 -0
  286. package/src/Key.ts +1 -1
  287. package/src/Migration.ts +39 -19
  288. package/src/Obj.test.ts +122 -20
  289. package/src/Obj.ts +170 -91
  290. package/src/Order.ts +22 -0
  291. package/src/Query.test.ts +183 -154
  292. package/src/Query.ts +172 -85
  293. package/src/QueryResult.ts +26 -0
  294. package/src/Ref.ts +22 -4
  295. package/src/Registry.ts +155 -0
  296. package/src/Relation.test.ts +10 -10
  297. package/src/Relation.ts +116 -69
  298. package/src/Scope.ts +50 -0
  299. package/src/Tag.md +88 -0
  300. package/src/Tag.ts +50 -6
  301. package/src/Type.test.ts +223 -18
  302. package/src/Type.ts +623 -131
  303. package/src/View.ts +14 -23
  304. package/src/exemplars.test.ts +21 -0
  305. package/src/index.ts +4 -4
  306. package/src/internal/Annotation/annotations.test.ts +31 -11
  307. package/src/internal/Annotation/annotations.ts +199 -111
  308. package/src/internal/Annotation/dictionary.ts +47 -0
  309. package/src/internal/Annotation/entity-dictionary.ts +74 -0
  310. package/src/internal/Annotation/index.ts +4 -2
  311. package/src/internal/Annotation/util.ts +17 -8
  312. package/src/internal/Entity/api.ts +54 -7
  313. package/src/internal/Entity/entity.ts +196 -47
  314. package/src/internal/Entity/guard.ts +26 -0
  315. package/src/internal/Entity/index.ts +2 -0
  316. package/src/internal/Entity/model.ts +38 -28
  317. package/src/internal/Entity/object.ts +21 -5
  318. package/src/internal/Entity/relation.ts +68 -34
  319. package/src/internal/Entity/type-kind.ts +75 -0
  320. package/src/internal/Entity/type-uri.ts +92 -0
  321. package/src/internal/Entity/util.ts +9 -9
  322. package/src/internal/Format/date.ts +0 -4
  323. package/src/internal/Format/format.test.ts +21 -0
  324. package/src/internal/Format/index.ts +2 -3
  325. package/src/internal/Format/object.ts +21 -4
  326. package/src/internal/Format/types.ts +1 -1
  327. package/src/internal/JsonSchema/annotations.ts +1 -1
  328. package/src/internal/JsonSchema/json-schema-type.ts +4 -4
  329. package/src/internal/JsonSchema/json-schema.test.ts +71 -145
  330. package/src/internal/JsonSchema/json-schema.ts +49 -35
  331. package/src/internal/Obj/atoms.ts +275 -0
  332. package/src/internal/Obj/clone.ts +9 -4
  333. package/src/internal/Obj/create-object.test.ts +12 -10
  334. package/src/internal/Obj/create-object.ts +68 -22
  335. package/src/internal/Obj/index.ts +1 -1
  336. package/src/internal/Obj/inspect.ts +5 -3
  337. package/src/internal/Obj/json-serializer.test.ts +101 -22
  338. package/src/internal/Obj/json-serializer.ts +92 -36
  339. package/src/internal/Obj/set-value.test.ts +22 -45
  340. package/src/internal/Obj/set-value.ts +12 -19
  341. package/src/internal/Obj/snapshot.ts +13 -4
  342. package/src/internal/Obj/typed-object.test.ts +9 -11
  343. package/src/internal/Obj/typed-object.ts +1 -1
  344. package/src/internal/Query/index.ts +5 -0
  345. package/src/internal/{Query.ts → Query/pretty.ts} +40 -12
  346. package/src/internal/Ref/atoms.ts +20 -0
  347. package/src/internal/Ref/index.ts +1 -0
  348. package/src/internal/Ref/ref-array.ts +3 -3
  349. package/src/internal/Ref/ref.test.ts +18 -27
  350. package/src/internal/Ref/ref.ts +224 -69
  351. package/src/internal/Ref/strong-deps.ts +107 -0
  352. package/src/internal/Ref/utils.ts +45 -0
  353. package/src/internal/Type/compose.test.ts +3 -1
  354. package/src/internal/Type/index.ts +1 -2
  355. package/src/internal/Type/manipulation.ts +0 -25
  356. package/src/internal/Type/type-schema.ts +60 -0
  357. package/src/internal/common/README.md +2 -2
  358. package/src/internal/common/api/meta.ts +19 -17
  359. package/src/internal/common/proxy/change-context.ts +1 -1
  360. package/src/internal/common/proxy/change.test.ts +91 -83
  361. package/src/internal/common/proxy/errors.ts +2 -2
  362. package/src/internal/common/proxy/handler.test.ts +1 -1
  363. package/src/internal/common/proxy/json-serializer.ts +27 -16
  364. package/src/internal/common/proxy/make-object.ts +44 -20
  365. package/src/internal/common/proxy/ownership.ts +2 -2
  366. package/src/internal/common/proxy/reactive-array.ts +1 -1
  367. package/src/internal/common/proxy/reactive.test.ts +54 -0
  368. package/src/internal/common/proxy/reactive.ts +11 -2
  369. package/src/internal/common/proxy/schema.test.ts +48 -86
  370. package/src/internal/common/proxy/typed-handler.test.ts +12 -11
  371. package/src/internal/common/proxy/typed-handler.ts +78 -16
  372. package/src/internal/common/proxy/typed-object.test.ts +16 -28
  373. package/src/internal/common/types/base.ts +4 -4
  374. package/src/internal/common/types/entity.ts +80 -1
  375. package/src/internal/common/types/index.ts +6 -1
  376. package/src/internal/common/types/meta.ts +62 -20
  377. package/src/internal/common/types/model-symbols.ts +24 -4
  378. package/src/internal/common/types/typename.ts +39 -3
  379. package/src/internal/common/types/well-known-types.ts +15 -0
  380. package/src/internal/index.ts +6 -4
  381. package/src/testing/api.test.ts +15 -9
  382. package/src/testing/index.ts +1 -0
  383. package/src/testing/registry.ts +44 -0
  384. package/src/testing/test-data.ts +159 -99
  385. package/src/testing/test-schema.ts +22 -58
  386. package/src/testing/util.ts +14 -11
  387. package/dist/lib/neutral/Extension.mjs +0 -18
  388. package/dist/lib/neutral/SchemaRegistry.mjs +0 -2
  389. package/dist/lib/neutral/chunk-2KHZ36F5.mjs +0 -361
  390. package/dist/lib/neutral/chunk-2KHZ36F5.mjs.map +0 -7
  391. package/dist/lib/neutral/chunk-4OIBYSXE.mjs.map +0 -7
  392. package/dist/lib/neutral/chunk-4P3IXBLT.mjs +0 -45
  393. package/dist/lib/neutral/chunk-4P3IXBLT.mjs.map +0 -7
  394. package/dist/lib/neutral/chunk-ANHVGJI4.mjs.map +0 -7
  395. package/dist/lib/neutral/chunk-B4BASU6W.mjs.map +0 -7
  396. package/dist/lib/neutral/chunk-BNCCGLJN.mjs +0 -7
  397. package/dist/lib/neutral/chunk-BNCCGLJN.mjs.map +0 -7
  398. package/dist/lib/neutral/chunk-BVOFLCVF.mjs.map +0 -7
  399. package/dist/lib/neutral/chunk-DQYLD2RB.mjs.map +0 -7
  400. package/dist/lib/neutral/chunk-EAMSSLZC.mjs.map +0 -7
  401. package/dist/lib/neutral/chunk-G3IQMKF7.mjs.map +0 -7
  402. package/dist/lib/neutral/chunk-GZQTCRJB.mjs.map +0 -7
  403. package/dist/lib/neutral/chunk-HBUZJNZO.mjs.map +0 -7
  404. package/dist/lib/neutral/chunk-JUXPFOEI.mjs.map +0 -7
  405. package/dist/lib/neutral/chunk-MOR5ERFM.mjs.map +0 -7
  406. package/dist/lib/neutral/chunk-OMUPQMLR.mjs.map +0 -7
  407. package/dist/lib/neutral/chunk-PHU22NLC.mjs +0 -136
  408. package/dist/lib/neutral/chunk-PHU22NLC.mjs.map +0 -7
  409. package/dist/lib/neutral/chunk-ROG4RXXL.mjs +0 -97
  410. package/dist/lib/neutral/chunk-ROG4RXXL.mjs.map +0 -7
  411. package/dist/lib/neutral/chunk-T6W2LEZU.mjs +0 -125
  412. package/dist/lib/neutral/chunk-T6W2LEZU.mjs.map +0 -7
  413. package/dist/lib/neutral/chunk-TBKX6JQO.mjs.map +0 -7
  414. package/dist/lib/neutral/chunk-TU3GW67D.mjs.map +0 -7
  415. package/dist/lib/neutral/chunk-UBEZSGXY.mjs.map +0 -7
  416. package/dist/lib/neutral/chunk-UI6MWK5W.mjs.map +0 -7
  417. package/dist/lib/neutral/chunk-V36VO5SS.mjs.map +0 -7
  418. package/dist/lib/neutral/chunk-WAK4DMFV.mjs.map +0 -7
  419. package/dist/lib/neutral/chunk-YAHXAYOW.mjs +0 -56
  420. package/dist/lib/neutral/chunk-YAHXAYOW.mjs.map +0 -7
  421. package/dist/lib/neutral/chunk-YS6Q3XAD.mjs +0 -50
  422. package/dist/lib/neutral/chunk-YS6Q3XAD.mjs.map +0 -7
  423. package/dist/types/src/Extension.d.ts +0 -80
  424. package/dist/types/src/Extension.d.ts.map +0 -1
  425. package/dist/types/src/Extension.test.d.ts +0 -2
  426. package/dist/types/src/Extension.test.d.ts.map +0 -1
  427. package/dist/types/src/SchemaRegistry.d.ts +0 -84
  428. package/dist/types/src/SchemaRegistry.d.ts.map +0 -1
  429. package/dist/types/src/internal/Obj/ids.d.ts +0 -6
  430. package/dist/types/src/internal/Obj/ids.d.ts.map +0 -1
  431. package/dist/types/src/internal/Query.d.ts.map +0 -1
  432. package/dist/types/src/internal/Type/echo-schema.d.ts +0 -181
  433. package/dist/types/src/internal/Type/echo-schema.d.ts.map +0 -1
  434. package/dist/types/src/internal/Type/persistent-schema.d.ts +0 -20
  435. package/dist/types/src/internal/Type/persistent-schema.d.ts.map +0 -1
  436. package/src/Extension.test.ts +0 -235
  437. package/src/Extension.ts +0 -122
  438. package/src/SchemaRegistry.ts +0 -106
  439. package/src/internal/Obj/ids.ts +0 -12
  440. package/src/internal/Type/echo-schema.ts +0 -423
  441. package/src/internal/Type/persistent-schema.ts +0 -33
  442. /package/dist/lib/neutral/{Extension.mjs.map → Registry.mjs.map} +0 -0
  443. /package/dist/lib/neutral/{SchemaRegistry.mjs.map → Scope.mjs.map} +0 -0
  444. /package/dist/lib/neutral/{chunk-7RO7CPBZ.mjs.map → chunk-PLDMJJJC.mjs.map} +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"manipulation.d.ts","sourceRoot":"","sources":["../../../../../src/internal/Type/manipulation.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AASxC,eAAO,MAAM,iBAAiB,GAC5B,QAAQ,MAAM,CAAC,MAAM,CAAC,YAAY,EAClC,QAAQ,MAAM,CAAC,MAAM,CAAC,MAAM,KAC3B,MAAM,CAAC,MAAM,CAAC,YAKhB,CAAC;AAEF,eAAO,MAAM,oBAAoB,GAC/B,QAAQ,MAAM,CAAC,MAAM,CAAC,YAAY,EAClC,QAAQ,MAAM,CAAC,MAAM,CAAC,MAAM,KAC3B,MAAM,CAAC,MAAM,CAAC,YAgBhB,CAAC;AAEF,eAAO,MAAM,sBAAsB,GACjC,QAAQ,MAAM,CAAC,MAAM,CAAC,YAAY,EAClC,YAAY,MAAM,EAAE,KACnB,MAAM,CAAC,MAAM,CAAC,YAEhB,CAAC;AAEF,eAAO,MAAM,uBAAuB,GAClC,QAAQ,MAAM,CAAC,MAAM,CAAC,YAAY,EAClC,mBAAmB;IAAE,MAAM,EAAE,WAAW,CAAC;IAAC,KAAK,EAAE,WAAW,CAAA;CAAE,KAC7D,MAAM,CAAC,MAAM,CAAC,YAehB,CAAC;AAEF,eAAO,MAAM,mBAAmB,GAC9B,QAAQ,MAAM,CAAC,MAAM,CAAC,YAAY,EAClC,UAAU,MAAM,KACf,MAAM,CAAC,MAAM,CAAC,YAiBhB,CAAC"}
1
+ {"version":3,"file":"manipulation.d.ts","sourceRoot":"","sources":["../../../../../src/internal/Type/manipulation.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAMxC,eAAO,MAAM,iBAAiB,WACpB,MAAM,CAAC,MAAM,CAAC,YAAY,UAC1B,MAAM,CAAC,MAAM,CAAC,MAAM,KAC3B,MAAM,CAAC,MAAM,CAAC,YAKhB,CAAC;AAEF,eAAO,MAAM,oBAAoB,WACvB,MAAM,CAAC,MAAM,CAAC,YAAY,UAC1B,MAAM,CAAC,MAAM,CAAC,MAAM,KAC3B,MAAM,CAAC,MAAM,CAAC,YAgBhB,CAAC;AAEF,eAAO,MAAM,sBAAsB,WACzB,MAAM,CAAC,MAAM,CAAC,YAAY,cACtB,MAAM,EAAE,KACnB,MAAM,CAAC,MAAM,CAAC,YAEhB,CAAC;AAEF,eAAO,MAAM,uBAAuB,WAC1B,MAAM,CAAC,MAAM,CAAC,YAAY,qBACf;IAAE,MAAM,EAAE,WAAW,CAAC;IAAC,KAAK,EAAE,WAAW,CAAA;CAAE,KAC7D,MAAM,CAAC,MAAM,CAAC,YAehB,CAAC"}
@@ -0,0 +1,52 @@
1
+ import * as Schema from 'effect/Schema';
2
+ import { EntityKind, KindId, SchemaKindId, StaticTypeSchemaSlot } from '../common/types';
3
+ import { EchoTypeKindSchema } from '../Entity';
4
+ import { JsonSchemaType } from '../JsonSchema';
5
+ /**
6
+ * Raw struct backing {@link TypeSchema}. Exposed only so `TypeSchema`
7
+ * (the TS type) can derive its data fields via `Schema.Schema.Type<typeof ...>`;
8
+ * runtime callers should use {@link TypeSchema} (the piped, branded entity).
9
+ *
10
+ * `typename` and `version` are NOT data fields — they live in `EntityMeta.key` /
11
+ * `EntityMeta.version` (the canonical registry-provenance pair, queryable via
12
+ * `Filter.key(...)`). The same `jsonSchema` payload also embeds them so a
13
+ * standalone JSON-Schema export remains self-describing, but the schema-registry
14
+ * reads/writes them through meta.
15
+ */
16
+ declare const TypeSchemaStruct: Schema.Struct<{
17
+ name: Schema.optional<typeof Schema.String>;
18
+ jsonSchema: Schema.Schema<JsonSchemaType, JsonSchemaType, never>;
19
+ }>;
20
+ /**
21
+ * Persistent representation of a schema.
22
+ */
23
+ export declare const TypeSchema: EchoTypeKindSchema<Schema.Struct<{
24
+ name: Schema.optional<typeof Schema.String>;
25
+ jsonSchema: Schema.Schema<JsonSchemaType, JsonSchemaType, never>;
26
+ }>, Readonly<{
27
+ name: Schema.optional<typeof Schema.String>;
28
+ jsonSchema: Schema.Schema<JsonSchemaType, JsonSchemaType, never>;
29
+ }>>;
30
+ /**
31
+ * Persistent representation of a schema — the runtime shape that
32
+ * `db.addType(Type.makeObjectFromJsonSchema(...))` produces
33
+ * and `Filter.type(Type.Type).run()` returns.
34
+ *
35
+ * Structurally identical to a static `Type.Type` entity: the entity-handler's
36
+ * `get` trap exposes `[SchemaKindId]` (derived from `system.kind` and
37
+ * `data.jsonSchema.entityKind`) and rebuilds `[StaticTypeSchemaSlot]` lazily
38
+ * from `jsonSchema`, so a persisted instance satisfies the public `Type<A>`
39
+ * interface without casting.
40
+ */
41
+ export type TypeSchema = Schema.Schema.Type<typeof TypeSchemaStruct> & {
42
+ /** Object identifier — injected by `EchoTypeKindSchema` and stamped at construction. */
43
+ readonly id: string;
44
+ /** Entity-kind discriminator (object/relation/type) carried on every entity instance. */
45
+ readonly [KindId]: EntityKind.Type;
46
+ /** Kind of schema described by this meta-instance — always `EntityKind.Type` for `Type.Type` itself. */
47
+ readonly [SchemaKindId]: EntityKind.Type;
48
+ /** Effect Schema rebuilt lazily from `jsonSchema`; satisfies `Type.getSchema(...)` without an extra cast. */
49
+ readonly [StaticTypeSchemaSlot]: Schema.Schema.AnyNoContext;
50
+ };
51
+ export {};
52
+ //# sourceMappingURL=type-schema.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"type-schema.d.ts","sourceRoot":"","sources":["../../../../../src/internal/Type/type-schema.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAGxC,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,YAAY,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AACzF,OAAO,EAAE,kBAAkB,EAAqB,MAAM,WAAW,CAAC;AAClE,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAE/C;;;;;;;;;;GAUG;AACH,QAAA,MAAM,gBAAgB;;;EAGpB,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,UAAU;;;;;;GAOtB,CAAC;AAEF;;;;;;;;;;GAUG;AACH,MAAM,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,gBAAgB,CAAC,GAAG;IACrE,wFAAwF;IACxF,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,yFAAyF;IACzF,QAAQ,CAAC,CAAC,MAAM,CAAC,EAAE,UAAU,CAAC,IAAI,CAAC;IACnC,wGAAwG;IACxG,QAAQ,CAAC,CAAC,YAAY,CAAC,EAAE,UAAU,CAAC,IAAI,CAAC;IACzC,6GAA6G;IAC7G,QAAQ,CAAC,CAAC,oBAAoB,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC;CAC7D,CAAC"}
@@ -1,15 +1,18 @@
1
1
  import type { ForeignKey } from '@dxos/echo-protocol';
2
2
  import type { DeepReadonly } from '@dxos/util';
3
+ import type * as Tag from '../../../Tag';
4
+ import type { Ref } from '../../Ref/ref';
3
5
  import { type Mutable } from '../proxy';
4
- import { type AnyProperties, type ObjectMeta } from '../types';
6
+ import { type AnyProperties } from '../types';
7
+ import { type EntityMeta } from '../types/meta';
5
8
  /**
6
- * Deeply read-only version of ObjectMeta.
9
+ * Deeply read-only version of EntityMeta.
7
10
  */
8
- export type ReadonlyMeta = DeepReadonly<ObjectMeta>;
11
+ export type ReadonlyMeta = DeepReadonly<EntityMeta>;
9
12
  /**
10
13
  * Mutable meta type received in meta mutation callbacks.
11
14
  */
12
- export type Meta = Mutable<ObjectMeta>;
15
+ export type Meta = Mutable<EntityMeta>;
13
16
  /**
14
17
  * Get the metadata for an entity with validation.
15
18
  * Returns mutable meta when passed a mutable entity (inside change callback).
@@ -26,17 +29,17 @@ export declare function getMetaChecked(entity: AnyProperties): ReadonlyMeta;
26
29
  export declare const getKeys: (entity: AnyProperties, source: string) => ForeignKey[];
27
30
  /**
28
31
  * Delete all keys from the entity for the specified source.
29
- * Must be called within an Obj.change or Relation.change callback.
32
+ * Must be called within an Obj.update or Relation.update callback.
30
33
  */
31
34
  export declare const deleteKeys: (entity: Mutable<AnyProperties>, source: string) => void;
32
35
  /**
33
- * Add a tag to the entity.
34
- * Must be called within an Obj.change or Relation.change callback.
36
+ * Add a tag (a reference to a {@link Tag} object) to the entity. Idempotent.
37
+ * Must be called within an Obj.update or Relation.update callback.
35
38
  */
36
- export declare const addTag: (entity: Mutable<AnyProperties>, tag: string) => void;
39
+ export declare const addTag: (entity: Mutable<AnyProperties>, tag: Ref<Tag.Tag>) => void;
37
40
  /**
38
- * Remove a tag from the entity.
39
- * Must be called within an Obj.change or Relation.change callback.
41
+ * Remove a tag (a reference to a {@link Tag} object) from the entity. No-op when not present.
42
+ * Must be called within an Obj.update or Relation.update callback.
40
43
  */
41
- export declare const removeTag: (entity: Mutable<AnyProperties>, tag: string) => void;
44
+ export declare const removeTag: (entity: Mutable<AnyProperties>, tag: Ref<Tag.Tag>) => void;
42
45
  //# sourceMappingURL=meta.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"meta.d.ts","sourceRoot":"","sources":["../../../../../../src/internal/common/api/meta.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAEtD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE/C,OAAO,EAAE,KAAK,OAAO,EAAE,MAAM,UAAU,CAAC;AACxC,OAAO,EAAE,KAAK,aAAa,EAAE,KAAK,UAAU,EAAuB,MAAM,UAAU,CAAC;AAEpF;;GAEG;AACH,MAAM,MAAM,YAAY,GAAG,YAAY,CAAC,UAAU,CAAC,CAAC;AAEpD;;GAEG;AACH,MAAM,MAAM,IAAI,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;AAEvC;;;;;;GAMG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,OAAO,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC;AACrE,wBAAgB,cAAc,CAAC,MAAM,EAAE,aAAa,GAAG,YAAY,CAAC;AAQpE;;;GAGG;AACH,eAAO,MAAM,OAAO,GAAI,QAAQ,aAAa,EAAE,QAAQ,MAAM,KAAG,UAAU,EAKzE,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,UAAU,GAAI,QAAQ,OAAO,CAAC,aAAa,CAAC,EAAE,QAAQ,MAAM,SAQxE,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,MAAM,GAAI,QAAQ,OAAO,CAAC,aAAa,CAAC,EAAE,KAAK,MAAM,SAIjE,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,SAAS,GAAI,QAAQ,OAAO,CAAC,aAAa,CAAC,EAAE,KAAK,MAAM,SAWpE,CAAC"}
1
+ {"version":3,"file":"meta.d.ts","sourceRoot":"","sources":["../../../../../../src/internal/common/api/meta.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAEtD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE/C,OAAO,KAAK,KAAK,GAAG,MAAM,cAAc,CAAC;AACzC,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,KAAK,OAAO,EAAE,MAAM,UAAU,CAAC;AACxC,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,UAAU,CAAC;AAC9C,OAAO,EAAE,KAAK,UAAU,EAAuB,MAAM,eAAe,CAAC;AAErE;;GAEG;AACH,MAAM,MAAM,YAAY,GAAG,YAAY,CAAC,UAAU,CAAC,CAAC;AAEpD;;GAEG;AACH,MAAM,MAAM,IAAI,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;AAEvC;;;;;;GAMG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,OAAO,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC;AACrE,wBAAgB,cAAc,CAAC,MAAM,EAAE,aAAa,GAAG,YAAY,CAAC;AAQpE;;;GAGG;AACH,eAAO,MAAM,OAAO,WAAY,aAAa,UAAU,MAAM,KAAG,UAAU,EAKzE,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,UAAU,WAAY,OAAO,CAAC,aAAa,CAAC,UAAU,MAAM,SAQxE,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,MAAM,WAAY,OAAO,CAAC,aAAa,CAAC,OAAO,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,SAMvE,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,SAAS,WAAY,OAAO,CAAC,aAAa,CAAC,OAAO,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,SAQ1E,CAAC"}
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * Enter a change context for the given key.
3
3
  * While in a change context, mutations are allowed on the associated object.
4
- * Nested Obj.change calls are not supported.
4
+ * Nested Obj.update calls are not supported.
5
5
  *
6
6
  * @param key - The key to enter the change context for (target object or ObjectCore).
7
7
  * @returns A cleanup function that exits the change context.
@@ -1 +1 @@
1
- {"version":3,"file":"change-context.d.ts","sourceRoot":"","sources":["../../../../../../src/internal/common/proxy/change-context.ts"],"names":[],"mappings":"AAkCA;;;;;;;GAOG;AACH,eAAO,MAAM,kBAAkB,GAAI,KAAK,MAAM,KAAG,CAAC,MAAM,IAAI,CAK3D,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,iBAAiB,GAAI,KAAK,MAAM,KAAG,OAE/C,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,iBAAiB,GAAI,KAAK,MAAM,KAAG,IAI/C,CAAC;AAEF;;;;;;;GAOG;AACH,eAAO,MAAM,sBAAsB,GAAI,QAAQ,MAAM,KAAG,IAKvD,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,uBAAuB,GAAI,KAAK,MAAM,KAAG,OAErD,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,yBAAyB,GAAI,KAAK,MAAM,KAAG,IAIvD,CAAC;AAEF;;;;;;;;GAQG;AACH,eAAO,MAAM,aAAa,GACxB,YAAY,MAAM,EAClB,aAAa,MAAM,EACnB,OAAO,GAAG,EACV,UAAU,CAAC,KAAK,EAAE,GAAG,KAAK,IAAI,KAC7B,IAiBF,CAAC"}
1
+ {"version":3,"file":"change-context.d.ts","sourceRoot":"","sources":["../../../../../../src/internal/common/proxy/change-context.ts"],"names":[],"mappings":"AAkCA;;;;;;;GAOG;AACH,eAAO,MAAM,kBAAkB,QAAS,MAAM,KAAG,CAAC,MAAM,IAAI,CAK3D,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,iBAAiB,QAAS,MAAM,KAAG,OAE/C,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,iBAAiB,QAAS,MAAM,KAAG,IAI/C,CAAC;AAEF;;;;;;;GAOG;AACH,eAAO,MAAM,sBAAsB,WAAY,MAAM,KAAG,IAKvD,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,uBAAuB,QAAS,MAAM,KAAG,OAErD,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,yBAAyB,QAAS,MAAM,KAAG,IAIvD,CAAC;AAEF;;;;;;;;GAQG;AACH,eAAO,MAAM,aAAa,eACZ,MAAM,eACL,MAAM,SACZ,GAAG,YACA,CAAC,KAAK,EAAE,GAAG,KAAK,IAAI,KAC7B,IAiBF,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"define-hidden-property.d.ts","sourceRoot":"","sources":["../../../../../../src/internal/common/proxy/define-hidden-property.ts"],"names":[],"mappings":"AAIA;;GAEG;AACH,eAAO,MAAM,oBAAoB,GAAI,QAAQ,GAAG,EAAE,KAAK,MAAM,GAAG,MAAM,EAAE,OAAO,GAAG,SAMjF,CAAC"}
1
+ {"version":3,"file":"define-hidden-property.d.ts","sourceRoot":"","sources":["../../../../../../src/internal/common/proxy/define-hidden-property.ts"],"names":[],"mappings":"AAIA;;GAEG;AACH,eAAO,MAAM,oBAAoB,WAAY,GAAG,OAAO,MAAM,GAAG,MAAM,SAAS,GAAG,SAMjF,CAAC"}
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Error thrown when attempting to mutate an object outside of an Obj.change() context.
2
+ * Error thrown when attempting to mutate an object outside of an Obj.update() context.
3
3
  */
4
4
  export declare class MutationOutsideChangeContextError extends Error {
5
5
  constructor(operation: string, suggestion: string);
@@ -1 +1 @@
1
- {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../../../../../src/internal/common/proxy/errors.ts"],"names":[],"mappings":"AAIA;;GAEG;AACH,qBAAa,iCAAkC,SAAQ,KAAK;gBAC9C,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM;CAMlD;AAED;;GAEG;AACH,eAAO,MAAM,sBAAsB,GAAI,MAAM,MAAM,GAAG,MAAM,KAAG,iCAK9D,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,yBAAyB,GAAI,MAAM,MAAM,GAAG,MAAM,KAAG,iCAKjE,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,sBAAsB,GAAI,QAAQ,MAAM,KAAG,iCAEvD,CAAC"}
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../../../../../src/internal/common/proxy/errors.ts"],"names":[],"mappings":"AAIA;;GAEG;AACH,qBAAa,iCAAkC,SAAQ,KAAK;IAC1D,YAAY,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAKhD;CACF;AAED;;GAEG;AACH,eAAO,MAAM,sBAAsB,SAAU,MAAM,GAAG,MAAM,KAAG,iCAK9D,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,yBAAyB,SAAU,MAAM,GAAG,MAAM,KAAG,iCAKjE,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,sBAAsB,WAAY,MAAM,KAAG,iCAEvD,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"event-batch.d.ts","sourceRoot":"","sources":["../../../../../../src/internal/common/proxy/event-batch.ts"],"names":[],"mappings":"AAcA;;;GAGG;AACH,eAAO,MAAM,WAAW,GAAI,UAAU,MAAM,IAAI,KAAG,IAclD,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,SAAS,GAAI,QAAQ,MAAM,KAAG,IAM1C,CAAC"}
1
+ {"version":3,"file":"event-batch.d.ts","sourceRoot":"","sources":["../../../../../../src/internal/common/proxy/event-batch.ts"],"names":[],"mappings":"AAcA;;;GAGG;AACH,eAAO,MAAM,WAAW,aAAc,MAAM,IAAI,KAAG,IAclD,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,SAAS,WAAY,MAAM,KAAG,IAM1C,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"json-serializer.d.ts","sourceRoot":"","sources":["../../../../../../src/internal/common/proxy/json-serializer.ts"],"names":[],"mappings":"AAuBA;;GAEG;AACH,eAAO,MAAM,yBAAyB,GAAI,KAAK,GAAG,SAajD,CAAC;AAIF,eAAO,MAAM,mBAAmB,GAAa,MAAM,GAAG,QA+BrD,CAAC"}
1
+ {"version":3,"file":"json-serializer.d.ts","sourceRoot":"","sources":["../../../../../../src/internal/common/proxy/json-serializer.ts"],"names":[],"mappings":"AAsBA;;GAEG;AACH,eAAO,MAAM,yBAAyB,QAAS,GAAG,SAajD,CAAC;AAIF,eAAO,MAAM,mBAAmB,SAAmB,GAAG,QA+BrD,CAAC"}
@@ -1,14 +1,20 @@
1
1
  import type * as Schema from 'effect/Schema';
2
- import { type AnyProperties, KindId, type ObjectMeta } from '../types';
2
+ import { type AnyProperties, KindId, SchemaKindId, StaticTypeSchemaSlot } from '../types';
3
+ import { type EntityMeta } from '../types/meta';
4
+ import { TypeSource } from './typed-handler';
3
5
  /**
4
6
  *
5
7
  */
6
- export type MakeObjectProps<T extends AnyProperties> = Omit<T, 'id' | KindId>;
8
+ export type MakeObjectProps<T extends AnyProperties> = Omit<T, 'id' | KindId | SchemaKindId | StaticTypeSchemaSlot>;
7
9
  /**
8
10
  * Creates a reactive object from a plain Javascript object.
9
11
  * Requires a TS-effect schema.
12
+ *
13
+ * Callers that have a `Type.Type` entity (not a raw schema) must unwrap it
14
+ * themselves — `Obj.make` / `Relation.make` do this via `Type.getSchema(...)`
15
+ * and pass the entity through as `typeSource` so the instance carries a
16
+ * back-reference for `Obj.getType` and resolves the live source schema
17
+ * uniformly via the entity's `[StaticTypeSchemaSlot]`.
10
18
  */
11
- export declare const makeObject: {
12
- <T extends AnyProperties>(schema: Schema.Schema<T, any, never>, obj: NoInfer<MakeObjectProps<T>>, meta?: ObjectMeta): T;
13
- };
19
+ export declare const makeObject: <T extends AnyProperties>(schema: Schema.Schema<T, any, never>, obj: NoInfer<MakeObjectProps<T>>, meta?: Partial<EntityMeta>, typeSource?: TypeSource) => T;
14
20
  //# sourceMappingURL=make-object.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"make-object.d.ts","sourceRoot":"","sources":["../../../../../../src/internal/common/proxy/make-object.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,KAAK,MAAM,MAAM,eAAe,CAAC;AAK7C,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,EAAU,KAAK,UAAU,EAA8B,MAAM,UAAU,CAAC;AAM3G;;GAEG;AAEH,MAAM,MAAM,eAAe,CAAC,CAAC,SAAS,aAAa,IAAI,IAAI,CAAC,CAAC,EAAE,IAAI,GAAG,MAAM,CAAC,CAAC;AAE9E;;;GAGG;AAKH,eAAO,MAAM,UAAU,EAAE;IACvB,CAAC,CAAC,SAAS,aAAa,EACtB,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,GAAG,EAAE,KAAK,CAAC,EACpC,GAAG,EAAE,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,EAChC,IAAI,CAAC,EAAE,UAAU,GAChB,CAAC,CAAC;CAIN,CAAC"}
1
+ {"version":3,"file":"make-object.d.ts","sourceRoot":"","sources":["../../../../../../src/internal/common/proxy/make-object.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,KAAK,MAAM,MAAM,eAAe,CAAC;AAK7C,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,EAAY,YAAY,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAC;AACpG,OAAO,EAAE,KAAK,UAAU,EAAoB,MAAM,eAAe,CAAC;AAKlE,OAAO,EAAE,UAAU,EAA0D,MAAM,iBAAiB,CAAC;AAErG;;GAEG;AAMH,MAAM,MAAM,eAAe,CAAC,CAAC,SAAS,aAAa,IAAI,IAAI,CAAC,CAAC,EAAE,IAAI,GAAG,MAAM,GAAG,YAAY,GAAG,oBAAoB,CAAC,CAAC;AAEpH;;;;;;;;;GASG;AAKH,eAAO,MAAM,UAAU,GAAI,CAAC,SAAS,aAAa,UACxC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,GAAG,EAAE,KAAK,CAAC,OAC/B,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,SACzB,OAAO,CAAC,UAAU,CAAC,eACb,UAAU,KACtB,CAGF,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"ownership.d.ts","sourceRoot":"","sources":["../../../../../../src/internal/common/proxy/ownership.ts"],"names":[],"mappings":"AAsBA;;GAEG;AACH,eAAO,MAAM,YAAY,GAAI,OAAO,GAAG,KAAG,GAEzC,CAAC;AAEF;;;;;;;;;GASG;AACH,eAAO,MAAM,QAAQ,GAAI,OAAO,MAAM,GAAG,IAAI,GAAG,SAAS,KAAG,MAAM,GAAG,SAEpE,CAAC;AAWF;;;;;;;;;;GAUG;AACH,eAAO,MAAM,iBAAiB,GAC5B,OAAO,GAAG,EACV,OAAO,MAAM,EACb,UAAS;IACP,OAAO,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IACtB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,oBAAoB,CAAC,EAAE,MAAM,CAAC;CAC1B,KACL,IA4DF,CAAC;AAEF;;;;;;;GAOG;AACH,eAAO,MAAM,mBAAmB,GAC9B,OAAO,GAAG,EACV,SAAS,CAAC,WAAW,EAAE,GAAG,KAAK,OAAO,EACtC,qBAA2B,KAC1B,OAiCF,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,gBAAgB,GAAI,YAAY,MAAM,EAAE,OAAO,GAAG,KAAG,OACb,CAAC;AAEtD;;;GAGG;AACH,eAAO,MAAM,eAAe,GAAI,OAAO,GAAG,EAAE,QAAQ,MAAM,KAAG,OAWzD,CAAC;AAoCL;;;;GAIG;AACH,eAAO,MAAM,gBAAgB,GAAI,QAAQ,MAAM,KAAG,IAQjD,CAAC"}
1
+ {"version":3,"file":"ownership.d.ts","sourceRoot":"","sources":["../../../../../../src/internal/common/proxy/ownership.ts"],"names":[],"mappings":"AAsBA;;GAEG;AACH,eAAO,MAAM,YAAY,UAAW,GAAG,KAAG,GAEzC,CAAC;AAEF;;;;;;;;;GASG;AACH,eAAO,MAAM,QAAQ,UAAW,MAAM,GAAG,IAAI,GAAG,SAAS,KAAG,MAAM,GAAG,SAEpE,CAAC;AAWF;;;;;;;;;;GAUG;AACH,eAAO,MAAM,iBAAiB,UACrB,GAAG,SACH,MAAM,YACJ;IACP,OAAO,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IACtB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,oBAAoB,CAAC,EAAE,MAAM,CAAC;CAC/B,KACA,IA4DF,CAAC;AAEF;;;;;;;GAOG;AACH,eAAO,MAAM,mBAAmB,UACvB,GAAG,WACD,CAAC,WAAW,EAAE,GAAG,KAAK,OAAO,4BAErC,OAiCF,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,gBAAgB,eAAgB,MAAM,SAAS,GAAG,KAAG,OACb,CAAC;AAEtD;;;GAGG;AACH,eAAO,MAAM,eAAe,UAAW,GAAG,UAAU,MAAM,KAAG,OAWzD,CAAC;AAoCL;;;;GAIG;AACH,eAAO,MAAM,gBAAgB,WAAY,MAAM,KAAG,IAQjD,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"proxy-utils.d.ts","sourceRoot":"","sources":["../../../../../../src/internal/common/proxy/proxy-utils.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,eAAe,CAAC;AAErD,eAAO,MAAM,aAAa,eAAmC,CAAC;AAE9D;;GAEG;AACH,eAAO,MAAM,OAAO,GAAI,OAAO,OAAO,YAAsC,CAAC;AAE7E,eAAO,MAAM,kBAAkB,GAAI,OAAO,GAAG,KAAG,KAAK,IAAI,MASxD,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,YAAY,GAAI,CAAC,SAAS,MAAM,EAAE,OAAO,GAAG,KAAG,gBAAgB,CAAC,CAAC,CAI7E,CAAC;AAEF,eAAO,MAAM,cAAc,GAAI,CAAC,SAAS,MAAM,EAAE,OAAO,GAAG,KAAG,CAE7D,CAAC;AAEF,eAAO,MAAM,eAAe,GAAI,CAAC,SAAS,MAAM,EAAE,OAAO,GAAG,KAAG,eAAe,CAAC,CAAC,CAE/E,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,qBAAqB,GAAI,CAAC,EAAE,KAAK,CAAC,EAAE,IAAI,MAAM,SAE1D,CAAC;AAEF;;;;;;GAMG;AAGH,eAAO,MAAM,WAAW,GAAI,CAAC,SAAS,MAAM,EAAE,QAAQ,CAAC,EAAE,SAAS,eAAe,CAAC,CAAC,CAAC,KAAG,CAatF,CAAC;AAEF;;;GAGG;AACH,cAAM,gBAAgB,CAAC,CAAC,SAAS,MAAM,CAAE,YAAW,YAAY,CAAC,CAAC,CAAC;IAM/D,QAAQ,CAAC,MAAM,EAAE,CAAC;IAClB,OAAO,CAAC,QAAQ;IANlB;;;OAGG;gBAEQ,MAAM,EAAE,CAAC,EACV,QAAQ,EAAE,eAAe,CAAC,CAAC,CAAC;IAGtC,IAAI,OAAO,uBAGV;IAGD,UAAU,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC,CAAC,GAAG,IAAI;IAI7C;;OAEG;IACH,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,QAAQ,EAAE,GAAG,GAAG,GAAG;CA+C1D"}
1
+ {"version":3,"file":"proxy-utils.d.ts","sourceRoot":"","sources":["../../../../../../src/internal/common/proxy/proxy-utils.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,eAAe,CAAC;AAErD,eAAO,MAAM,aAAa,eAAmC,CAAC;AAE9D;;GAEG;AACH,eAAO,MAAM,OAAO,UAAW,OAAO,YAAsC,CAAC;AAE7E,eAAO,MAAM,kBAAkB,UAAW,GAAG,KAAG,KAAK,IAAI,MASxD,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,YAAY,GAAI,CAAC,SAAS,MAAM,SAAS,GAAG,KAAG,gBAAgB,CAAC,CAAC,CAI7E,CAAC;AAEF,eAAO,MAAM,cAAc,GAAI,CAAC,SAAS,MAAM,SAAS,GAAG,KAAG,CAE7D,CAAC;AAEF,eAAO,MAAM,eAAe,GAAI,CAAC,SAAS,MAAM,SAAS,GAAG,KAAG,eAAe,CAAC,CAAC,CAE/E,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,qBAAqB,GAAI,CAAC,OAAO,CAAC,MAAM,MAAM,SAE1D,CAAC;AAEF;;;;;;GAMG;AAGH,eAAO,MAAM,WAAW,GAAI,CAAC,SAAS,MAAM,UAAU,CAAC,WAAW,eAAe,CAAC,CAAC,CAAC,KAAG,CAatF,CAAC;AAEF;;;GAGG;AACH,cAAM,gBAAgB,CAAC,CAAC,SAAS,MAAM,CAAE,YAAW,YAAY,CAAC,CAAC,CAAC;IAM/D,QAAQ,CAAC,MAAM,EAAE,CAAC;IAClB,OAAO,CAAC,QAAQ;IANlB;;;OAGG;IACH,YACW,MAAM,EAAE,CAAC,EACV,QAAQ,EAAE,eAAe,CAAC,CAAC,CAAC,EAClC;IAEJ,IAAI,OAAO,uBAGV;IAGD,UAAU,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC,CAAC,GAAG,IAAI,CAE5C;IAED;;OAEG;IACH,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,QAAQ,EAAE,GAAG,GAAG,GAAG,CAUxD;CAqCF"}
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * Extends the native array to make sure that arrays methods are correctly reactive.
3
- * Enforces that mutations only happen within Obj.change() context.
3
+ * Enforces that mutations only happen within Obj.update() context.
4
4
  */
5
5
  export declare class ReactiveArray<T> extends Array<T> {
6
6
  static get [Symbol.species](): ArrayConstructor;
@@ -8,7 +8,7 @@ import { type RefTypeId } from '../../Ref/ref';
8
8
  export declare const subscribe: (obj: unknown, callback: () => void) => (() => void);
9
9
  /**
10
10
  * Deeply removes readonly modifiers from all properties of T.
11
- * Inside Obj.change, all properties are fully mutable regardless of schema definition.
11
+ * Inside Obj.update, all properties are fully mutable regardless of schema definition.
12
12
  * Ref types are preserved as-is since they are value-like objects that are replaced, not mutated.
13
13
  * Primitive types (including branded primitives) are preserved as-is.
14
14
  */
@@ -1 +1 @@
1
- {"version":3,"file":"reactive.d.ts","sourceRoot":"","sources":["../../../../../../src/internal/common/proxy/reactive.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,eAAe,CAAC;AAI/C;;;;;GAKG;AAEH,eAAO,MAAM,SAAS,GAAI,KAAK,OAAO,EAAE,UAAU,MAAM,IAAI,KAAG,CAAC,MAAM,IAAI,CAMzE,CAAC;AAEF;;;;;GAKG;AACH,MAAM,MAAM,OAAO,CAAC,CAAC,IAAI,CAAC,SAAS,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,IAAI,GAAG,SAAS,GAC7F,CAAC,GACD,CAAC,SAAS;IAAE,CAAC,SAAS,CAAC,EAAE,GAAG,CAAA;CAAE,GAC5B,CAAC,GACD,CAAC,SAAS,MAAM,GACd,CAAC,SAAS,SAAS,CAAC,MAAM,CAAC,CAAC,EAAE,GAC5B,OAAO,CAAC,CAAC,CAAC,EAAE,GACZ;IAAE,CAAC,UAAU,CAAC,IAAI,MAAM,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;CAAE,GAC7C,CAAC,CAAC;AAEV;;GAEG;AACH,MAAM,MAAM,cAAc,CAAC,CAAC,IAAI,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC;AAEjE;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,MAAM,GAAI,CAAC,EAAE,KAAK,CAAC,EAAE,UAAU,cAAc,CAAC,CAAC,CAAC,KAAG,IAS/D,CAAC"}
1
+ {"version":3,"file":"reactive.d.ts","sourceRoot":"","sources":["../../../../../../src/internal/common/proxy/reactive.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,eAAe,CAAC;AAI/C;;;;;GAKG;AAEH,eAAO,MAAM,SAAS,QAAS,OAAO,YAAY,MAAM,IAAI,KAAG,CAAC,MAAM,IAAI,CAezE,CAAC;AAEF;;;;;GAKG;AACH,MAAM,MAAM,OAAO,CAAC,CAAC,IAAI,CAAC,SAAS,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,IAAI,GAAG,SAAS,GAC7F,CAAC,GACD,CAAC,SAAS;IAAE,CAAC,SAAS,CAAC,EAAE,GAAG,CAAA;CAAE,GAC5B,CAAC,GACD,CAAC,SAAS,MAAM,GACd,CAAC,SAAS,SAAS,CAAC,MAAM,CAAC,CAAC,EAAE,GAC5B,OAAO,CAAC,CAAC,CAAC,EAAE,GACZ;IAAE,CAAC,UAAU,CAAC,IAAI,MAAM,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;CAAE,GAC7C,CAAC,CAAC;AAEV;;GAEG;AACH,MAAM,MAAM,cAAc,CAAC,CAAC,IAAI,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC;AAEjE;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,MAAM,GAAI,CAAC,OAAO,CAAC,YAAY,cAAc,CAAC,CAAC,CAAC,KAAG,IAS/D,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=reactive.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reactive.test.d.ts","sourceRoot":"","sources":["../../../../../../src/internal/common/proxy/reactive.test.ts"],"names":[],"mappings":""}
@@ -1 +1 @@
1
- {"version":3,"file":"schema-validator.d.ts","sourceRoot":"","sources":["../../../../../../src/internal/common/proxy/schema-validator.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAUxC,qBAAa,eAAe;IAC1B;;;OAGG;WACW,cAAc,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,YAAY,GAAG,IAAI;WAkBxD,iBAAiB,CAC7B,gBAAgB,EAAE,MAAM,CAAC,MAAM,CAAC,YAAY,EAC5C,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,MAAM,GACjB,OAAO;WAaI,iBAAiB,CAC7B,gBAAgB,EAAE,MAAM,CAAC,MAAM,CAAC,YAAY,EAC5C,YAAY,EAAE,OAAO,EACrB,WAAW,GAAE,CAAC,IAAI,EAAE,OAAO,KAAK,GAAgB,GAC/C,MAAM,CAAC,MAAM,CAAC,YAAY;WAuBf,uBAAuB,CAAC,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,YAAY;CAgBtG;AAyID,eAAO,MAAM,yBAAyB,GAAI,QAAQ,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,SAM7E,CAAC;AAGF,KAAK,OAAO,GAAG,SAAS,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,CAAC"}
1
+ {"version":3,"file":"schema-validator.d.ts","sourceRoot":"","sources":["../../../../../../src/internal/common/proxy/schema-validator.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAUxC,qBAAa,eAAe;IAC1B;;;OAGG;IACH,OAAc,cAAc,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,YAAY,GAAG,IAAI,CAgBrE;IAED,OAAc,iBAAiB,CAC7B,gBAAgB,EAAE,MAAM,CAAC,MAAM,CAAC,YAAY,EAC5C,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,MAAM,GACjB,OAAO,CAWT;IAED,OAAc,iBAAiB,CAC7B,gBAAgB,EAAE,MAAM,CAAC,MAAM,CAAC,YAAY,EAC5C,YAAY,EAAE,OAAO,EACrB,WAAW,GAAE,CAAC,IAAI,EAAE,OAAO,KAAK,GAAgB,GAC/C,MAAM,CAAC,MAAM,CAAC,YAAY,CAqB5B;IAED,OAAc,uBAAuB,CAAC,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,YAAY,CAepG;CACF;AAyID,eAAO,MAAM,yBAAyB,WAAY,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,SAM7E,CAAC;AAGF,KAAK,OAAO,GAAG,SAAS,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,CAAC"}
@@ -1,6 +1,6 @@
1
1
  import * as Schema from 'effect/Schema';
2
2
  import { Event } from '@dxos/async';
3
- import { ParentId, SchemaId, TypeId } from '../types';
3
+ import { ParentId, SchemaId, StaticTypeSchemaSlot, TypeId } from '../types';
4
4
  import { type ReactiveHandler } from './proxy-types';
5
5
  import { EventId } from './symbols';
6
6
  export { getEchoRoot, setMetaOwner } from './ownership';
@@ -44,5 +44,21 @@ export declare class TypedReactiveHandler implements ReactiveHandler<ProxyTarget
44
44
  private _validateValue;
45
45
  private _inspect;
46
46
  }
47
- export declare const prepareTypedTarget: <T>(target: T, schema: Schema.Schema<T>) => void;
47
+ /**
48
+ * Pointer to a `Type.Type` entity, stamped as the back-reference (`TypeEntityId`)
49
+ * on instances and read by the `SchemaId` getter installed below.
50
+ *
51
+ * Structural shape (not `Type.AnyEntity`) because `internal/common/proxy/`
52
+ * can't import the top-level `Type` module without a cycle. Every kind of
53
+ * `Type.Type` entity satisfies this shape:
54
+ * - Static (`Type.makeObject(dxn)` pipe) — slot set directly on the object.
55
+ * - Persisted (echo-handler-wrapped) — slot exposed via that handler's
56
+ * `get` trap (rebuilds from `data.jsonSchema`).
57
+ * - In-memory pre-persist (`Type.makeObjectFromJsonSchema`) — slot exposed
58
+ * via the `case StaticTypeSchemaSlot:` arm in this file's `get` trap.
59
+ */
60
+ export type TypeSource = {
61
+ readonly [StaticTypeSchemaSlot]?: Schema.Schema.AnyNoContext;
62
+ };
63
+ export declare const prepareTypedTarget: <T>(target: T, schema: Schema.Schema<T, any>, typeSource?: TypeSource) => void;
48
64
  //# sourceMappingURL=typed-handler.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"typed-handler.d.ts","sourceRoot":"","sources":["../../../../../../src/internal/common/proxy/typed-handler.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAIxC,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAKpC,OAAO,EAAmB,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAcvE,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"}
1
+ {"version":3,"file":"typed-handler.d.ts","sourceRoot":"","sources":["../../../../../../src/internal/common/proxy/typed-handler.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAIxC,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAMpC,OAAO,EAAmB,QAAQ,EAAE,QAAQ,EAAE,oBAAoB,EAAgB,MAAM,EAAE,MAAM,UAAU,CAAC;AAc3G,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,eAAiB;IAExB,IAAI,CAAC,MAAM,EAAE,WAAW,GAAG,IAAI,CAkD9B;IAED,GAAG,CAAC,MAAM,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,QAAQ,EAAE,GAAG,GAAG,GAAG,CAiDlE;IAED,GAAG,CAAC,MAAM,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG,GAAG,OAAO,CAsClF;IAED,OAAO,CAAC,MAAM,EAAE,WAAW,GAAG,SAAS,CAAC,MAAM,GAAG,MAAM,CAAC,CAEvD;IAED,cAAc,CAAC,MAAM,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAgBtE;IAED,cAAc,CAAC,MAAM,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,EAAE,UAAU,EAAE,kBAAkB,GAAG,OAAO,CAyBtG;IAED;;;OAGG;IACH,OAAO,CAAC,0BAA0B;IAqDlC,OAAO,CAAC,cAAc;IAatB,OAAO,CAAC,QAAQ;CAajB;AAUD;;;;;;;;;;;;GAYG;AACH,MAAM,MAAM,UAAU,GAAG;IAAE,QAAQ,CAAC,CAAC,oBAAoB,CAAC,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,YAAY,CAAA;CAAE,CAAC;AA0C1F,eAAO,MAAM,kBAAkB,GAAI,CAAC,UAAU,CAAC,UAAU,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,GAAG,CAAC,eAAe,UAAU,SAUtG,CAAC"}
@@ -1,6 +1,6 @@
1
1
  import * as Schema from 'effect/Schema';
2
- import { type ObjectId } from '@dxos/keys';
3
- import { type ATTR_META, type ObjectMeta } from './meta';
2
+ import { type EntityId } from '@dxos/keys';
3
+ import { type ATTR_META, type EntityMeta } from './meta';
4
4
  /**
5
5
  * Base type for all data objects (reactive, ECHO, and other raw objects).
6
6
  * NOTE: This describes the base type for all database objects.
@@ -12,12 +12,12 @@ export type AnyProperties = Record<string, any>;
12
12
  * @depreacted Remove, use Entity.Unknown instead.
13
13
  */
14
14
  export interface AnyEntity {
15
- readonly id: ObjectId;
15
+ readonly id: EntityId;
16
16
  }
17
17
  export type ExcludeId<T extends AnyProperties> = Omit<T, 'id'>;
18
18
  export type PropertyKey<T extends AnyProperties> = Extract<keyof ExcludeId<T>, string>;
19
19
  type WithMeta = {
20
- [ATTR_META]?: ObjectMeta;
20
+ [ATTR_META]?: EntityMeta;
21
21
  };
22
22
  /**
23
23
  * The raw object should not include the ECHO id, but may include metadata.
@@ -1 +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"}
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,UACpD,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"}
@@ -2,27 +2,84 @@ import * as Schema from 'effect/Schema';
2
2
  /**
3
3
  * String key used to identify the kind of an entity instance (object or relation).
4
4
  */
5
- export declare const KindId: "~@dxos/echo/Kind";
5
+ export declare const KindId: '~@dxos/echo/Kind';
6
6
  export type KindId = typeof KindId;
7
7
  /**
8
8
  * String key used to identify the kind of a schema (object schema or relation schema).
9
9
  * Parallels KindId which identifies instance kinds.
10
10
  */
11
- export declare const SchemaKindId: "~@dxos/echo/SchemaKind";
11
+ export declare const SchemaKindId: '~@dxos/echo/SchemaKind';
12
12
  export type SchemaKindId = typeof SchemaKindId;
13
13
  /**
14
14
  * String key used to brand snapshot types.
15
15
  * Snapshots have SnapshotKindId instead of KindId, making them
16
16
  * distinguishable from reactive objects at the type level.
17
17
  */
18
- export declare const SnapshotKindId: "~@dxos/echo/SnapshotKind";
18
+ export declare const SnapshotKindId: '~@dxos/echo/SnapshotKind';
19
19
  export type SnapshotKindId = typeof SnapshotKindId;
20
20
  /**
21
- * Kinds of entities stored in ECHO: objects and relations.
21
+ * Hidden slot on a static `Type.Type` entity that holds the source Effect
22
+ * Schema. `Type.getSchema(...)` reads this for static types; persisted types
23
+ * rebuild from `jsonSchema` instead. Stored as a string key for declaration
24
+ * portability (see KindId comment above).
25
+ */
26
+ export declare const StaticTypeSchemaSlot: '~@dxos/echo/Type.StaticSchema';
27
+ export type StaticTypeSchemaSlot = typeof StaticTypeSchemaSlot;
28
+ /**
29
+ * Read the hidden `StaticTypeSchemaSlot` off any value that may carry one.
30
+ * Returns `undefined` for raw schemas (no slot) and non-object inputs.
31
+ * Single point-of-cast for the slot lookup.
32
+ */
33
+ export declare const getStaticTypeSchema: (value: unknown) => Schema.Schema.AnyNoContext | undefined;
34
+ /**
35
+ * Read the `[SchemaKindId]` brand off a value. Returns `undefined` for raw
36
+ * schemas (which don't carry the brand on their static type) and non-object
37
+ * inputs. Single point-of-cast for the brand lookup.
38
+ */
39
+ export declare const getSchemaKind: (value: unknown) => EntityKind | undefined;
40
+ /**
41
+ * Read the `[KindId]` brand off a value. Returns `undefined` for raw schemas
42
+ * and non-object inputs. Companion to {@link getSchemaKind}.
43
+ */
44
+ export declare const getEntityKindBrand: (value: unknown) => EntityKind | undefined;
45
+ /**
46
+ * Phantom string key on `Type<A>` entities that carries the instance type `A`.
47
+ * Lets internal helpers (`makeObject`, `createObject`, etc.) pattern-match the
48
+ * instance type from an entity input without importing from the top-level
49
+ * `Type` module. Mirrors `Type.InstancePhantomId` (declared in `Type.ts`).
50
+ *
51
+ * Stored as a string key so declarations remain portable across packages
52
+ * (see KindId comment above).
53
+ */
54
+ export declare const InstancePhantomId: '~@dxos/echo/Type.Instance';
55
+ export type InstancePhantomId = typeof InstancePhantomId;
56
+ /**
57
+ * Nominal brand carried by the well-known "any object" / "any relation"
58
+ * schemas (`Obj.Unknown`, `Relation.Unknown`). The brand lets `Ref.Ref`,
59
+ * `Filter.type`, and `Query.type` accept these schemas in addition to
60
+ * `Type.Type` entities, without opening the door to arbitrary raw schemas.
61
+ *
62
+ * Stored as a string key so declarations remain portable across packages
63
+ * (see KindId comment above).
64
+ */
65
+ export declare const UnknownTypeSchemaBrandId: '~@dxos/echo/UnknownTypeSchemaBrand';
66
+ export type UnknownTypeSchemaBrandId = typeof UnknownTypeSchemaBrandId;
67
+ /**
68
+ * Schema-side companion to `Type.Type` entities for the "any object" /
69
+ * "any relation" cases. Branded so `Ref.Ref` / `Filter.type` / `Query.type`
70
+ * can pattern-match on it; arbitrary `Schema.Schema` values do not satisfy
71
+ * this shape.
72
+ */
73
+ export interface UnknownTypeSchema<A, K extends EntityKind> extends Schema.Schema<A, any, never> {
74
+ readonly [UnknownTypeSchemaBrandId]: K;
75
+ }
76
+ /**
77
+ * Kinds of entities stored in ECHO: objects, relations, and types.
22
78
  */
23
79
  export declare enum EntityKind {
24
80
  Object = "object",
25
- Relation = "relation"
81
+ Relation = "relation",
82
+ Type = "type"
26
83
  }
27
84
  export declare const EntityKindSchema: Schema.Enums<typeof EntityKind>;
28
85
  /**
@@ -1 +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,8BAA8B,CAAC;AAE/D;;GAEG;AACH,eAAO,MAAM,kBAAkB,UAAU,CAAC"}
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;;;;;GAKG;AACH,eAAO,MAAM,oBAAoB,EAAG,+BAAwC,CAAC;AAC7E,MAAM,MAAM,oBAAoB,GAAG,OAAO,oBAAoB,CAAC;AAE/D;;;;GAIG;AACH,eAAO,MAAM,mBAAmB,UAAW,OAAO,KAAG,MAAM,CAAC,MAAM,CAAC,YAAY,GAAG,SAKjF,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,aAAa,UAAW,OAAO,KAAG,UAAU,GAAG,SAK3D,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,kBAAkB,UAAW,OAAO,KAAG,UAAU,GAAG,SAKhE,CAAC;AAEF;;;;;;;;GAQG;AACH,eAAO,MAAM,iBAAiB,EAAG,2BAAoC,CAAC;AACtE,MAAM,MAAM,iBAAiB,GAAG,OAAO,iBAAiB,CAAC;AAEzD;;;;;;;;GAQG;AACH,eAAO,MAAM,wBAAwB,EAAG,oCAA6C,CAAC;AACtF,MAAM,MAAM,wBAAwB,GAAG,OAAO,wBAAwB,CAAC;AAEvE;;;;;GAKG;AACH,MAAM,WAAW,iBAAiB,CAAC,CAAC,EAAE,CAAC,SAAS,UAAU,CAAE,SAAQ,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,GAAG,EAAE,KAAK,CAAC;IAC9F,QAAQ,CAAC,CAAC,wBAAwB,CAAC,EAAE,CAAC,CAAC;CACxC;AAED;;GAEG;AACH,oBAAY,UAAU;IACpB,MAAM,WAAW;IACjB,QAAQ,aAAa;IACrB,IAAI,SAAS;CACd;AAED,eAAO,MAAM,gBAAgB,iCAA2B,CAAC;AAEzD;;;GAGG;AACH,eAAO,MAAM,mBAAmB,8BAA8B,CAAC;AAE/D;;GAEG;AACH,eAAO,MAAM,kBAAkB,UAAU,CAAC"}
@@ -1,7 +1,7 @@
1
1
  export * from './base';
2
2
  export * from './entity';
3
- export * from './meta';
4
3
  export * from './model-symbols';
5
4
  export * from './typename';
6
5
  export * from './version';
6
+ export * from './well-known-types';
7
7
  //# sourceMappingURL=index.d.ts.map
@@ -1 +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
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/internal/common/types/index.ts"],"names":[],"mappings":"AAIA,cAAc,QAAQ,CAAC;AACvB,cAAc,UAAU,CAAC;AAMzB,cAAc,iBAAiB,CAAC;AAChC,cAAc,YAAY,CAAC;AAC3B,cAAc,WAAW,CAAC;AAC1B,cAAc,oBAAoB,CAAC"}
@@ -1,17 +1,13 @@
1
1
  import * as Schema from 'effect/Schema';
2
- import { ForeignKey } from '@dxos/echo-protocol';
2
+ import { type EncodedReference, ForeignKey } from '@dxos/echo-protocol';
3
3
  import { type Comparator } from '@dxos/util';
4
- import type * as Entity from '../../../Entity';
4
+ import { type Ref } from '../../Ref/ref';
5
5
  import { type AnyProperties } from './base';
6
6
  /**
7
7
  * Property name for meta when object is serialized to JSON.
8
8
  */
9
9
  export declare const ATTR_META = "@meta";
10
- /**
11
- * Metadata section.
12
- */
13
- export declare const MetaId: Entity.Meta;
14
- export declare const ObjectMetaSchema: Schema.Struct<{
10
+ export declare const EntityMetaSchema: Schema.Struct<{
15
11
  keys: Schema.Array$<Schema.Schema<{
16
12
  readonly source: string;
17
13
  readonly id: string;
@@ -20,13 +16,38 @@ export declare const ObjectMetaSchema: Schema.Struct<{
20
16
  readonly id: string;
21
17
  }, never>>;
22
18
  /**
23
- * A set of tags.
24
- * Tags are arbitrary application-defined strings.
25
- * ECHO makes no assumptions about the tag structure.
19
+ * Tags applied to this entity, as references to {@link Tag} objects.
20
+ */
21
+ tags: Schema.Array$<Schema.suspend<Ref<{
22
+ readonly label: string;
23
+ readonly hue?: string | undefined;
24
+ } & import("../../../Entity").OfKind<import("./entity").EntityKind.Object>>, EncodedReference, never>>;
25
+ /**
26
+ * Fully-qualified registry key for the object (FQN format, e.g. `org.example.type.foo`).
27
+ * Identifies the canonical registry entry the object instance was created from.
28
+ */
29
+ key: Schema.optional<typeof Schema.String>;
30
+ /**
31
+ * Semantic version of the registry entry the object was created from.
32
+ * Must be a valid semver string (e.g. `1.2.3`).
33
+ */
34
+ version: Schema.optional<typeof Schema.String>;
35
+ /**
36
+ * Dictionary of annotations to this entity.
37
+ */
38
+ annotations: Schema.Record$<Schema.brand<typeof Schema.String, "~@dxos/echo/AnnotationKey">, typeof Schema.Unknown>;
39
+ /**
40
+ * Unix ms timestamp when this entity was created.
41
+ * Read-only; sourced from the system section of the automerge document — not stored in meta.
42
+ */
43
+ createdAt: Schema.optional<typeof Schema.Number>;
44
+ /**
45
+ * Unix ms timestamp of the last automerge change on this entity's document.
46
+ * Read-only; derived from the automerge change graph — not stored in meta.
26
47
  */
27
- tags: Schema.optional<Schema.Array$<typeof Schema.String>>;
48
+ updatedAt: Schema.optional<typeof Schema.Number>;
28
49
  }>;
29
- export type ObjectMeta = Schema.Schema.Type<typeof ObjectMetaSchema>;
50
+ export type EntityMeta = Schema.Schema.Type<typeof EntityMetaSchema>;
30
51
  export declare const foreignKey: (source: string, id: string) => ForeignKey;
31
52
  export declare const foreignKeyEquals: (a: ForeignKey, b: ForeignKey) => boolean;
32
53
  export declare const compareForeignKeys: Comparator<AnyProperties>;
@@ -1 +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;AAC/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"}
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,KAAK,gBAAgB,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAGxE,OAAO,EAAE,KAAK,UAAU,EAAgB,MAAM,YAAY,CAAC;AAM3D,OAAO,EAAE,KAAK,GAAG,EAA6B,MAAM,eAAe,CAAC;AACpE,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,QAAQ,CAAC;AAI5C;;GAEG;AACH,eAAO,MAAM,SAAS,UAAU,CAAC;AAuBjC,eAAO,MAAM,gBAAgB;;;;;;;;IAG3B;;OAEG;;;;;IAGH;;;OAGG;;IAGH;;;OAGG;;IAGH;;OAEG;;IAGH;;;OAGG;;IAGH;;;OAGG;;EAEH,CAAC;AAEH,MAAM,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAmBrE,eAAO,MAAM,UAAU,WAAY,MAAM,MAAM,MAAM,KAAG,UAA8B,CAAC;AACvF,eAAO,MAAM,gBAAgB,MAAO,UAAU,KAAK,UAAU,YAA2C,CAAC;AAGzG,eAAO,MAAM,kBAAkB,EAAE,UAAU,CAAC,aAAa,CACoB,CAAC"}
@@ -4,13 +4,17 @@
4
4
  * Entity/ re-exports these for external consumers.
5
5
  */
6
6
  /**
7
- * Property name for self DXN when object is serialized to JSON.
7
+ * Property name for the object's own URI when serialized to JSON.
8
8
  */
9
- export declare const ATTR_SELF_DXN = "@dxn";
9
+ export declare const ATTR_SELF_URI = "@uri";
10
10
  /**
11
- * DXN to the object itself.
11
+ * @deprecated Legacy JSON property name accepted on read for backward compat.
12
12
  */
13
- export declare const SelfDXNId: unique symbol;
13
+ export declare const ATTR_SELF_URI_LEGACY = "@dxn";
14
+ /**
15
+ * Symbol carrying the object's own URI on live entities.
16
+ */
17
+ export declare const SelfURIId: unique symbol;
14
18
  /**
15
19
  * Property name for deleted when object is serialized to JSON.
16
20
  */
@@ -51,4 +55,11 @@ export declare const RelationTargetId: unique symbol;
51
55
  * Used to access relation target DXN on live ECHO objects.
52
56
  */
53
57
  export declare const RelationTargetDXNId: unique symbol;
58
+ /**
59
+ * Symbol carrying the entity metadata (EntityMeta) on live ECHO entities.
60
+ * Must be importable by both meta.ts (which depends on the Ref schema) and
61
+ * Entity/api.ts (which is transitively imported by the Ref schema), so it
62
+ * cannot live in either of those files without creating an import cycle.
63
+ */
64
+ export declare const MetaId: unique symbol;
54
65
  //# sourceMappingURL=model-symbols.d.ts.map
@@ -1 +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"}
1
+ {"version":3,"file":"model-symbols.d.ts","sourceRoot":"","sources":["../../../../../../src/internal/common/types/model-symbols.ts"],"names":[],"mappings":"AAWA;;;;GAIG;AAEH;;GAEG;AACH,eAAO,MAAM,aAAa,SAAS,CAAC;AAEpC;;GAEG;AACH,eAAO,MAAM,oBAAoB,SAAS,CAAC;AAE3C;;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;AAE7F;;;;;GAKG;AACH,eAAO,MAAM,MAAM,eAAgC,CAAC"}
@@ -18,4 +18,11 @@ export declare const ATTR_PARENT = "@parent";
18
18
  * Reference to the object parent.
19
19
  */
20
20
  export declare const ParentId: unique symbol;
21
+ /**
22
+ * Reference to the object's type entity (`Type.Obj`, `Type.Relation`, or
23
+ * `Type.Type`). Set at instance creation by `createObject` / `makeObject`
24
+ * when the entity is known. Public read-back via `Obj.getType` / `Relation.getType`
25
+ * / `Entity.getType`.
26
+ */
27
+ export declare const TypeEntityId: unique symbol;
21
28
  //# sourceMappingURL=typename.d.ts.map
@@ -1 +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
+ {"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;AAExD;;;;;GAKG;AACH,eAAO,MAAM,YAAY,eAAsC,CAAC"}
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * Version type identifier.
3
3
  */
4
- export declare const VersionTypeId: "~@dxos/echo/VersionTypeId";
4
+ export declare const VersionTypeId: '~@dxos/echo/VersionTypeId';
5
5
  export type VersionTypeId = typeof VersionTypeId;
6
6
  /**
7
7
  * Represents the object version.