@dxos/echo 0.8.4-main.d05539e30a → 0.8.4-main.d9fc60f731

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 (378) hide show
  1. package/README.md +4 -4
  2. package/dist/lib/neutral/Annotation.mjs +27 -6
  3. package/dist/lib/neutral/Database.mjs +6 -11
  4. package/dist/lib/neutral/Entity.mjs +25 -16
  5. package/dist/lib/neutral/Err.mjs +3 -3
  6. package/dist/lib/neutral/Feed.mjs +19 -17
  7. package/dist/lib/neutral/Filter.mjs +13 -13
  8. package/dist/lib/neutral/Format.mjs +23 -3
  9. package/dist/lib/neutral/JsonSchema.mjs +7 -8
  10. package/dist/lib/neutral/Key.mjs +9 -5
  11. package/dist/lib/neutral/Migration.mjs +11 -10
  12. package/dist/lib/neutral/Obj.mjs +21 -18
  13. package/dist/lib/neutral/Query.mjs +17 -17
  14. package/dist/lib/neutral/QueryResult.mjs +1 -1
  15. package/dist/lib/neutral/Ref.mjs +10 -11
  16. package/dist/lib/neutral/Registry.mjs +14 -0
  17. package/dist/lib/neutral/Relation.mjs +24 -23
  18. package/dist/lib/neutral/Scope.mjs +12 -0
  19. package/dist/lib/neutral/Tag.mjs +17 -14
  20. package/dist/lib/neutral/Type.mjs +52 -26
  21. package/dist/lib/neutral/chunk-3DKP2EIN.mjs +31 -0
  22. package/dist/lib/neutral/chunk-3DKP2EIN.mjs.map +7 -0
  23. package/dist/lib/neutral/chunk-4BB4MFCN.mjs +154 -0
  24. package/dist/lib/neutral/chunk-4BB4MFCN.mjs.map +7 -0
  25. package/dist/lib/neutral/{chunk-PT37DG2F.mjs → chunk-4SFPZJVA.mjs} +82 -74
  26. package/dist/lib/neutral/chunk-4SFPZJVA.mjs.map +7 -0
  27. package/dist/lib/neutral/{chunk-APHSOTIX.mjs → chunk-4Z6GET2X.mjs} +3 -3
  28. package/dist/lib/neutral/{chunk-APHSOTIX.mjs.map → chunk-4Z6GET2X.mjs.map} +2 -2
  29. package/dist/lib/neutral/{chunk-7RVZT53K.mjs → chunk-7LOUAPYZ.mjs} +9 -5
  30. package/dist/lib/neutral/chunk-7LOUAPYZ.mjs.map +7 -0
  31. package/dist/lib/neutral/{chunk-BMB7IHGB.mjs → chunk-7OAFN3OX.mjs} +70 -57
  32. package/dist/lib/neutral/chunk-7OAFN3OX.mjs.map +7 -0
  33. package/dist/lib/neutral/{chunk-MLS7U7AT.mjs → chunk-7PRCIDHH.mjs} +41 -28
  34. package/dist/lib/neutral/chunk-7PRCIDHH.mjs.map +7 -0
  35. package/dist/lib/neutral/{chunk-ZISMEVKD.mjs → chunk-BBFJWWAV.mjs} +6 -6
  36. package/dist/lib/neutral/chunk-BBFJWWAV.mjs.map +7 -0
  37. package/dist/lib/neutral/{chunk-ZFACXBY6.mjs → chunk-BDQGMDIX.mjs} +30 -34
  38. package/dist/lib/neutral/chunk-BDQGMDIX.mjs.map +7 -0
  39. package/dist/lib/neutral/chunk-CGTI5MXO.mjs +36 -0
  40. package/dist/lib/neutral/chunk-CGTI5MXO.mjs.map +7 -0
  41. package/dist/lib/neutral/{chunk-V72DY6LU.mjs → chunk-DKLUHO4T.mjs} +1 -1
  42. package/dist/lib/neutral/chunk-DKLUHO4T.mjs.map +7 -0
  43. package/dist/lib/neutral/chunk-DMN2CKPX.mjs +93 -0
  44. package/dist/lib/neutral/chunk-DMN2CKPX.mjs.map +7 -0
  45. package/dist/lib/neutral/{chunk-QRZ2I3ZM.mjs → chunk-G6CFWUYH.mjs} +2 -2
  46. package/dist/lib/neutral/chunk-H26LSXVJ.mjs +653 -0
  47. package/dist/lib/neutral/chunk-H26LSXVJ.mjs.map +7 -0
  48. package/dist/lib/neutral/{chunk-N7VOEPSV.mjs → chunk-J3MNM65T.mjs} +9 -9
  49. package/dist/lib/neutral/chunk-J3MNM65T.mjs.map +7 -0
  50. package/dist/lib/neutral/chunk-JE7AOSWF.mjs +247 -0
  51. package/dist/lib/neutral/chunk-JE7AOSWF.mjs.map +7 -0
  52. package/dist/lib/neutral/chunk-LAF3LSWI.mjs +379 -0
  53. package/dist/lib/neutral/chunk-LAF3LSWI.mjs.map +7 -0
  54. package/dist/lib/neutral/chunk-LMNRFOVB.mjs +108 -0
  55. package/dist/lib/neutral/chunk-LMNRFOVB.mjs.map +7 -0
  56. package/dist/lib/neutral/{chunk-N4B7FHQT.mjs → chunk-O6BH7EPN.mjs} +30 -3
  57. package/dist/lib/neutral/chunk-O6BH7EPN.mjs.map +7 -0
  58. package/dist/lib/neutral/{chunk-Q7ZL2P5H.mjs → chunk-OIYW7R2G.mjs} +62 -46
  59. package/dist/lib/neutral/chunk-OIYW7R2G.mjs.map +7 -0
  60. package/dist/lib/neutral/{chunk-G54OX4IX.mjs → chunk-OYUG4FHF.mjs} +527 -847
  61. package/dist/lib/neutral/chunk-OYUG4FHF.mjs.map +7 -0
  62. package/dist/lib/neutral/{chunk-J54QMAKF.mjs → chunk-Q5FKCVBC.mjs} +64 -59
  63. package/dist/lib/neutral/chunk-Q5FKCVBC.mjs.map +7 -0
  64. package/dist/lib/neutral/{chunk-FIWO2FZK.mjs → chunk-Q62IHV2N.mjs} +12 -7
  65. package/dist/lib/neutral/chunk-Q62IHV2N.mjs.map +7 -0
  66. package/dist/lib/neutral/{chunk-SCPFDS2E.mjs → chunk-QVJDDG44.mjs} +65 -34
  67. package/dist/lib/neutral/chunk-QVJDDG44.mjs.map +7 -0
  68. package/dist/lib/neutral/{chunk-TRPZU2HV.mjs → chunk-TFEWTY5A.mjs} +155 -129
  69. package/dist/lib/neutral/chunk-TFEWTY5A.mjs.map +7 -0
  70. package/dist/lib/neutral/{chunk-44HT3MEC.mjs → chunk-VKWOFXT2.mjs} +22 -2
  71. package/dist/lib/neutral/{chunk-44HT3MEC.mjs.map → chunk-VKWOFXT2.mjs.map} +1 -1
  72. package/dist/lib/neutral/{chunk-APJKDGFL.mjs → chunk-ZACMEAYV.mjs} +24 -24
  73. package/dist/lib/neutral/chunk-ZACMEAYV.mjs.map +7 -0
  74. package/dist/lib/neutral/index.mjs +50 -40
  75. package/dist/lib/neutral/internal/index.mjs +125 -64
  76. package/dist/lib/neutral/meta.json +1 -1
  77. package/dist/lib/neutral/testing/index.mjs +88 -99
  78. package/dist/lib/neutral/testing/index.mjs.map +3 -3
  79. package/dist/types/src/Annotation.d.ts +108 -4
  80. package/dist/types/src/Annotation.d.ts.map +1 -1
  81. package/dist/types/src/Annotation.test.d.ts +2 -0
  82. package/dist/types/src/Annotation.test.d.ts.map +1 -0
  83. package/dist/types/src/Collection.d.ts +2 -3
  84. package/dist/types/src/Collection.d.ts.map +1 -1
  85. package/dist/types/src/Database.d.ts +50 -30
  86. package/dist/types/src/Database.d.ts.map +1 -1
  87. package/dist/types/src/Dataset.d.ts +16 -6
  88. package/dist/types/src/Dataset.d.ts.map +1 -1
  89. package/dist/types/src/Entity.d.ts +89 -19
  90. package/dist/types/src/Entity.d.ts.map +1 -1
  91. package/dist/types/src/Err.d.ts +9 -9
  92. package/dist/types/src/Err.d.ts.map +1 -1
  93. package/dist/types/src/Feed.d.ts +35 -12
  94. package/dist/types/src/Feed.d.ts.map +1 -1
  95. package/dist/types/src/Filter.d.ts +21 -8
  96. package/dist/types/src/Filter.d.ts.map +1 -1
  97. package/dist/types/src/Hypergraph.d.ts +13 -8
  98. package/dist/types/src/Hypergraph.d.ts.map +1 -1
  99. package/dist/types/src/Json.d.ts.map +1 -1
  100. package/dist/types/src/JsonSchema.d.ts +1 -1
  101. package/dist/types/src/JsonSchema.d.ts.map +1 -1
  102. package/dist/types/src/Key.d.ts +1 -1
  103. package/dist/types/src/Key.d.ts.map +1 -1
  104. package/dist/types/src/Migration.d.ts +15 -12
  105. package/dist/types/src/Migration.d.ts.map +1 -1
  106. package/dist/types/src/Obj.d.ts +69 -40
  107. package/dist/types/src/Obj.d.ts.map +1 -1
  108. package/dist/types/src/Query.d.ts +24 -10
  109. package/dist/types/src/Query.d.ts.map +1 -1
  110. package/dist/types/src/QueryResult.d.ts +9 -0
  111. package/dist/types/src/QueryResult.d.ts.map +1 -1
  112. package/dist/types/src/Ref.d.ts +15 -8
  113. package/dist/types/src/Ref.d.ts.map +1 -1
  114. package/dist/types/src/Registry.d.ts +131 -0
  115. package/dist/types/src/Registry.d.ts.map +1 -0
  116. package/dist/types/src/Relation.d.ts +55 -26
  117. package/dist/types/src/Relation.d.ts.map +1 -1
  118. package/dist/types/src/Scope.d.ts +34 -0
  119. package/dist/types/src/Scope.d.ts.map +1 -0
  120. package/dist/types/src/StateMap.d.ts +32 -0
  121. package/dist/types/src/StateMap.d.ts.map +1 -0
  122. package/dist/types/src/StateMap.test.d.ts +2 -0
  123. package/dist/types/src/StateMap.test.d.ts.map +1 -0
  124. package/dist/types/src/Tag.d.ts +19 -3
  125. package/dist/types/src/Tag.d.ts.map +1 -1
  126. package/dist/types/src/TagIndex.d.ts +36 -0
  127. package/dist/types/src/TagIndex.d.ts.map +1 -0
  128. package/dist/types/src/TagIndex.test.d.ts +2 -0
  129. package/dist/types/src/TagIndex.test.d.ts.map +1 -0
  130. package/dist/types/src/Tagging.d.ts +31 -0
  131. package/dist/types/src/Tagging.d.ts.map +1 -0
  132. package/dist/types/src/Type.d.ts +356 -95
  133. package/dist/types/src/Type.d.ts.map +1 -1
  134. package/dist/types/src/View.d.ts +1 -4
  135. package/dist/types/src/View.d.ts.map +1 -1
  136. package/dist/types/src/index.d.ts +6 -3
  137. package/dist/types/src/index.d.ts.map +1 -1
  138. package/dist/types/src/internal/Annotation/annotations.d.ts +68 -36
  139. package/dist/types/src/internal/Annotation/annotations.d.ts.map +1 -1
  140. package/dist/types/src/internal/Annotation/dictionary.d.ts +24 -0
  141. package/dist/types/src/internal/Annotation/dictionary.d.ts.map +1 -0
  142. package/dist/types/src/internal/Annotation/entity-dictionary.d.ts +14 -0
  143. package/dist/types/src/internal/Annotation/entity-dictionary.d.ts.map +1 -0
  144. package/dist/types/src/internal/Annotation/index.d.ts +4 -2
  145. package/dist/types/src/internal/Annotation/index.d.ts.map +1 -1
  146. package/dist/types/src/internal/Annotation/util.d.ts +13 -4
  147. package/dist/types/src/internal/Annotation/util.d.ts.map +1 -1
  148. package/dist/types/src/internal/Entity/api.d.ts +3 -3
  149. package/dist/types/src/internal/Entity/api.d.ts.map +1 -1
  150. package/dist/types/src/internal/Entity/entity.d.ts +72 -8
  151. package/dist/types/src/internal/Entity/entity.d.ts.map +1 -1
  152. package/dist/types/src/internal/Entity/guard.d.ts +10 -0
  153. package/dist/types/src/internal/Entity/guard.d.ts.map +1 -0
  154. package/dist/types/src/internal/Entity/index.d.ts +2 -0
  155. package/dist/types/src/internal/Entity/index.d.ts.map +1 -1
  156. package/dist/types/src/internal/Entity/model.d.ts +18 -17
  157. package/dist/types/src/internal/Entity/model.d.ts.map +1 -1
  158. package/dist/types/src/internal/Entity/object.d.ts +3 -3
  159. package/dist/types/src/internal/Entity/object.d.ts.map +1 -1
  160. package/dist/types/src/internal/Entity/relation.d.ts +30 -7
  161. package/dist/types/src/internal/Entity/relation.d.ts.map +1 -1
  162. package/dist/types/src/internal/Entity/type-kind.d.ts +24 -0
  163. package/dist/types/src/internal/Entity/type-kind.d.ts.map +1 -0
  164. package/dist/types/src/internal/Entity/type-uri.d.ts +25 -0
  165. package/dist/types/src/internal/Entity/type-uri.d.ts.map +1 -0
  166. package/dist/types/src/internal/Format/date.d.ts.map +1 -1
  167. package/dist/types/src/internal/Format/format.d.ts +3 -2
  168. package/dist/types/src/internal/Format/format.d.ts.map +1 -1
  169. package/dist/types/src/internal/Format/index.d.ts +2 -2
  170. package/dist/types/src/internal/Format/index.d.ts.map +1 -1
  171. package/dist/types/src/internal/Format/object.d.ts +3 -1
  172. package/dist/types/src/internal/Format/object.d.ts.map +1 -1
  173. package/dist/types/src/internal/JsonSchema/json-schema.d.ts +2 -1
  174. package/dist/types/src/internal/JsonSchema/json-schema.d.ts.map +1 -1
  175. package/dist/types/src/internal/Obj/clone.d.ts.map +1 -1
  176. package/dist/types/src/internal/Obj/create-object.d.ts +11 -12
  177. package/dist/types/src/internal/Obj/create-object.d.ts.map +1 -1
  178. package/dist/types/src/internal/Obj/index.d.ts +0 -1
  179. package/dist/types/src/internal/Obj/index.d.ts.map +1 -1
  180. package/dist/types/src/internal/Obj/json-serializer.d.ts +8 -8
  181. package/dist/types/src/internal/Obj/json-serializer.d.ts.map +1 -1
  182. package/dist/types/src/internal/Obj/snapshot.d.ts.map +1 -1
  183. package/dist/types/src/internal/Obj/typed-object.d.ts +1 -1
  184. package/dist/types/src/internal/Query.d.ts.map +1 -1
  185. package/dist/types/src/internal/Ref/ref-array.d.ts +2 -2
  186. package/dist/types/src/internal/Ref/ref.d.ts +29 -19
  187. package/dist/types/src/internal/Ref/ref.d.ts.map +1 -1
  188. package/dist/types/src/internal/Type/index.d.ts +1 -2
  189. package/dist/types/src/internal/Type/index.d.ts.map +1 -1
  190. package/dist/types/src/internal/Type/manipulation.d.ts +0 -1
  191. package/dist/types/src/internal/Type/manipulation.d.ts.map +1 -1
  192. package/dist/types/src/internal/Type/type-schema.d.ts +52 -0
  193. package/dist/types/src/internal/Type/type-schema.d.ts.map +1 -0
  194. package/dist/types/src/internal/common/api/meta.d.ts +11 -8
  195. package/dist/types/src/internal/common/api/meta.d.ts.map +1 -1
  196. package/dist/types/src/internal/common/proxy/json-serializer.d.ts.map +1 -1
  197. package/dist/types/src/internal/common/proxy/make-object.d.ts +11 -5
  198. package/dist/types/src/internal/common/proxy/make-object.d.ts.map +1 -1
  199. package/dist/types/src/internal/common/proxy/typed-handler.d.ts +18 -2
  200. package/dist/types/src/internal/common/proxy/typed-handler.d.ts.map +1 -1
  201. package/dist/types/src/internal/common/types/base.d.ts +4 -4
  202. package/dist/types/src/internal/common/types/entity.d.ts +59 -2
  203. package/dist/types/src/internal/common/types/entity.d.ts.map +1 -1
  204. package/dist/types/src/internal/common/types/index.d.ts +1 -1
  205. package/dist/types/src/internal/common/types/index.d.ts.map +1 -1
  206. package/dist/types/src/internal/common/types/meta.d.ts +13 -7
  207. package/dist/types/src/internal/common/types/meta.d.ts.map +1 -1
  208. package/dist/types/src/internal/common/types/model-symbols.d.ts +8 -4
  209. package/dist/types/src/internal/common/types/model-symbols.d.ts.map +1 -1
  210. package/dist/types/src/internal/common/types/typename.d.ts +7 -0
  211. package/dist/types/src/internal/common/types/typename.d.ts.map +1 -1
  212. package/dist/types/src/internal/common/types/well-known-types.d.ts +11 -0
  213. package/dist/types/src/internal/common/types/well-known-types.d.ts.map +1 -0
  214. package/dist/types/src/internal/index.d.ts +1 -0
  215. package/dist/types/src/internal/index.d.ts.map +1 -1
  216. package/dist/types/src/testing/test-schema.d.ts +32 -38
  217. package/dist/types/src/testing/test-schema.d.ts.map +1 -1
  218. package/dist/types/src/testing/util.d.ts +5 -3
  219. package/dist/types/src/testing/util.d.ts.map +1 -1
  220. package/dist/types/tsconfig.tsbuildinfo +1 -1
  221. package/package.json +21 -23
  222. package/src/Annotation.test.ts +439 -0
  223. package/src/Annotation.ts +151 -4
  224. package/src/Collection.ts +5 -9
  225. package/src/Database.ts +86 -61
  226. package/src/Dataset.ts +10 -2
  227. package/src/Entity.test.ts +116 -6
  228. package/src/Entity.ts +116 -23
  229. package/src/Err.ts +4 -4
  230. package/src/Feed.ts +57 -40
  231. package/src/Filter.ts +49 -27
  232. package/src/Hypergraph.ts +13 -8
  233. package/src/Json.test.ts +4 -4
  234. package/src/Json.ts +7 -6
  235. package/src/Key.ts +1 -1
  236. package/src/Migration.ts +27 -19
  237. package/src/Obj.test.ts +19 -8
  238. package/src/Obj.ts +131 -70
  239. package/src/Query.test.ts +147 -151
  240. package/src/Query.ts +133 -75
  241. package/src/QueryResult.ts +11 -0
  242. package/src/Ref.ts +21 -5
  243. package/src/Registry.ts +155 -0
  244. package/src/Relation.test.ts +10 -10
  245. package/src/Relation.ts +89 -52
  246. package/src/Scope.ts +50 -0
  247. package/src/StateMap.test.ts +56 -0
  248. package/src/StateMap.ts +99 -0
  249. package/src/Tag.md +88 -0
  250. package/src/Tag.ts +49 -6
  251. package/src/TagIndex.test.ts +57 -0
  252. package/src/TagIndex.ts +110 -0
  253. package/src/Tagging.ts +83 -0
  254. package/src/Type.test.ts +223 -18
  255. package/src/Type.ts +601 -131
  256. package/src/View.ts +10 -19
  257. package/src/index.ts +6 -4
  258. package/src/internal/Annotation/annotations.test.ts +31 -11
  259. package/src/internal/Annotation/annotations.ts +122 -103
  260. package/src/internal/Annotation/dictionary.ts +47 -0
  261. package/src/internal/Annotation/entity-dictionary.ts +40 -0
  262. package/src/internal/Annotation/index.ts +4 -2
  263. package/src/internal/Annotation/util.ts +17 -8
  264. package/src/internal/Entity/api.ts +7 -7
  265. package/src/internal/Entity/entity.ts +196 -47
  266. package/src/internal/Entity/guard.ts +26 -0
  267. package/src/internal/Entity/index.ts +2 -0
  268. package/src/internal/Entity/model.ts +35 -28
  269. package/src/internal/Entity/object.ts +21 -5
  270. package/src/internal/Entity/relation.ts +68 -34
  271. package/src/internal/Entity/type-kind.ts +75 -0
  272. package/src/internal/Entity/type-uri.ts +87 -0
  273. package/src/internal/Entity/util.ts +10 -9
  274. package/src/internal/Format/date.ts +0 -4
  275. package/src/internal/Format/format.test.ts +21 -0
  276. package/src/internal/Format/index.ts +2 -3
  277. package/src/internal/Format/object.ts +21 -4
  278. package/src/internal/Format/types.ts +1 -1
  279. package/src/internal/JsonSchema/annotations.ts +1 -1
  280. package/src/internal/JsonSchema/json-schema.test.ts +54 -140
  281. package/src/internal/JsonSchema/json-schema.ts +44 -30
  282. package/src/internal/Obj/clone.ts +9 -4
  283. package/src/internal/Obj/create-object.test.ts +12 -10
  284. package/src/internal/Obj/create-object.ts +67 -22
  285. package/src/internal/Obj/index.ts +0 -1
  286. package/src/internal/Obj/inspect.ts +4 -3
  287. package/src/internal/Obj/json-serializer.test.ts +100 -21
  288. package/src/internal/Obj/json-serializer.ts +93 -38
  289. package/src/internal/Obj/set-value.test.ts +7 -30
  290. package/src/internal/Obj/snapshot.ts +11 -4
  291. package/src/internal/Obj/typed-object.test.ts +9 -11
  292. package/src/internal/Obj/typed-object.ts +1 -1
  293. package/src/internal/Query.ts +14 -11
  294. package/src/internal/Ref/ref-array.ts +3 -3
  295. package/src/internal/Ref/ref.test.ts +17 -26
  296. package/src/internal/Ref/ref.ts +107 -59
  297. package/src/internal/Type/compose.test.ts +3 -1
  298. package/src/internal/Type/index.ts +1 -2
  299. package/src/internal/Type/manipulation.ts +0 -25
  300. package/src/internal/Type/type-schema.ts +60 -0
  301. package/src/internal/common/README.md +1 -1
  302. package/src/internal/common/api/meta.ts +16 -14
  303. package/src/internal/common/proxy/change.test.ts +35 -27
  304. package/src/internal/common/proxy/handler.test.ts +1 -1
  305. package/src/internal/common/proxy/json-serializer.ts +26 -16
  306. package/src/internal/common/proxy/make-object.ts +43 -20
  307. package/src/internal/common/proxy/ownership.ts +2 -2
  308. package/src/internal/common/proxy/schema.test.ts +48 -86
  309. package/src/internal/common/proxy/typed-handler.test.ts +12 -11
  310. package/src/internal/common/proxy/typed-handler.ts +71 -9
  311. package/src/internal/common/proxy/typed-object.test.ts +15 -27
  312. package/src/internal/common/types/base.ts +4 -4
  313. package/src/internal/common/types/entity.ts +80 -1
  314. package/src/internal/common/types/index.ts +6 -1
  315. package/src/internal/common/types/meta.ts +37 -14
  316. package/src/internal/common/types/model-symbols.ts +16 -4
  317. package/src/internal/common/types/typename.ts +39 -3
  318. package/src/internal/common/types/well-known-types.ts +15 -0
  319. package/src/internal/index.ts +5 -0
  320. package/src/testing/api.test.ts +15 -9
  321. package/src/testing/test-data.ts +24 -24
  322. package/src/testing/test-schema.ts +22 -58
  323. package/src/testing/util.ts +14 -11
  324. package/dist/lib/neutral/Extension.mjs +0 -18
  325. package/dist/lib/neutral/SchemaRegistry.mjs +0 -2
  326. package/dist/lib/neutral/chunk-5SL5LDLD.mjs +0 -47
  327. package/dist/lib/neutral/chunk-5SL5LDLD.mjs.map +0 -7
  328. package/dist/lib/neutral/chunk-7RVZT53K.mjs.map +0 -7
  329. package/dist/lib/neutral/chunk-APJKDGFL.mjs.map +0 -7
  330. package/dist/lib/neutral/chunk-BICZKPQG.mjs +0 -7
  331. package/dist/lib/neutral/chunk-BICZKPQG.mjs.map +0 -7
  332. package/dist/lib/neutral/chunk-BMB7IHGB.mjs.map +0 -7
  333. package/dist/lib/neutral/chunk-FIWO2FZK.mjs.map +0 -7
  334. package/dist/lib/neutral/chunk-G54OX4IX.mjs.map +0 -7
  335. package/dist/lib/neutral/chunk-GWFFC34K.mjs +0 -50
  336. package/dist/lib/neutral/chunk-GWFFC34K.mjs.map +0 -7
  337. package/dist/lib/neutral/chunk-I2DARWPX.mjs +0 -128
  338. package/dist/lib/neutral/chunk-I2DARWPX.mjs.map +0 -7
  339. package/dist/lib/neutral/chunk-J54QMAKF.mjs.map +0 -7
  340. package/dist/lib/neutral/chunk-MGSQGHOD.mjs +0 -206
  341. package/dist/lib/neutral/chunk-MGSQGHOD.mjs.map +0 -7
  342. package/dist/lib/neutral/chunk-MLS7U7AT.mjs.map +0 -7
  343. package/dist/lib/neutral/chunk-N4B7FHQT.mjs.map +0 -7
  344. package/dist/lib/neutral/chunk-N7VOEPSV.mjs.map +0 -7
  345. package/dist/lib/neutral/chunk-PSZBLH53.mjs +0 -81
  346. package/dist/lib/neutral/chunk-PSZBLH53.mjs.map +0 -7
  347. package/dist/lib/neutral/chunk-PT37DG2F.mjs.map +0 -7
  348. package/dist/lib/neutral/chunk-Q2KKKJSV.mjs +0 -56
  349. package/dist/lib/neutral/chunk-Q2KKKJSV.mjs.map +0 -7
  350. package/dist/lib/neutral/chunk-Q7ZL2P5H.mjs.map +0 -7
  351. package/dist/lib/neutral/chunk-SCPFDS2E.mjs.map +0 -7
  352. package/dist/lib/neutral/chunk-TNBK56IN.mjs +0 -350
  353. package/dist/lib/neutral/chunk-TNBK56IN.mjs.map +0 -7
  354. package/dist/lib/neutral/chunk-TRPZU2HV.mjs.map +0 -7
  355. package/dist/lib/neutral/chunk-V72DY6LU.mjs.map +0 -7
  356. package/dist/lib/neutral/chunk-ZFACXBY6.mjs.map +0 -7
  357. package/dist/lib/neutral/chunk-ZISMEVKD.mjs.map +0 -7
  358. package/dist/types/src/Extension.d.ts +0 -80
  359. package/dist/types/src/Extension.d.ts.map +0 -1
  360. package/dist/types/src/Extension.test.d.ts +0 -2
  361. package/dist/types/src/Extension.test.d.ts.map +0 -1
  362. package/dist/types/src/SchemaRegistry.d.ts +0 -84
  363. package/dist/types/src/SchemaRegistry.d.ts.map +0 -1
  364. package/dist/types/src/internal/Obj/ids.d.ts +0 -6
  365. package/dist/types/src/internal/Obj/ids.d.ts.map +0 -1
  366. package/dist/types/src/internal/Type/echo-schema.d.ts +0 -181
  367. package/dist/types/src/internal/Type/echo-schema.d.ts.map +0 -1
  368. package/dist/types/src/internal/Type/persistent-schema.d.ts +0 -20
  369. package/dist/types/src/internal/Type/persistent-schema.d.ts.map +0 -1
  370. package/src/Extension.test.ts +0 -235
  371. package/src/Extension.ts +0 -122
  372. package/src/SchemaRegistry.ts +0 -106
  373. package/src/internal/Obj/ids.ts +0 -12
  374. package/src/internal/Type/echo-schema.ts +0 -423
  375. package/src/internal/Type/persistent-schema.ts +0 -33
  376. /package/dist/lib/neutral/{Extension.mjs.map → Registry.mjs.map} +0 -0
  377. /package/dist/lib/neutral/{SchemaRegistry.mjs.map → Scope.mjs.map} +0 -0
  378. /package/dist/lib/neutral/{chunk-QRZ2I3ZM.mjs.map → chunk-G6CFWUYH.mjs.map} +0 -0
@@ -1,10 +1,11 @@
1
+ import * as Option from 'effect/Option';
1
2
  import * as Schema from 'effect/Schema';
2
3
  import * as SchemaAST from 'effect/SchemaAST';
3
- import { DXN } from '@dxos/keys';
4
+ import { DXN, URI } from '@dxos/keys';
4
5
  import { type Primitive } from '@dxos/util';
6
+ import type * as Annotation from '../../Annotation';
5
7
  import { type Mutable } from '../common/proxy';
6
8
  import { type AnyProperties, EntityKind } from '../common/types';
7
- import { type AnnotationHelper } from './util';
8
9
  /**
9
10
  * Sets the path for the field.
10
11
  * @param path Data source path in the json path format. This is the field path in the source object.
@@ -17,17 +18,17 @@ export declare const FieldPath: (path: string) => <A, I, R>(self: Schema.Schema<
17
18
  export declare const TypeIdentifierAnnotationId: unique symbol;
18
19
  export declare const getTypeIdentifierAnnotation: (schema: Schema.Schema.All) => string | undefined;
19
20
  /**
20
- * @returns DXN of the schema.
21
+ * @returns The schema's type identifier URI — whichever URI fits.
21
22
  *
22
- * For non-stored schema returns `dxn:type:`.
23
- * For stored schema returns `dxn:echo:`.
24
- */
25
- export declare const getSchemaDXN: (schema: Schema.Schema.All) => DXN | undefined;
26
- /**
27
- * @param input schema or a typename string.
28
- * @return type DXN.
23
+ * - Stored (dynamic) schemas: the schema-as-object's EID, so loaded objects ride
24
+ * along with their schema as a strong dependency.
25
+ * - Non-stored (static) schemas: the typename DXN built from `TypeAnnotation`.
26
+ *
27
+ * This URI is what gets written to an object's `system.type`; queries that filter by
28
+ * type also use it (see `Filter.type` / `getTypeURIFromSpecifier`), so both sides
29
+ * stay symmetric without per-schema branching.
29
30
  */
30
- export declare const getTypeDXNFromSpecifier: (input: Schema.Schema.All | string) => DXN;
31
+ export declare const getSchemaURI: (schema: Schema.Schema.All) => URI.URI | undefined;
31
32
  /**
32
33
  * Fully qualified globally unique typename.
33
34
  * Example: `org.dxos.type.message`
@@ -60,12 +61,12 @@ export declare const TypeAnnotation: Schema.extend<Schema.Struct<{
60
61
  * If this is a relation, the schema of the source object.
61
62
  * Must be present if entity kind is {@link EntityKind.Relation}.
62
63
  */
63
- sourceSchema: Schema.optional<Schema.refine<string, typeof Schema.NonEmptyString>>;
64
+ sourceSchema: Schema.optional<Schema.Schema<DXN.DXN, DXN.DXN, never>>;
64
65
  /**
65
66
  * If this is a relation, the schema of the target object.
66
67
  * Must be present if entity kind is {@link EntityKind.Relation}.
67
68
  */
68
- targetSchema: Schema.optional<Schema.refine<string, typeof Schema.NonEmptyString>>;
69
+ targetSchema: Schema.optional<Schema.Schema<DXN.DXN, DXN.DXN, never>>;
69
70
  }>>;
70
71
  export interface TypeAnnotation extends Schema.Schema.Type<typeof TypeAnnotation> {
71
72
  }
@@ -78,16 +79,6 @@ export declare const getTypeAnnotation: (schema: Schema.Schema.All) => TypeAnnot
78
79
  * @returns {@link EntityKind} from a schema.
79
80
  */
80
81
  export declare const getEntityKind: (schema: Schema.Schema.All) => EntityKind | undefined;
81
- /**
82
- * Checks if the object is an instance of the schema.
83
- * Only typename is compared, the schema version is ignored.
84
- *
85
- * The following cases are considered to mean that the object is an instance of the schema:
86
- * - Object was created with this exact schema.
87
- * - Object was created with a different version of this schema.
88
- * - Object was created with a different schema (maybe dynamic) that has the same typename.
89
- */
90
- export declare const isInstanceOf: <Schema extends Schema.Schema.AnyNoContext>(schema: Schema, object: any) => object is Schema.Schema.Type<Schema>;
91
82
  /**
92
83
  * PropertyMeta (metadata for dynamic schema properties).
93
84
  * For user-defined annotations.
@@ -97,6 +88,12 @@ export type PropertyMetaValue = Primitive | Record<string, Primitive> | Primitiv
97
88
  export type PropertyMetaAnnotation = {
98
89
  [name: string]: PropertyMetaValue;
99
90
  };
91
+ /**
92
+ * Apply property-level metadata to an Effect schema. Only accepts
93
+ * `Schema.Schema.Any` — apply BEFORE wrapping the schema with
94
+ * `Type.makeObject` / `Type.makeRelation`. To read property meta off a
95
+ * `Type.Type` entity, unwrap it first with `Type.getSchema(entity)`.
96
+ */
100
97
  export declare const PropertyMeta: (name: string, value: PropertyMetaValue) => <A, I, R>(self: Schema.Schema<A, I, R>) => Schema.Schema<A, I, R>;
101
98
  export declare const getPropertyMetaAnnotation: <T>(prop: SchemaAST.PropertySignature, name: string) => T | undefined;
102
99
  /**
@@ -104,7 +101,7 @@ export declare const getPropertyMetaAnnotation: <T>(prop: SchemaAST.PropertySign
104
101
  */
105
102
  export declare const ReferenceAnnotationId: unique symbol;
106
103
  export type ReferenceAnnotationValue = TypeAnnotation;
107
- export declare const ReferenceAnnotation: AnnotationHelper<TypeAnnotation>;
104
+ export declare const ReferenceAnnotation: import("./util").AnnotationHelper<TypeAnnotation>;
108
105
  /**
109
106
  * SchemaMeta.
110
107
  */
@@ -113,16 +110,16 @@ export type SchemaMeta = TypeMeta & {
113
110
  id: string;
114
111
  };
115
112
  /**
116
- * Identifies a schema as a schema for a hidden system type.
113
+ * Identifies a schema as hidden from user-facing surfaces (like dotfiles — visible only via an advanced setting).
117
114
  */
118
- export declare const SystemTypeAnnotationId: unique symbol;
119
- export declare const SystemTypeAnnotation: AnnotationHelper<boolean>;
115
+ export declare const HiddenAnnotationId: unique symbol;
116
+ export declare const HiddenAnnotation: import("./util").AnnotationHelper<boolean>;
120
117
  /**
121
118
  * Identifies label property or JSON path expression.
122
119
  * Either a string or an array of strings representing field accessors each matched in priority order.
123
120
  */
124
121
  export declare const LabelAnnotationId: unique symbol;
125
- export declare const LabelAnnotation: AnnotationHelper<string[]>;
122
+ export declare const LabelAnnotation: import("./util").AnnotationHelper<string[]>;
126
123
  /**
127
124
  * Returns the label for a given object based on {@link LabelAnnotationId}.
128
125
  * Lower-level version that requires explicit schema parameter.
@@ -139,7 +136,7 @@ export declare const setLabelWithSchema: <S extends Schema.Schema.Any>(schema: S
139
136
  * A string representing field accessor.
140
137
  */
141
138
  export declare const DescriptionAnnotationId: unique symbol;
142
- export declare const DescriptionAnnotation: AnnotationHelper<string>;
139
+ export declare const DescriptionAnnotation: import("./util").AnnotationHelper<string>;
143
140
  /**
144
141
  * Returns the description for a given object based on {@link DescriptionAnnotationId}.
145
142
  * Lower-level version that requires explicit schema parameter.
@@ -155,7 +152,13 @@ export declare const setDescriptionWithSchema: <S extends Schema.Schema.Any>(sch
155
152
  * By default, all properties are included in forms, so this is opt-out.
156
153
  */
157
154
  export declare const FormInputAnnotationId: unique symbol;
158
- export declare const FormInputAnnotation: AnnotationHelper<boolean>;
155
+ export declare const FormInputAnnotation: import("./util").AnnotationHelper<boolean>;
156
+ /**
157
+ * When set on a `Ref` property, the form renders the referenced object's own
158
+ * fields inline (a nested form bound to the target) instead of a picker.
159
+ */
160
+ export declare const FormInlineAnnotationId: unique symbol;
161
+ export declare const FormInlineAnnotation: import("./util").AnnotationHelper<boolean>;
159
162
  /**
160
163
  * Default field to be used on referenced schema to lookup the value.
161
164
  */
@@ -169,12 +172,12 @@ export type GeneratorAnnotationValue = string | {
169
172
  args?: any[];
170
173
  probability?: number;
171
174
  };
172
- export declare const GeneratorAnnotation: AnnotationHelper<GeneratorAnnotationValue>;
175
+ export declare const GeneratorAnnotation: import("./util").AnnotationHelper<GeneratorAnnotationValue>;
173
176
  interface MakeAnnoationsProps<T> {
174
177
  id: string;
175
178
  schema: Schema.Schema<T, any, never>;
176
179
  }
177
- export declare const makeUserAnnotation: <T>(props: MakeAnnoationsProps<T>) => AnnotationHelper<T>;
180
+ export declare const makeUserAnnotation: <T>(props: MakeAnnoationsProps<T>) => Annotation.Annotation<T>;
178
181
  declare const IconAnnotationSchema: Schema.Struct<{
179
182
  /**
180
183
  * Phosphor icon name (e.g., 'ph--user--regular', 'ph--cube--regular', 'ph--link--regular ', etc.)
@@ -206,7 +209,7 @@ export interface IconAnnotation extends Schema.Schema.Type<typeof IconAnnotation
206
209
  /**
207
210
  * Icon to render in the UI.
208
211
  */
209
- export declare const IconAnnotation: AnnotationHelper<IconAnnotation>;
212
+ export declare const IconAnnotation: Annotation.Annotation<IconAnnotation>;
210
213
  /**
211
214
  * Indicates that this entity's icon should be resolved from a property whose value is a `Ref`
212
215
  * to another entity. Consumers (e.g. graph node builders) resolve the ref target and use that
@@ -215,12 +218,27 @@ export declare const IconAnnotation: AnnotationHelper<IconAnnotation>;
215
218
  * Useful for wrapper schemas that delegate their visual identity to a referenced sub-entity
216
219
  * (e.g. a generic `Game` whose icon should come from its `variant` ref's typed state).
217
220
  */
218
- export declare const IconFromRefAnnotation: AnnotationHelper<string>;
221
+ export declare const IconFromRefAnnotation: Annotation.Annotation<string>;
222
+ /**
223
+ * Options for {@link getLabel}.
224
+ */
225
+ export type GetLabelOptions = {
226
+ /**
227
+ * Strategy for deriving a label when the entity has no `LabelAnnotation` value.
228
+ * - `'typename'`: use the entity's typename (e.g. `org.dxos.type.table`).
229
+ * Useful for Card.Title chrome that must always display something, even
230
+ * for unlabeled objects.
231
+ */
232
+ fallback?: 'typename';
233
+ };
219
234
  /**
220
235
  * Get the label of an entity.
221
236
  * Accepts both reactive entities and snapshots.
237
+ *
238
+ * If `options.fallback === 'typename'` and no label is set, returns the
239
+ * entity's typename instead.
222
240
  */
223
- export declare const getLabel: (entity: AnyProperties) => string | undefined;
241
+ export declare const getLabel: (entity: AnyProperties, options?: GetLabelOptions) => string | undefined;
224
242
  /**
225
243
  * Set the label of an entity.
226
244
  * Must be called within an Obj.update or Relation.update callback.
@@ -231,10 +249,24 @@ export declare const setLabel: (entity: Mutable<AnyProperties>, label: string) =
231
249
  * Accepts both reactive entities and snapshots.
232
250
  */
233
251
  export declare const getDescription: (entity: AnyProperties) => string | undefined;
252
+ /**
253
+ * Get the icon annotation for an entity, resolved via its type-level `IconAnnotation`.
254
+ * Accepts both reactive entities and snapshots.
255
+ *
256
+ * Returns the full `{ icon, hue }` annotation so callers can use both the phosphor icon
257
+ * name and the suggested colour. Callers wanting just the icon name typically write
258
+ * `Obj.getIcon(obj)?.icon ?? 'ph--cube--regular'`.
259
+ *
260
+ * Note: this is the "static" icon from the object's own schema. It does not follow
261
+ * `IconFromRefAnnotation` delegation — call sites needing that (e.g. app-graph node
262
+ * builders) should resolve the ref themselves.
263
+ */
264
+ export declare const getIcon: (entity: AnyProperties) => IconAnnotation | undefined;
234
265
  /**
235
266
  * Set the description of an entity.
236
267
  * Must be called within an Obj.update or Relation.update callback.
237
268
  */
238
269
  export declare const setDescription: (entity: Mutable<AnyProperties>, description: string) => void;
239
- export {};
270
+ export { Dictionary, Key, getDictionary, setDictionary } from './dictionary';
271
+ export declare const getFromAst: <T>(ast: SchemaAST.AST, annotation: Annotation.Annotation<T>) => Option.Option<T>;
240
272
  //# sourceMappingURL=annotations.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"annotations.d.ts","sourceRoot":"","sources":["../../../../../src/internal/Annotation/annotations.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"annotations.d.ts","sourceRoot":"","sources":["../../../../../src/internal/Annotation/annotations.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,24 @@
1
+ import * as Option from 'effect/Option';
2
+ import * as Schema from 'effect/Schema';
3
+ import * as Types from 'effect/Types';
4
+ import type * as Annotation from '../../Annotation';
5
+ /**
6
+ * Unique identifier for an annotation.
7
+ */
8
+ export declare const Key: Schema.brand<typeof Schema.String, "~@dxos/echo/AnnotationKey">;
9
+ export type Key = Schema.Schema.Type<typeof Key>;
10
+ /**
11
+ * Set of annotation values stored on entity meta or nested in schemas.
12
+ */
13
+ export declare const Dictionary: Schema.Record$<Schema.brand<typeof Schema.String, "~@dxos/echo/AnnotationKey">, typeof Schema.Unknown>;
14
+ export interface Dictionary extends Schema.Schema.Type<typeof Dictionary> {
15
+ }
16
+ /**
17
+ * Get the value of an annotation from a dictionary.
18
+ */
19
+ export declare const getDictionary: <T>(values: Annotation.Dictionary, annotation: Annotation.Annotation<T>) => Option.Option<T>;
20
+ /**
21
+ * Set the value of an annotation in a dictionary.
22
+ */
23
+ export declare const setDictionary: <T>(values: Types.Mutable<Annotation.Dictionary>, annotation: Annotation.Annotation<T>, value: T) => void;
24
+ //# sourceMappingURL=dictionary.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dictionary.d.ts","sourceRoot":"","sources":["../../../../../src/internal/Annotation/dictionary.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AAEtC,OAAO,KAAK,KAAK,UAAU,MAAM,kBAAkB,CAAC;AAEpD;;GAEG;AACH,eAAO,MAAM,GAAG,iEAAgE,CAAC;AACjF,MAAM,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC;AAEjD;;GAEG;AACH,eAAO,MAAM,UAAU,wGAAqD,CAAC;AAC7E,MAAM,WAAW,UAAW,SAAQ,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,UAAU,CAAC;CAAG;AAE5E;;GAEG;AACH,eAAO,MAAM,aAAa,GAAI,CAAC,UACrB,UAAU,CAAC,UAAU,cACjB,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC,KACnC,MAAM,CAAC,MAAM,CAAC,CAAC,CAMjB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,aAAa,GAAI,CAAC,UACrB,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,UAAU,CAAC,cAChC,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC,SAC7B,CAAC,KACP,IAEF,CAAC"}
@@ -0,0 +1,14 @@
1
+ import * as Option from 'effect/Option';
2
+ import type * as Annotation from '../../Annotation';
3
+ import type * as Entity from '../../Entity';
4
+ import { type Mutable } from '../common/proxy/reactive';
5
+ /**
6
+ * Get the value of an annotation from an entity instance or snapshot.
7
+ */
8
+ export declare const get: <T>(target: Entity.Unknown | Entity.Snapshot, annotation: Annotation.Annotation<T>) => Option.Option<T>;
9
+ /**
10
+ * Set the value of an annotation on an entity instance.
11
+ * Must be called with a mutable entity — i.e. inside an `Obj.update` callback.
12
+ */
13
+ export declare const set: <T>(target: Mutable<Entity.Unknown>, annotation: Annotation.Annotation<T>, value: T) => void;
14
+ //# sourceMappingURL=entity-dictionary.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"entity-dictionary.d.ts","sourceRoot":"","sources":["../../../../../src/internal/Annotation/entity-dictionary.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAExC,OAAO,KAAK,KAAK,UAAU,MAAM,kBAAkB,CAAC;AACpD,OAAO,KAAK,KAAK,MAAM,MAAM,cAAc,CAAC;AAE5C,OAAO,EAAE,KAAK,OAAO,EAAE,MAAM,0BAA0B,CAAC;AAIxD;;GAEG;AACH,eAAO,MAAM,GAAG,GAAI,CAAC,UACX,MAAM,CAAC,OAAO,GAAG,MAAM,CAAC,QAAQ,cAC5B,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC,KACnC,MAAM,CAAC,MAAM,CAAC,CAAC,CAOjB,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,GAAG,GAAI,CAAC,UAAU,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,cAAc,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,KAAG,IAOxG,CAAC"}
@@ -1,4 +1,6 @@
1
- export * from './annotations';
2
- export * from './sorting';
1
+ export * from './dictionary';
3
2
  export * from './util';
3
+ export * from './sorting';
4
+ export * from './annotations';
5
+ export * from './entity-dictionary';
4
6
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/internal/Annotation/index.ts"],"names":[],"mappings":"AAIA,cAAc,eAAe,CAAC;AAC9B,cAAc,WAAW,CAAC;AAC1B,cAAc,QAAQ,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/internal/Annotation/index.ts"],"names":[],"mappings":"AAIA,cAAc,cAAc,CAAC;AAC7B,cAAc,QAAQ,CAAC;AACvB,cAAc,WAAW,CAAC;AAC1B,cAAc,eAAe,CAAC;AAC9B,cAAc,qBAAqB,CAAC"}
@@ -1,10 +1,15 @@
1
- import type * as Option from 'effect/Option';
1
+ import * as Option from 'effect/Option';
2
2
  import type * as Schema from 'effect/Schema';
3
3
  import * as SchemaAST from 'effect/SchemaAST';
4
4
  import { EntityKind } from '../common/types';
5
5
  export interface AnnotationHelper<T> {
6
6
  /**
7
- * Get the annotation value from the schema.
7
+ * Get the annotation value from an Effect schema.
8
+ *
9
+ * Only accepts `Schema.Schema.Any` — to read an annotation off a `Type.Type`
10
+ * entity, unwrap it first with `Type.getSchema(entity)`. This keeps the
11
+ * annotation pipeline single-shaped and forces annotations to live on the
12
+ * source schema, not on the post-construction Type entity.
8
13
  */
9
14
  get: (schema: Schema.Schema.Any) => Option.Option<T>;
10
15
  /**
@@ -12,7 +17,11 @@ export interface AnnotationHelper<T> {
12
17
  */
13
18
  getFromAst: (ast: SchemaAST.AST) => Option.Option<T>;
14
19
  /**
15
- * Set the annotation value on the schema.
20
+ * Set the annotation on an Effect schema.
21
+ *
22
+ * Only accepts `Schema.Schema.Any` — annotations must be applied to the
23
+ * source schema BEFORE wrapping it with `Type.makeObject` / `Type.makeRelation`.
24
+ * In a pipe, place every `Annotation.X.set(...)` before the `Type.make...` step.
16
25
  */
17
26
  set: (value: T) => <S extends Schema.Schema.Any>(schema: S) => S;
18
27
  }
@@ -35,5 +44,5 @@ export declare const makeTypeJsonSchemaAnnotation: (options: {
35
44
  version: string;
36
45
  relationSource?: string;
37
46
  relationTarget?: string;
38
- }) => any;
47
+ }) => Record<string, unknown>;
39
48
  //# sourceMappingURL=util.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"util.d.ts","sourceRoot":"","sources":["../../../../../src/internal/Annotation/util.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,KAAK,MAAM,MAAM,eAAe,CAAC;AAC7C,OAAO,KAAK,KAAK,MAAM,MAAM,eAAe,CAAC;AAC7C,OAAO,KAAK,SAAS,MAAM,kBAAkB,CAAC;AAK9C,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAE7C,MAAM,WAAW,gBAAgB,CAAC,CAAC;IACjC;;OAEG;IACH,GAAG,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,GAAG,KAAK,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IACrD;;OAEG;IACH,UAAU,EAAE,CAAC,GAAG,EAAE,SAAS,CAAC,GAAG,KAAK,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IACrD;;OAEG;IACH,GAAG,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,MAAM,EAAE,CAAC,KAAK,CAAC,CAAC;CAClE;AAED;;GAEG;AAEH,eAAO,MAAM,sBAAsB,GAAI,CAAC,MAAM,MAAM,KAAG,gBAAgB,CAAC,CAAC,CASxE,CAAC;AAEF;;GAEG;AAEH,eAAO,MAAM,cAAc,aAAc,SAAS,CAAC,iBAAiB,gDAMnE,CAAC;AAEF;;;GAGG;AAEH,eAAO,MAAM,4BAA4B,YAAa;IACpD,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,UAAU,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB,QAiBA,CAAC"}
1
+ {"version":3,"file":"util.d.ts","sourceRoot":"","sources":["../../../../../src/internal/Annotation/util.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,KAAK,MAAM,MAAM,eAAe,CAAC;AAC7C,OAAO,KAAK,SAAS,MAAM,kBAAkB,CAAC;AAK9C,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAE7C,MAAM,WAAW,gBAAgB,CAAC,CAAC;IACjC;;;;;;;OAOG;IACH,GAAG,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,GAAG,KAAK,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IACrD;;OAEG;IACH,UAAU,EAAE,CAAC,GAAG,EAAE,SAAS,CAAC,GAAG,KAAK,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IACrD;;;;;;OAMG;IACH,GAAG,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,MAAM,EAAE,CAAC,KAAK,CAAC,CAAC;CAClE;AAED;;GAEG;AAGH,eAAO,MAAM,sBAAsB,GAAI,CAAC,MAAM,MAAM,KAAG,gBAAgB,CAAC,CAAC,CASxE,CAAC;AAEF;;GAEG;AAEH,eAAO,MAAM,cAAc,aAAc,SAAS,CAAC,iBAAiB,gDAMnE,CAAC;AAEF;;;GAGG;AAEH,eAAO,MAAM,4BAA4B,YAAa;IACpD,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,UAAU,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB,4BAgBA,CAAC"}
@@ -1,10 +1,10 @@
1
- import { type DXN } from '@dxos/keys';
1
+ import { type EID } from '@dxos/keys';
2
2
  import type { AnyEntity } from '../common/types';
3
3
  /**
4
- * Get the DXN of an entity.
4
+ * Get the canonical EID of an entity.
5
5
  * Accepts both reactive entities and snapshots.
6
6
  */
7
- export declare const getDXN: (entity: AnyEntity) => DXN;
7
+ export declare const getUri: (entity: AnyEntity) => EID.EID;
8
8
  /**
9
9
  * Get the database the entity belongs to.
10
10
  * Accepts both reactive entities and snapshots.
@@ -1 +1 @@
1
- {"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../../../../src/internal/Entity/api.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,KAAK,GAAG,EAAE,MAAM,YAAY,CAAC;AAGtC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAIjD;;;GAGG;AACH,eAAO,MAAM,MAAM,WAAY,SAAS,KAAG,GAI1C,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,WAAW,WAAY,SAAS,KAAG,GAAG,GAAG,SAGrD,CAAC"}
1
+ {"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../../../../src/internal/Entity/api.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,KAAK,GAAG,EAAE,MAAM,YAAY,CAAC;AAGtC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAIjD;;;GAGG;AACH,eAAO,MAAM,MAAM,WAAY,SAAS,KAAG,GAAG,CAAC,GAI9C,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,WAAW,WAAY,SAAS,KAAG,GAAG,GAAG,SAGrD,CAAC"}
@@ -1,20 +1,84 @@
1
1
  import * as Schema from 'effect/Schema';
2
2
  import type * as Types from 'effect/Types';
3
+ import { DXN, EntityId } from '@dxos/keys';
3
4
  import { type ToMutable } from '@dxos/util';
4
- import { type TypeMeta } from '../Annotation';
5
- import { type AnyEntity, type EntityKind, SchemaKindId } from '../common/types';
5
+ import { type AnyEntity, EntityKind, InstancePhantomId, KindId, SchemaKindId, StaticTypeSchemaSlot } from '../common/types';
6
+ import { JsonSchemaType } from '../JsonSchema/json-schema-type';
6
7
  export type EchoTypeSchemaProps<T, ExtraFields = {}> = Types.Simplify<AnyEntity & ToMutable<T> & ExtraFields>;
7
- export interface EchoTypeSchema<Self extends Schema.Schema.Any, ExtraFields = {}, K extends EntityKind = EntityKind, Fields extends Schema.Struct.Fields = Schema.Struct.Fields> extends TypeMeta, Schema.AnnotableClass<EchoTypeSchema<Self, ExtraFields, K, Fields>, EchoTypeSchemaProps<Schema.Schema.Type<Self>, ExtraFields>, EchoTypeSchemaProps<Schema.Schema.Encoded<Self>, ExtraFields>, Schema.Schema.Context<Self>> {
8
+ /**
9
+ * Options accepted by every `Type.makeObject` / `Type.makeRelation` / type-kind
10
+ * factory. Defaults are derived from `(typename, version)` so callers normally
11
+ * pass nothing.
12
+ */
13
+ export type EchoTypeOptions = {
8
14
  /**
9
- * Schema kind key that marks this as an ECHO schema and indicates its kind.
10
- * Makes EchoTypeSchema satisfy the Type.AnyObj or Type.Relation.Any type.
15
+ * Override the entity id stamped on the in-memory `Type.Type` value.
16
+ *
17
+ * Defaults to `EntityId.deterministic(typename, version)` — stable across processes
18
+ * and workerd-safe (no `crypto.getRandomValues()` at module-evaluation time).
19
+ * Pass an explicit id (typically `EntityId.random()`) to opt out of the
20
+ * deterministic default.
11
21
  */
22
+ id?: EntityId;
23
+ };
24
+ /**
25
+ * In-memory `Type.Type` entity shape produced by `Type.makeObject(dxn)` /
26
+ * `Type.makeRelation({...})`. A live reactive `TypeSchema` instance —
27
+ * identical to a persisted `Type.Type` except for database attachment.
28
+ *
29
+ * NOT a `Schema.Schema`. The underlying Effect Schema is cached on the hidden
30
+ * `StaticTypeSchemaSlot` slot — retrieve it via `Type.getSchema(...)`.
31
+ */
32
+ export interface EchoTypeSchema<Self extends Schema.Schema.Any, ExtraFields = {}, K extends EntityKind = EntityKind, Fields extends Schema.Struct.Fields = Schema.Struct.Fields> {
33
+ /**
34
+ * Entity-kind brand. Type entities are their own kind (`Type`) regardless of
35
+ * the kind of instance they describe — `[SchemaKindId]` carries the latter.
36
+ * This lets predicates like `Obj.isObject` / `Relation.isRelation` cleanly
37
+ * reject type entities without also having to inspect `[SchemaKindId]`.
38
+ */
39
+ readonly [KindId]: EntityKind.Type;
40
+ /** Schema-kind brand indicating what kind of instance this type describes. */
12
41
  readonly [SchemaKindId]: K;
13
42
  /**
14
- * The fields defined in the original struct schema.
15
- * Allows accessing field definitions for introspection.
43
+ * Entity id. Always present stamped at construction — but NOT the type's
44
+ * identity while in-memory: an unattached type resolves its URI to the typename
45
+ * DXN, switching to `echo:/<id>` only once attached to a database (see
46
+ * `getTypeURIFromSpecifier`, which discriminates by database attachment).
16
47
  */
48
+ readonly id: EntityId;
49
+ /** Source Effect Schema (kept on a hidden slot for `Type.getSchema`). */
50
+ readonly [StaticTypeSchemaSlot]: Schema.Schema.AnyNoContext;
51
+ readonly jsonSchema: JsonSchemaType;
52
+ /** Struct fields for introspection. */
17
53
  readonly fields: Fields;
18
- instanceOf(value: unknown): boolean;
54
+ /** Phantom — instance type produced by `Obj.make(self, ...)`. */
55
+ readonly _instance?: EchoTypeSchemaProps<Schema.Schema.Type<Self>, ExtraFields>;
56
+ /**
57
+ * Phantom slot mirroring `Type<A>` so internal helpers (`makeObject`,
58
+ * `createObject`, `Ref.make`) infer the instance type uniformly whether
59
+ * the caller passes an `EchoTypeSchema` or a top-level `Type.Type` entity.
60
+ *
61
+ * Includes the instance-kind brand (`[KindId]`) so the phantom is assignable
62
+ * to the matching public-side interface in `Type.ts` (`Type.Obj` /
63
+ * `Type.Relation` / `Type.Type`). Each kind projects identity: instances of
64
+ * an object-kind schema are object-kind entities, type-kind schemas produce
65
+ * type-kind (persisted Type.Type) entities — the latter additionally carry
66
+ * the `[SchemaKindId]` / `[StaticTypeSchemaSlot]` brands the echo-handler
67
+ * proxy exposes on persisted Type entities.
68
+ */
69
+ readonly [InstancePhantomId]?: EchoTypeSchemaProps<Schema.Schema.Type<Self>, ExtraFields> & {
70
+ readonly [KindId]: K;
71
+ } & (K extends EntityKind.Type ? {
72
+ readonly [SchemaKindId]: EntityKind.Type;
73
+ readonly [StaticTypeSchemaSlot]: Schema.Schema.AnyNoContext;
74
+ } : {});
19
75
  }
76
+ /**
77
+ * Identity (typename + version) of the type meta-schema — the `Type.Type` that
78
+ * every ECHO type entity is itself an instance of. Shared by the materialisation
79
+ * vehicle ({@link persistentEntitySchema}) and `TypeSchema` so the two cannot
80
+ * drift on identity.
81
+ */
82
+ export declare const TypeMetaSchemaDXN: DXN.DXN;
83
+ export { isEntity } from './guard';
20
84
  //# sourceMappingURL=entity.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"entity.d.ts","sourceRoot":"","sources":["../../../../../src/internal/Entity/entity.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAExC,OAAO,KAAK,KAAK,KAAK,MAAM,cAAc,CAAC;AAE3C,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,YAAY,CAAC;AAE5C,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,EAAE,KAAK,SAAS,EAAE,KAAK,UAAU,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAKhF,MAAM,MAAM,mBAAmB,CAAC,CAAC,EAAE,WAAW,GAAG,EAAE,IAAI,KAAK,CAAC,QAAQ,CAAC,SAAS,GAAG,SAAS,CAAC,CAAC,CAAC,GAAG,WAAW,CAAC,CAAC;AAG9G,MAAM,WAAW,cAAc,CAC7B,IAAI,SAAS,MAAM,CAAC,MAAM,CAAC,GAAG,EAC9B,WAAW,GAAG,EAAE,EAChB,CAAC,SAAS,UAAU,GAAG,UAAU,EACjC,MAAM,SAAS,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAE1D,SACE,QAAQ,EACR,MAAM,CAAC,cAAc,CACnB,cAAc,CAAC,IAAI,EAAE,WAAW,EAAE,CAAC,EAAE,MAAM,CAAC,EAC5C,mBAAmB,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,WAAW,CAAC,EAC1D,mBAAmB,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,WAAW,CAAC,EAC7D,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAC5B;IACH;;;OAGG;IACH,QAAQ,CAAC,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;IAE3B;;;OAGG;IACH,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IAExB,UAAU,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC;CACrC"}
1
+ {"version":3,"file":"entity.d.ts","sourceRoot":"","sources":["../../../../../src/internal/Entity/entity.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAExC,OAAO,KAAK,KAAK,KAAK,MAAM,cAAc,CAAC;AAE3C,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAC3C,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,YAAY,CAAC;AAO5C,OAAO,EACL,KAAK,SAAS,EACd,UAAU,EACV,iBAAiB,EACjB,MAAM,EACN,YAAY,EACZ,oBAAoB,EACrB,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAKhE,MAAM,MAAM,mBAAmB,CAAC,CAAC,EAAE,WAAW,GAAG,EAAE,IAAI,KAAK,CAAC,QAAQ,CAAC,SAAS,GAAG,SAAS,CAAC,CAAC,CAAC,GAAG,WAAW,CAAC,CAAC;AAE9G;;;;GAIG;AACH,MAAM,MAAM,eAAe,GAAG;IAC5B;;;;;;;OAOG;IACH,EAAE,CAAC,EAAE,QAAQ,CAAC;CACf,CAAC;AAEF;;;;;;;GAOG;AAEH,MAAM,WAAW,cAAc,CAC7B,IAAI,SAAS,MAAM,CAAC,MAAM,CAAC,GAAG,EAC9B,WAAW,GAAG,EAAE,EAChB,CAAC,SAAS,UAAU,GAAG,UAAU,EACjC,MAAM,SAAS,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM;IAE1D;;;;;OAKG;IACH,QAAQ,CAAC,CAAC,MAAM,CAAC,EAAE,UAAU,CAAC,IAAI,CAAC;IAEnC,8EAA8E;IAC9E,QAAQ,CAAC,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;IAE3B;;;;;OAKG;IACH,QAAQ,CAAC,EAAE,EAAE,QAAQ,CAAC;IAEtB,yEAAyE;IACzE,QAAQ,CAAC,CAAC,oBAAoB,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC;IAK5D,QAAQ,CAAC,UAAU,EAAE,cAAc,CAAC;IAEpC,uCAAuC;IACvC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IAExB,iEAAiE;IACjE,QAAQ,CAAC,SAAS,CAAC,EAAE,mBAAmB,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,WAAW,CAAC,CAAC;IAEhF;;;;;;;;;;;;OAYG;IACH,QAAQ,CAAC,CAAC,iBAAiB,CAAC,CAAC,EAAE,mBAAmB,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,WAAW,CAAC,GAAG;QAC1F,QAAQ,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;KACtB,GAAG,CAAC,CAAC,SAAS,UAAU,CAAC,IAAI,GACxB;QACE,QAAQ,CAAC,CAAC,YAAY,CAAC,EAAE,UAAU,CAAC,IAAI,CAAC;QACzC,QAAQ,CAAC,CAAC,oBAAoB,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC;KAC7D,GACD,EAAE,CAAC,CAAC;CACX;AAiCD;;;;;GAKG;AACH,eAAO,MAAM,iBAAiB,SAA4C,CAAC;AAuH3E,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC"}
@@ -0,0 +1,10 @@
1
+ import type * as Entity from '../../Entity';
2
+ /**
3
+ * Returns true if the value is an ECHO entity instance (object or relation).
4
+ */
5
+ export declare const isEntity: (value: unknown) => value is Entity.Unknown;
6
+ /**
7
+ * Returns true if the value is an ECHO entity snapshot.
8
+ */
9
+ export declare const isSnapshot: (value: unknown) => value is Entity.Snapshot;
10
+ //# sourceMappingURL=guard.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"guard.d.ts","sourceRoot":"","sources":["../../../../../src/internal/Entity/guard.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,KAAK,MAAM,MAAM,cAAc,CAAC;AAG5C;;GAEG;AACH,eAAO,MAAM,QAAQ,UAAW,OAAO,KAAG,KAAK,IAAI,MAAM,CAAC,OAKzD,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,UAAU,UAAW,OAAO,KAAG,KAAK,IAAI,MAAM,CAAC,QAK3D,CAAC"}
@@ -3,6 +3,8 @@ export * from './entity';
3
3
  export * from './model';
4
4
  export * from './object';
5
5
  export * from './relation';
6
+ export * from './type-kind';
7
+ export * from './type-uri';
6
8
  export * from './util';
7
9
  export * from './version';
8
10
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/internal/Entity/index.ts"],"names":[],"mappings":"AAIA,cAAc,OAAO,CAAC;AACtB,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC;AACzB,cAAc,YAAY,CAAC;AAC3B,cAAc,QAAQ,CAAC;AACvB,cAAc,WAAW,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/internal/Entity/index.ts"],"names":[],"mappings":"AAIA,cAAc,OAAO,CAAC;AACtB,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC;AACzB,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,QAAQ,CAAC;AACvB,cAAc,WAAW,CAAC"}
@@ -1,33 +1,34 @@
1
1
  import type * as Schema from 'effect/Schema';
2
2
  import { type ForeignKey } from '@dxos/echo-protocol';
3
- import { DXN, ObjectId } from '@dxos/keys';
3
+ import { EID, EntityId, type URI } from '@dxos/keys';
4
4
  import type * as Database from '../../Database';
5
- import { type ATTR_META, type ATTR_PARENT, type ATTR_TYPE, ATTR_DELETED, ATTR_RELATION_SOURCE, ATTR_RELATION_TARGET, ATTR_SELF_DXN, EntityKind, KindId, type MetaId, ObjectDatabaseId, ObjectDeletedId, type ObjectMeta, ObjectVersionId, type ParentId, RelationSourceDXNId, RelationSourceId, RelationTargetDXNId, RelationTargetId, type SchemaId, SelfDXNId, TypeId, type Version } from '../common/types';
6
- export { ATTR_DELETED, ATTR_SELF_DXN, ObjectDatabaseId, ObjectDeletedId, ObjectVersionId, SelfDXNId };
5
+ import { type ATTR_PARENT, type ATTR_TYPE, ATTR_DELETED, ATTR_RELATION_SOURCE, ATTR_RELATION_TARGET, ATTR_SELF_URI, ATTR_SELF_URI_LEGACY, EntityKind, KindId, ObjectDatabaseId, ObjectDeletedId, ObjectVersionId, type ParentId, RelationSourceDXNId, RelationSourceId, RelationTargetDXNId, RelationTargetId, type SchemaId, SelfURIId, TypeId, type Version } from '../common/types';
6
+ import { type ATTR_META, type MetaId, type EntityMeta } from '../common/types/meta';
7
+ export { ATTR_DELETED, ATTR_SELF_URI, ATTR_SELF_URI_LEGACY, ObjectDatabaseId, ObjectDeletedId, ObjectVersionId, SelfURIId, };
7
8
  /**
8
9
  * Internal runtime representation of an object.
9
10
  * The fields are accessed through getter functions.
10
11
  */
11
12
  export interface InternalObjectProps {
12
- readonly id: ObjectId;
13
- readonly [SelfDXNId]: DXN;
13
+ readonly id: EntityId;
14
+ readonly [SelfURIId]: EID.EID;
14
15
  readonly [KindId]: EntityKind;
15
16
  readonly [SchemaId]: Schema.Schema.AnyNoContext;
16
- readonly [TypeId]: DXN;
17
- readonly [MetaId]?: ObjectMeta;
17
+ readonly [TypeId]: URI.URI;
18
+ readonly [MetaId]?: EntityMeta;
18
19
  [ParentId]?: InternalObjectProps;
19
20
  readonly [ObjectDatabaseId]?: Database.Database;
20
21
  readonly [ObjectDeletedId]?: boolean;
21
22
  readonly [ObjectVersionId]?: Version;
22
- readonly [RelationSourceDXNId]?: DXN;
23
- readonly [RelationTargetDXNId]?: DXN;
23
+ readonly [RelationSourceDXNId]?: EID.EID;
24
+ readonly [RelationTargetDXNId]?: EID.EID;
24
25
  readonly [RelationSourceId]?: InternalObjectProps;
25
26
  readonly [RelationTargetId]?: InternalObjectProps;
26
27
  }
27
28
  /**
28
29
  * Entity metadata.
29
30
  */
30
- export interface ObjectMetaJSON {
31
+ export interface EntityMetaJSON {
31
32
  keys: ForeignKey[];
32
33
  tags?: string[];
33
34
  key?: string;
@@ -37,14 +38,14 @@ export interface ObjectMetaJSON {
37
38
  * JSON representation of an object or relation metadata.
38
39
  */
39
40
  export interface ObjectJSON {
40
- id: string;
41
- [ATTR_TYPE]: DXN.String;
42
- [ATTR_SELF_DXN]?: DXN.String;
43
- [ATTR_PARENT]?: string;
41
+ id: EntityId;
42
+ [ATTR_TYPE]?: URI.URI;
43
+ [ATTR_SELF_URI]?: EID.EID;
44
+ [ATTR_PARENT]?: EID.EID;
44
45
  [ATTR_DELETED]?: boolean;
45
- [ATTR_META]?: ObjectMetaJSON;
46
- [ATTR_RELATION_SOURCE]?: DXN.String;
47
- [ATTR_RELATION_TARGET]?: DXN.String;
46
+ [ATTR_META]?: EntityMetaJSON;
47
+ [ATTR_RELATION_SOURCE]?: EID.EID;
48
+ [ATTR_RELATION_TARGET]?: EID.EID;
48
49
  /**
49
50
  * Application-specific properties.
50
51
  */
@@ -1 +1 @@
1
- {"version":3,"file":"model.d.ts","sourceRoot":"","sources":["../../../../../src/internal/Entity/model.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"model.d.ts","sourceRoot":"","sources":["../../../../../src/internal/Entity/model.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,KAAK,MAAM,MAAM,eAAe,CAAC;AAE7C,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAEtD,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,KAAK,GAAG,EAAE,MAAM,YAAY,CAAC;AAGrD,OAAO,KAAK,KAAK,QAAQ,MAAM,gBAAgB,CAAC;AAChD,OAAO,EACL,KAAK,WAAW,EAChB,KAAK,SAAS,EACd,YAAY,EACZ,oBAAoB,EACpB,oBAAoB,EACpB,aAAa,EACb,oBAAoB,EACpB,UAAU,EACV,MAAM,EACN,gBAAgB,EAChB,eAAe,EACf,eAAe,EACf,KAAK,QAAQ,EACb,mBAAmB,EACnB,gBAAgB,EAChB,mBAAmB,EACnB,gBAAgB,EAChB,KAAK,QAAQ,EACb,SAAS,EACT,MAAM,EACN,KAAK,OAAO,EACb,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,KAAK,SAAS,EAAE,KAAK,MAAM,EAAE,KAAK,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAEpF,OAAO,EACL,YAAY,EACZ,aAAa,EACb,oBAAoB,EACpB,gBAAgB,EAChB,eAAe,EACf,eAAe,EACf,SAAS,GACV,CAAC;AAEF;;;GAGG;AAEH,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,EAAE,EAAE,QAAQ,CAAC;IACtB,QAAQ,CAAC,CAAC,SAAS,CAAC,EAAE,GAAG,CAAC,GAAG,CAAC;IAC9B,QAAQ,CAAC,CAAC,MAAM,CAAC,EAAE,UAAU,CAAC;IAC9B,QAAQ,CAAC,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC;IAChD,QAAQ,CAAC,CAAC,MAAM,CAAC,EAAE,GAAG,CAAC,GAAG,CAAC;IAC3B,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,UAAU,CAAC;IAC/B,CAAC,QAAQ,CAAC,CAAC,EAAE,mBAAmB,CAAC;IACjC,QAAQ,CAAC,CAAC,gBAAgB,CAAC,CAAC,EAAE,QAAQ,CAAC,QAAQ,CAAC;IAChD,QAAQ,CAAC,CAAC,eAAe,CAAC,CAAC,EAAE,OAAO,CAAC;IACrC,QAAQ,CAAC,CAAC,eAAe,CAAC,CAAC,EAAE,OAAO,CAAC;IACrC,QAAQ,CAAC,CAAC,mBAAmB,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,CAAC;IACzC,QAAQ,CAAC,CAAC,mBAAmB,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,CAAC;IACzC,QAAQ,CAAC,CAAC,gBAAgB,CAAC,CAAC,EAAE,mBAAmB,CAAC;IAClD,QAAQ,CAAC,CAAC,gBAAgB,CAAC,CAAC,EAAE,mBAAmB,CAAC;CACnD;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,UAAU,EAAE,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,QAAQ,CAAC;IACb,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,CAAC;IACtB,CAAC,aAAa,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,CAAC;IAC1B,CAAC,WAAW,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,CAAC;IACxB,CAAC,YAAY,CAAC,CAAC,EAAE,OAAO,CAAC;IACzB,CAAC,SAAS,CAAC,CAAC,EAAE,cAAc,CAAC;IAC7B,CAAC,oBAAoB,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,CAAC;IACjC,CAAC,oBAAoB,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,CAAC;IAEjC;;OAEG;IACH,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAAC,GAAG,IAAI,mBAAmB,CAgBlF"}
@@ -1,7 +1,7 @@
1
1
  import * as Schema from 'effect/Schema';
2
- import { type TypeMeta } from '../Annotation';
2
+ import { DXN } from '@dxos/keys';
3
3
  import { EntityKind } from '../common/types';
4
- import { type EchoTypeSchema } from './entity';
4
+ import { type EchoTypeOptions, type EchoTypeSchema } from './entity';
5
5
  /**
6
6
  * Object schema type with kind marker.
7
7
  */
@@ -11,7 +11,7 @@ export type EchoObjectSchema<Self extends Schema.Schema.Any, Fields extends Sche
11
11
  * Pipeable function to add ECHO object annotations to a schema.
12
12
  */
13
13
  export declare const EchoObjectSchema: {
14
- (meta: TypeMeta): <Self extends Schema.Schema.Any, Fields extends Schema.Struct.Fields = Schema.Struct.Fields>(self: Self & {
14
+ (dxn: DXN.DXN, options?: EchoTypeOptions): <Self extends Schema.Schema.Any, Fields extends Schema.Struct.Fields = Schema.Struct.Fields>(self: Self & {
15
15
  fields?: Fields;
16
16
  }) => EchoObjectSchema<Self, Fields>;
17
17
  };
@@ -1 +1 @@
1
- {"version":3,"file":"object.d.ts","sourceRoot":"","sources":["../../../../../src/internal/Entity/object.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAKxC,OAAO,EAAyC,KAAK,QAAQ,EAAgC,MAAM,eAAe,CAAC;AACnH,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,KAAK,cAAc,EAAsB,MAAM,UAAU,CAAC;AAEnE;;GAEG;AACH,MAAM,MAAM,gBAAgB,CAC1B,IAAI,SAAS,MAAM,CAAC,MAAM,CAAC,GAAG,EAC9B,MAAM,SAAS,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,IACxD,cAAc,CAAC,IAAI,EAAE,EAAE,EAAE,UAAU,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AAExD;;;GAGG;AACH,eAAO,MAAM,gBAAgB,EAAE;IAC7B,CACE,IAAI,EAAE,QAAQ,GACb,CAAC,IAAI,SAAS,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,MAAM,SAAS,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,EAC5F,IAAI,EAAE,IAAI,GAAG;QAAE,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,KAC7B,gBAAgB,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;CA0BrC,CAAC"}
1
+ {"version":3,"file":"object.d.ts","sourceRoot":"","sources":["../../../../../src/internal/Entity/object.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAIxC,OAAO,EAAE,GAAG,EAAE,MAAM,YAAY,CAAC;AAIjC,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAE7C,OAAO,EAAE,KAAK,eAAe,EAAE,KAAK,cAAc,EAAsB,MAAM,UAAU,CAAC;AAEzF;;GAEG;AACH,MAAM,MAAM,gBAAgB,CAC1B,IAAI,SAAS,MAAM,CAAC,MAAM,CAAC,GAAG,EAC9B,MAAM,SAAS,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,IACxD,cAAc,CAAC,IAAI,EAAE,EAAE,EAAE,UAAU,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AAExD;;;GAGG;AACH,eAAO,MAAM,gBAAgB,EAAE;IAC7B,CACE,GAAG,EAAE,GAAG,CAAC,GAAG,EACZ,OAAO,CAAC,EAAE,eAAe,GACxB,CAAC,IAAI,SAAS,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,MAAM,SAAS,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,EAC5F,IAAI,EAAE,IAAI,GAAG;QAAE,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,KAC7B,gBAAgB,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;CAsCrC,CAAC"}