@dxos/echo 0.8.4-main.937b3ca → 0.8.4-main.9be5663bfe

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 (668) hide show
  1. package/README.md +2 -2
  2. package/dist/lib/{browser → neutral}/Annotation.mjs +9 -5
  3. package/dist/lib/neutral/Database.mjs +47 -0
  4. package/dist/lib/{browser → neutral}/Entity.mjs +19 -12
  5. package/dist/lib/{browser → neutral}/Err.mjs +4 -3
  6. package/dist/lib/neutral/Extension.mjs +18 -0
  7. package/dist/lib/neutral/Feed.mjs +48 -0
  8. package/dist/lib/neutral/Filter.mjs +72 -0
  9. package/dist/lib/{browser → neutral}/Format.mjs +4 -5
  10. package/dist/lib/neutral/JsonSchema.mjs +19 -0
  11. package/dist/lib/{browser → neutral}/Key.mjs +2 -3
  12. package/dist/lib/{node-esm → neutral}/Obj.mjs +39 -17
  13. package/dist/lib/{browser → neutral}/Order.mjs +2 -3
  14. package/dist/lib/neutral/Query.mjs +38 -0
  15. package/dist/lib/neutral/QueryResult.mjs +2 -0
  16. package/dist/lib/neutral/Ref.mjs +24 -0
  17. package/dist/lib/{browser → neutral}/Relation.mjs +22 -13
  18. package/dist/lib/neutral/SchemaRegistry.mjs +2 -0
  19. package/dist/lib/neutral/Tag.mjs +29 -0
  20. package/dist/lib/neutral/Type.mjs +37 -0
  21. package/dist/lib/{browser/chunk-XDIUHAAX.mjs → neutral/chunk-46QNGNTY.mjs} +9 -5
  22. package/dist/lib/neutral/chunk-46QNGNTY.mjs.map +7 -0
  23. package/dist/lib/neutral/chunk-5VKHCUDA.mjs +299 -0
  24. package/dist/lib/neutral/chunk-5VKHCUDA.mjs.map +7 -0
  25. package/dist/lib/{node-esm/chunk-YOLH5KS4.mjs → neutral/chunk-6URFBQJH.mjs} +104 -26
  26. package/dist/lib/neutral/chunk-6URFBQJH.mjs.map +7 -0
  27. package/dist/lib/neutral/chunk-7SQD3FRZ.mjs +159 -0
  28. package/dist/lib/neutral/chunk-7SQD3FRZ.mjs.map +7 -0
  29. package/dist/lib/{browser/chunk-INHXFXY5.mjs → neutral/chunk-ANHVGJI4.mjs} +2 -3
  30. package/dist/lib/{node-esm/chunk-AJEMYSIR.mjs.map → neutral/chunk-ANHVGJI4.mjs.map} +1 -1
  31. package/dist/lib/{browser/chunk-ZHXZGIXD.mjs → neutral/chunk-BNCCGLJN.mjs} +1 -3
  32. package/dist/lib/{node-esm/chunk-MOLNWFNL.mjs.map → neutral/chunk-BNCCGLJN.mjs.map} +2 -2
  33. package/dist/lib/{browser/chunk-FRDT7RA4.mjs → neutral/chunk-DQYLD2RB.mjs} +15 -16
  34. package/dist/lib/neutral/chunk-DQYLD2RB.mjs.map +7 -0
  35. package/dist/lib/{node-esm/chunk-ZBB67AKD.mjs → neutral/chunk-E5PBQJWV.mjs} +9 -6
  36. package/dist/lib/neutral/chunk-E5PBQJWV.mjs.map +7 -0
  37. package/dist/lib/neutral/chunk-EBVB5NOH.mjs +133 -0
  38. package/dist/lib/neutral/chunk-EBVB5NOH.mjs.map +7 -0
  39. package/dist/lib/neutral/chunk-FNEFSO2C.mjs +787 -0
  40. package/dist/lib/neutral/chunk-FNEFSO2C.mjs.map +7 -0
  41. package/dist/lib/{browser/chunk-BJPE6CIC.mjs → neutral/chunk-FW7UJX25.mjs} +1708 -2721
  42. package/dist/lib/neutral/chunk-FW7UJX25.mjs.map +7 -0
  43. package/dist/lib/{browser/chunk-PQZW3S6L.mjs → neutral/chunk-GZQTCRJB.mjs} +3 -4
  44. package/dist/lib/neutral/chunk-GZQTCRJB.mjs.map +7 -0
  45. package/dist/lib/neutral/chunk-HBJ7JT5A.mjs +120 -0
  46. package/dist/lib/neutral/chunk-HBJ7JT5A.mjs.map +7 -0
  47. package/dist/lib/{browser/chunk-CGS2ULMK.mjs → neutral/chunk-J5LGTIGS.mjs} +1 -2
  48. package/dist/lib/{browser/chunk-U2J7TA7K.mjs → neutral/chunk-OLFCVPOO.mjs} +6 -7
  49. package/dist/lib/neutral/chunk-OLFCVPOO.mjs.map +7 -0
  50. package/dist/lib/{browser/chunk-IXVWLTG7.mjs → neutral/chunk-OMUPQMLR.mjs} +1 -3
  51. package/dist/lib/{browser/chunk-IXVWLTG7.mjs.map → neutral/chunk-OMUPQMLR.mjs.map} +1 -1
  52. package/dist/lib/neutral/chunk-QWAOTFCY.mjs +396 -0
  53. package/dist/lib/neutral/chunk-QWAOTFCY.mjs.map +7 -0
  54. package/dist/lib/neutral/chunk-R72KFH2X.mjs +34 -0
  55. package/dist/lib/neutral/chunk-R72KFH2X.mjs.map +7 -0
  56. package/dist/lib/{browser/chunk-ZAGAOZVY.mjs → neutral/chunk-T2JOLN37.mjs} +73 -7
  57. package/dist/lib/neutral/chunk-T2JOLN37.mjs.map +7 -0
  58. package/dist/lib/{browser/chunk-YKTSSMDS.mjs → neutral/chunk-TBKX6JQO.mjs} +4 -6
  59. package/dist/lib/neutral/chunk-TBKX6JQO.mjs.map +7 -0
  60. package/dist/lib/{browser/chunk-CJ5YELTO.mjs → neutral/chunk-UBEZSGXY.mjs} +15 -3
  61. package/dist/lib/neutral/chunk-UBEZSGXY.mjs.map +7 -0
  62. package/dist/lib/{browser/chunk-JMKVF2YQ.mjs → neutral/chunk-UI6MWK5W.mjs} +3 -4
  63. package/dist/lib/neutral/chunk-UI6MWK5W.mjs.map +7 -0
  64. package/dist/lib/{browser/chunk-KQQGVHFN.mjs → neutral/chunk-UPWIIW2V.mjs} +12 -58
  65. package/dist/lib/neutral/chunk-UPWIIW2V.mjs.map +7 -0
  66. package/dist/lib/{node-esm/chunk-ANLVLWME.mjs → neutral/chunk-WVLOCXB5.mjs} +33 -10
  67. package/dist/lib/neutral/chunk-WVLOCXB5.mjs.map +7 -0
  68. package/dist/lib/neutral/chunk-YS6Q3XAD.mjs +50 -0
  69. package/dist/lib/neutral/chunk-YS6Q3XAD.mjs.map +7 -0
  70. package/dist/lib/{browser/chunk-2SBB7OWV.mjs → neutral/chunk-YSLSJ7QS.mjs} +73 -25
  71. package/dist/lib/neutral/chunk-YSLSJ7QS.mjs.map +7 -0
  72. package/dist/lib/neutral/chunk-ZGVZNBBJ.mjs +415 -0
  73. package/dist/lib/neutral/chunk-ZGVZNBBJ.mjs.map +7 -0
  74. package/dist/lib/{node-esm/chunk-NBWL7UCZ.mjs → neutral/chunk-ZIXGDU6F.mjs} +9 -4
  75. package/dist/lib/neutral/chunk-ZIXGDU6F.mjs.map +7 -0
  76. package/dist/lib/neutral/index.mjs +101 -0
  77. package/dist/lib/{browser → neutral}/internal/index.mjs +57 -40
  78. package/dist/lib/neutral/meta.json +1 -0
  79. package/dist/lib/{node-esm → neutral}/testing/index.mjs +44 -37
  80. package/dist/lib/neutral/testing/index.mjs.map +7 -0
  81. package/dist/types/src/Annotation.d.ts +23 -1
  82. package/dist/types/src/Annotation.d.ts.map +1 -1
  83. package/dist/types/src/Collection.d.ts +16 -0
  84. package/dist/types/src/Collection.d.ts.map +1 -0
  85. package/dist/types/src/Database.d.ts +86 -84
  86. package/dist/types/src/Database.d.ts.map +1 -1
  87. package/dist/types/src/Dataset.d.ts +19 -0
  88. package/dist/types/src/Dataset.d.ts.map +1 -0
  89. package/dist/types/src/Entity.d.ts +41 -15
  90. package/dist/types/src/Entity.d.ts.map +1 -1
  91. package/dist/types/src/Err.d.ts +43 -0
  92. package/dist/types/src/Err.d.ts.map +1 -1
  93. package/dist/types/src/Extension.d.ts +80 -0
  94. package/dist/types/src/Extension.d.ts.map +1 -0
  95. package/dist/types/src/Extension.test.d.ts +2 -0
  96. package/dist/types/src/Extension.test.d.ts.map +1 -0
  97. package/dist/types/src/Feed.d.ts +171 -0
  98. package/dist/types/src/Feed.d.ts.map +1 -0
  99. package/dist/types/src/Filter.d.ts +32 -5
  100. package/dist/types/src/Filter.d.ts.map +1 -1
  101. package/dist/types/src/Filter.test.d.ts +2 -0
  102. package/dist/types/src/Filter.test.d.ts.map +1 -0
  103. package/dist/types/src/Format.d.ts +3 -3
  104. package/dist/types/src/Format.d.ts.map +1 -1
  105. package/dist/types/src/Hypergraph.d.ts +8 -3
  106. package/dist/types/src/Hypergraph.d.ts.map +1 -1
  107. package/dist/types/src/JsonSchema.d.ts +11 -4
  108. package/dist/types/src/JsonSchema.d.ts.map +1 -1
  109. package/dist/types/src/Obj.d.ts +174 -46
  110. package/dist/types/src/Obj.d.ts.map +1 -1
  111. package/dist/types/src/Order.d.ts.map +1 -1
  112. package/dist/types/src/Query.d.ts +109 -15
  113. package/dist/types/src/Query.d.ts.map +1 -1
  114. package/dist/types/src/Ref.d.ts +58 -10
  115. package/dist/types/src/Ref.d.ts.map +1 -1
  116. package/dist/types/src/Relation.d.ts +75 -29
  117. package/dist/types/src/Relation.d.ts.map +1 -1
  118. package/dist/types/src/SchemaRegistry.d.ts +4 -4
  119. package/dist/types/src/SchemaRegistry.d.ts.map +1 -1
  120. package/dist/types/src/Tag.d.ts +4 -3
  121. package/dist/types/src/Tag.d.ts.map +1 -1
  122. package/dist/types/src/Type.d.ts +51 -180
  123. package/dist/types/src/Type.d.ts.map +1 -1
  124. package/dist/types/src/View.d.ts +68 -0
  125. package/dist/types/src/View.d.ts.map +1 -0
  126. package/dist/types/src/hierarchy.test.d.ts +2 -0
  127. package/dist/types/src/hierarchy.test.d.ts.map +1 -0
  128. package/dist/types/src/index.d.ts +5 -0
  129. package/dist/types/src/index.d.ts.map +1 -1
  130. package/dist/types/src/internal/{annotations → Annotation}/annotations.d.ts +69 -8
  131. package/dist/types/src/internal/Annotation/annotations.d.ts.map +1 -0
  132. package/dist/types/src/internal/Annotation/annotations.test.d.ts.map +1 -0
  133. package/dist/types/src/internal/Annotation/index.d.ts +4 -0
  134. package/dist/types/src/internal/Annotation/index.d.ts.map +1 -0
  135. package/dist/types/src/internal/{api → Annotation}/sorting.d.ts +1 -1
  136. package/dist/types/src/internal/Annotation/sorting.d.ts.map +1 -0
  137. package/dist/types/src/internal/{annotations → Annotation}/util.d.ts +13 -1
  138. package/dist/types/src/internal/Annotation/util.d.ts.map +1 -0
  139. package/dist/types/src/internal/{api/entity.d.ts → Entity/api.d.ts} +2 -2
  140. package/dist/types/src/internal/Entity/api.d.ts.map +1 -0
  141. package/dist/types/src/internal/{entities → Entity}/entity.d.ts +3 -3
  142. package/dist/types/src/internal/Entity/entity.d.ts.map +1 -0
  143. package/dist/types/src/internal/{entities → Entity}/index.d.ts +2 -0
  144. package/dist/types/src/internal/Entity/index.d.ts.map +1 -0
  145. package/dist/types/src/internal/{entities → Entity}/model.d.ts +4 -26
  146. package/dist/types/src/internal/Entity/model.d.ts.map +1 -0
  147. package/dist/types/src/internal/{entities → Entity}/object.d.ts +2 -2
  148. package/dist/types/src/internal/Entity/object.d.ts.map +1 -0
  149. package/dist/types/src/internal/{entities → Entity}/relation.d.ts +3 -30
  150. package/dist/types/src/internal/Entity/relation.d.ts.map +1 -0
  151. package/dist/types/src/internal/Entity/util.d.ts.map +1 -0
  152. package/dist/types/src/internal/{api → Entity}/version.d.ts +1 -1
  153. package/dist/types/src/internal/Entity/version.d.ts.map +1 -0
  154. package/dist/types/src/internal/Format/date.d.ts.map +1 -0
  155. package/dist/types/src/internal/Format/date.test.d.ts.map +1 -0
  156. package/dist/types/src/internal/Format/format.d.ts.map +1 -0
  157. package/dist/types/src/internal/Format/format.test.d.ts.map +1 -0
  158. package/dist/types/src/internal/Format/index.d.ts.map +1 -0
  159. package/dist/types/src/internal/Format/number.d.ts.map +1 -0
  160. package/dist/types/src/internal/Format/object.d.ts.map +1 -0
  161. package/dist/types/src/internal/{formats → Format}/select.d.ts +2 -2
  162. package/dist/types/src/internal/Format/select.d.ts.map +1 -0
  163. package/dist/types/src/internal/Format/string.d.ts.map +1 -0
  164. package/dist/types/src/internal/{formats → Format}/types.d.ts +1 -1
  165. package/dist/types/src/internal/Format/types.d.ts.map +1 -0
  166. package/dist/types/src/internal/{json-schema → JsonSchema}/annotations.d.ts +1 -1
  167. package/dist/types/src/internal/JsonSchema/annotations.d.ts.map +1 -0
  168. package/dist/types/src/internal/JsonSchema/effect-schema.test.d.ts.map +1 -0
  169. package/dist/types/src/internal/JsonSchema/index.d.ts.map +1 -0
  170. package/dist/types/src/internal/JsonSchema/json-schema-normalize.d.ts.map +1 -0
  171. package/dist/types/src/internal/{json-schema → JsonSchema}/json-schema-type.d.ts +131 -30
  172. package/dist/types/src/internal/JsonSchema/json-schema-type.d.ts.map +1 -0
  173. package/dist/types/src/internal/{json-schema → JsonSchema}/json-schema.d.ts +2 -1
  174. package/dist/types/src/internal/JsonSchema/json-schema.d.ts.map +1 -0
  175. package/dist/types/src/internal/JsonSchema/json-schema.test.d.ts.map +1 -0
  176. package/dist/types/src/internal/Obj/clone.d.ts.map +1 -0
  177. package/dist/types/src/internal/Obj/common.d.ts.map +1 -0
  178. package/dist/types/src/internal/{object → Obj}/create-object.d.ts +2 -2
  179. package/dist/types/src/internal/Obj/create-object.d.ts.map +1 -0
  180. package/dist/types/src/internal/Obj/create-object.test.d.ts.map +1 -0
  181. package/dist/types/src/internal/{object → Obj}/deleted.d.ts +1 -1
  182. package/dist/types/src/internal/Obj/deleted.d.ts.map +1 -0
  183. package/dist/types/src/internal/Obj/ids.d.ts.map +1 -0
  184. package/dist/types/src/internal/Obj/index.d.ts.map +1 -0
  185. package/dist/types/src/internal/Obj/inspect.d.ts.map +1 -0
  186. package/dist/types/src/internal/{object → Obj}/json-serializer.d.ts +13 -5
  187. package/dist/types/src/internal/Obj/json-serializer.d.ts.map +1 -0
  188. package/dist/types/src/internal/Obj/json-serializer.test.d.ts.map +1 -0
  189. package/dist/types/src/internal/Obj/schema-validator.d.ts +2 -0
  190. package/dist/types/src/internal/Obj/schema-validator.d.ts.map +1 -0
  191. package/dist/types/src/internal/Obj/schema-validator.test.d.ts.map +1 -0
  192. package/dist/types/src/internal/{object → Obj}/set-value.d.ts +1 -1
  193. package/dist/types/src/internal/Obj/set-value.d.ts.map +1 -0
  194. package/dist/types/src/internal/Obj/set-value.test.d.ts.map +1 -0
  195. package/dist/types/src/internal/Obj/snapshot.d.ts.map +1 -0
  196. package/dist/types/src/internal/{object → Obj}/typed-object.d.ts +4 -4
  197. package/dist/types/src/internal/Obj/typed-object.d.ts.map +1 -0
  198. package/dist/types/src/internal/Obj/typed-object.test.d.ts.map +1 -0
  199. package/dist/types/src/internal/Query.d.ts +10 -0
  200. package/dist/types/src/internal/Query.d.ts.map +1 -0
  201. package/dist/types/src/internal/Ref/index.d.ts.map +1 -0
  202. package/dist/types/src/internal/{ref → Ref}/ref-array.d.ts +1 -1
  203. package/dist/types/src/internal/Ref/ref-array.d.ts.map +1 -0
  204. package/dist/types/src/internal/{ref → Ref}/ref.d.ts +18 -4
  205. package/dist/types/src/internal/Ref/ref.d.ts.map +1 -0
  206. package/dist/types/src/internal/Ref/ref.test.d.ts.map +1 -0
  207. package/dist/types/src/internal/Type/compose.d.ts +7 -0
  208. package/dist/types/src/internal/Type/compose.d.ts.map +1 -0
  209. package/dist/types/src/internal/Type/compose.test.d.ts.map +1 -0
  210. package/dist/types/src/internal/{schema → Type}/echo-schema.d.ts +8 -7
  211. package/dist/types/src/internal/Type/echo-schema.d.ts.map +1 -0
  212. package/dist/types/src/internal/Type/index.d.ts.map +1 -0
  213. package/dist/types/src/internal/Type/manipulation.d.ts.map +1 -0
  214. package/dist/types/src/internal/{schema → Type}/persistent-schema.d.ts +2 -2
  215. package/dist/types/src/internal/Type/persistent-schema.d.ts.map +1 -0
  216. package/dist/types/src/internal/{api → common/api}/index.d.ts +0 -4
  217. package/dist/types/src/internal/common/api/index.d.ts.map +1 -0
  218. package/dist/types/src/internal/{api → common/api}/meta.d.ts +2 -2
  219. package/dist/types/src/internal/common/api/meta.d.ts.map +1 -0
  220. package/dist/types/src/internal/common/index.d.ts +4 -0
  221. package/dist/types/src/internal/common/index.d.ts.map +1 -0
  222. package/dist/types/src/internal/common/proxy/change-context.d.ts.map +1 -0
  223. package/dist/types/src/internal/common/proxy/change.test.d.ts.map +1 -0
  224. package/dist/types/src/internal/common/proxy/define-hidden-property.d.ts.map +1 -0
  225. package/dist/types/src/internal/common/proxy/errors.d.ts.map +1 -0
  226. package/dist/types/src/internal/common/proxy/event-batch.d.ts.map +1 -0
  227. package/dist/types/src/internal/common/proxy/handler.test.d.ts.map +1 -0
  228. package/dist/types/src/internal/common/proxy/index.d.ts.map +1 -0
  229. package/dist/types/src/internal/common/proxy/json-serializer.d.ts.map +1 -0
  230. package/dist/types/src/internal/common/proxy/make-object.d.ts.map +1 -0
  231. package/dist/types/src/internal/common/proxy/ownership.d.ts.map +1 -0
  232. package/dist/types/src/internal/common/proxy/proxy-types.d.ts.map +1 -0
  233. package/dist/types/src/internal/common/proxy/proxy-utils.d.ts.map +1 -0
  234. package/dist/types/src/internal/common/proxy/reactive-array.d.ts.map +1 -0
  235. package/dist/types/src/internal/{proxy → common/proxy}/reactive.d.ts +1 -1
  236. package/dist/types/src/internal/common/proxy/reactive.d.ts.map +1 -0
  237. package/dist/types/src/internal/common/proxy/schema-validator.d.ts.map +1 -0
  238. package/dist/types/src/internal/common/proxy/schema.test.d.ts.map +1 -0
  239. package/dist/types/src/internal/common/proxy/symbols.d.ts.map +1 -0
  240. package/dist/types/src/internal/{proxy → common/proxy}/typed-handler.d.ts +2 -1
  241. package/dist/types/src/internal/common/proxy/typed-handler.d.ts.map +1 -0
  242. package/dist/types/src/internal/common/proxy/typed-handler.test.d.ts.map +1 -0
  243. package/dist/types/src/internal/common/proxy/typed-object.test.d.ts.map +1 -0
  244. package/dist/types/src/internal/{types → common/types}/base.d.ts +1 -0
  245. package/dist/types/src/internal/common/types/base.d.ts.map +1 -0
  246. package/dist/types/src/internal/{types → common/types}/entity.d.ts +2 -2
  247. package/dist/types/src/internal/common/types/entity.d.ts.map +1 -0
  248. package/dist/types/src/internal/{types → common/types}/index.d.ts +1 -0
  249. package/dist/types/src/internal/common/types/index.d.ts.map +1 -0
  250. package/dist/types/src/internal/{types → common/types}/meta.d.ts +7 -6
  251. package/dist/types/src/internal/common/types/meta.d.ts.map +1 -0
  252. package/dist/types/src/internal/common/types/model-symbols.d.ts +54 -0
  253. package/dist/types/src/internal/common/types/model-symbols.d.ts.map +1 -0
  254. package/dist/types/src/internal/{types → common/types}/typename.d.ts +8 -0
  255. package/dist/types/src/internal/common/types/typename.d.ts.map +1 -0
  256. package/dist/types/src/internal/{types → common/types}/version.d.ts +2 -2
  257. package/dist/types/src/internal/common/types/version.d.ts.map +1 -0
  258. package/dist/types/src/internal/index.d.ts +9 -10
  259. package/dist/types/src/internal/index.d.ts.map +1 -1
  260. package/dist/types/src/testing/test-data.d.ts.map +1 -1
  261. package/dist/types/src/testing/test-schema.d.ts +19 -18
  262. package/dist/types/src/testing/test-schema.d.ts.map +1 -1
  263. package/dist/types/tsconfig.tsbuildinfo +1 -1
  264. package/package.json +44 -113
  265. package/src/Annotation.ts +31 -1
  266. package/src/Collection.ts +37 -0
  267. package/src/Database.ts +167 -173
  268. package/src/Dataset.ts +26 -0
  269. package/src/Entity.ts +73 -54
  270. package/src/Err.ts +22 -0
  271. package/src/Extension.test.ts +235 -0
  272. package/src/Extension.ts +122 -0
  273. package/src/Feed.ts +283 -0
  274. package/src/Filter.test.ts +90 -0
  275. package/src/Filter.ts +81 -7
  276. package/src/Format.ts +3 -3
  277. package/src/Hypergraph.ts +9 -4
  278. package/src/JsonSchema.ts +14 -4
  279. package/src/Obj.test.ts +166 -13
  280. package/src/Obj.ts +407 -145
  281. package/src/Order.ts +3 -1
  282. package/src/Query.test.ts +339 -15
  283. package/src/Query.ts +275 -24
  284. package/src/Ref.ts +64 -11
  285. package/src/Relation.test.ts +8 -2
  286. package/src/Relation.ts +167 -133
  287. package/src/SchemaRegistry.ts +5 -4
  288. package/src/Tag.ts +6 -5
  289. package/src/Type.test.ts +10 -10
  290. package/src/Type.ts +70 -303
  291. package/src/View.ts +107 -0
  292. package/src/hierarchy.test.ts +33 -0
  293. package/src/index.ts +5 -0
  294. package/src/internal/{annotations → Annotation}/annotations.test.ts +56 -7
  295. package/src/internal/{annotations → Annotation}/annotations.ts +134 -16
  296. package/src/internal/{annotations → Annotation}/index.ts +1 -0
  297. package/src/internal/{api → Annotation}/sorting.ts +2 -4
  298. package/src/internal/{annotations → Annotation}/util.ts +14 -1
  299. package/src/internal/{api/entity.ts → Entity/api.ts} +3 -2
  300. package/src/internal/{entities → Entity}/entity.ts +6 -4
  301. package/src/internal/{entities → Entity}/index.ts +2 -0
  302. package/src/internal/{entities → Entity}/model.ts +17 -42
  303. package/src/internal/{entities → Entity}/object.ts +3 -6
  304. package/src/internal/{entities → Entity}/relation.ts +20 -39
  305. package/src/internal/{api → Entity}/version.ts +2 -2
  306. package/src/internal/{formats → Format}/date.test.ts +1 -2
  307. package/src/internal/{formats → Format}/format.test.ts +2 -3
  308. package/src/internal/{formats → Format}/select.ts +1 -1
  309. package/src/internal/{formats → Format}/types.ts +3 -3
  310. package/src/internal/{json-schema → JsonSchema}/annotations.ts +3 -3
  311. package/src/internal/{json-schema → JsonSchema}/json-schema-normalize.ts +4 -2
  312. package/src/internal/{json-schema → JsonSchema}/json-schema-type.ts +33 -34
  313. package/src/internal/{json-schema → JsonSchema}/json-schema.test.ts +48 -49
  314. package/src/internal/{json-schema → JsonSchema}/json-schema.ts +16 -11
  315. package/src/internal/{object → Obj}/clone.ts +3 -3
  316. package/src/internal/{object → Obj}/common.ts +2 -2
  317. package/src/internal/{object → Obj}/create-object.test.ts +5 -7
  318. package/src/internal/{object → Obj}/create-object.ts +5 -6
  319. package/src/internal/{object → Obj}/deleted.ts +2 -2
  320. package/src/internal/{object → Obj}/inspect.ts +2 -2
  321. package/src/internal/{object → Obj}/json-serializer.test.ts +31 -8
  322. package/src/internal/{object → Obj}/json-serializer.ts +58 -24
  323. package/src/internal/{object → Obj}/schema-validator.test.ts +3 -7
  324. package/src/internal/{object → Obj}/schema-validator.ts +1 -1
  325. package/src/internal/{object → Obj}/set-value.test.ts +33 -33
  326. package/src/internal/{object → Obj}/set-value.ts +2 -2
  327. package/src/internal/Obj/snapshot.ts +105 -0
  328. package/src/internal/{object → Obj}/typed-object.test.ts +3 -3
  329. package/src/internal/{object → Obj}/typed-object.ts +4 -4
  330. package/src/internal/Query.ts +134 -0
  331. package/src/internal/{ref → Ref}/ref-array.ts +1 -2
  332. package/src/internal/{ref → Ref}/ref.test.ts +5 -6
  333. package/src/internal/{ref → Ref}/ref.ts +29 -5
  334. package/src/internal/{schema → Type}/compose.test.ts +5 -6
  335. package/src/internal/{schema → Type}/compose.ts +14 -9
  336. package/src/internal/{schema → Type}/echo-schema.ts +11 -11
  337. package/src/internal/{schema → Type}/manipulation.ts +1 -1
  338. package/src/internal/{schema → Type}/persistent-schema.ts +10 -4
  339. package/src/internal/{README.md → common/README.md} +1 -1
  340. package/src/internal/{api → common/api}/index.ts +0 -4
  341. package/src/internal/{api → common/api}/meta.ts +3 -3
  342. package/src/internal/common/index.ts +7 -0
  343. package/src/internal/{proxy → common/proxy}/change.test.ts +65 -65
  344. package/src/internal/{proxy → common/proxy}/handler.test.ts +2 -4
  345. package/src/internal/{proxy → common/proxy}/json-serializer.ts +6 -3
  346. package/src/internal/{proxy → common/proxy}/make-object.ts +13 -4
  347. package/src/internal/{proxy → common/proxy}/ownership.ts +0 -1
  348. package/src/internal/{proxy → common/proxy}/reactive.ts +1 -2
  349. package/src/internal/{proxy → common/proxy}/schema.test.ts +10 -10
  350. package/src/internal/{proxy → common/proxy}/typed-handler.test.ts +14 -19
  351. package/src/internal/{proxy → common/proxy}/typed-handler.ts +11 -6
  352. package/src/internal/{proxy → common/proxy}/typed-object.test.ts +15 -16
  353. package/src/internal/{types → common/types}/base.ts +1 -1
  354. package/src/internal/{types → common/types}/entity.ts +2 -2
  355. package/src/internal/{types → common/types}/index.ts +1 -0
  356. package/src/internal/{types → common/types}/meta.ts +15 -14
  357. package/src/internal/common/types/model-symbols.ts +69 -0
  358. package/src/internal/{types → common/types}/typename.ts +10 -0
  359. package/src/internal/{types → common/types}/version.ts +2 -3
  360. package/src/internal/index.ts +9 -31
  361. package/src/testing/api.test.ts +4 -5
  362. package/src/testing/test-data.ts +0 -1
  363. package/src/testing/test-schema.ts +20 -18
  364. package/dist/lib/browser/Database.mjs +0 -18
  365. package/dist/lib/browser/Filter.mjs +0 -62
  366. package/dist/lib/browser/JsonSchema.mjs +0 -20
  367. package/dist/lib/browser/Obj.mjs +0 -91
  368. package/dist/lib/browser/Query.mjs +0 -27
  369. package/dist/lib/browser/QueryResult.mjs +0 -3
  370. package/dist/lib/browser/Ref.mjs +0 -23
  371. package/dist/lib/browser/SchemaRegistry.mjs +0 -3
  372. package/dist/lib/browser/Tag.mjs +0 -26
  373. package/dist/lib/browser/Type.mjs +0 -48
  374. package/dist/lib/browser/chunk-22JMFST2.mjs +0 -24
  375. package/dist/lib/browser/chunk-22JMFST2.mjs.map +0 -7
  376. package/dist/lib/browser/chunk-2SBB7OWV.mjs.map +0 -7
  377. package/dist/lib/browser/chunk-6L5HHUVU.mjs +0 -158
  378. package/dist/lib/browser/chunk-6L5HHUVU.mjs.map +0 -7
  379. package/dist/lib/browser/chunk-7STIBCP7.mjs +0 -133
  380. package/dist/lib/browser/chunk-7STIBCP7.mjs.map +0 -7
  381. package/dist/lib/browser/chunk-BJPE6CIC.mjs.map +0 -7
  382. package/dist/lib/browser/chunk-CJ5YELTO.mjs.map +0 -7
  383. package/dist/lib/browser/chunk-FPOISFQK.mjs +0 -40
  384. package/dist/lib/browser/chunk-FPOISFQK.mjs.map +0 -7
  385. package/dist/lib/browser/chunk-FRDT7RA4.mjs.map +0 -7
  386. package/dist/lib/browser/chunk-INHXFXY5.mjs.map +0 -7
  387. package/dist/lib/browser/chunk-JMKVF2YQ.mjs.map +0 -7
  388. package/dist/lib/browser/chunk-KQQGVHFN.mjs.map +0 -7
  389. package/dist/lib/browser/chunk-MYCCGG2T.mjs +0 -15
  390. package/dist/lib/browser/chunk-MYCCGG2T.mjs.map +0 -7
  391. package/dist/lib/browser/chunk-NOPVNWPT.mjs +0 -204
  392. package/dist/lib/browser/chunk-NOPVNWPT.mjs.map +0 -7
  393. package/dist/lib/browser/chunk-PQZW3S6L.mjs.map +0 -7
  394. package/dist/lib/browser/chunk-RK4Z4JUZ.mjs +0 -283
  395. package/dist/lib/browser/chunk-RK4Z4JUZ.mjs.map +0 -7
  396. package/dist/lib/browser/chunk-U2J7TA7K.mjs.map +0 -7
  397. package/dist/lib/browser/chunk-W5D2GWAW.mjs +0 -98
  398. package/dist/lib/browser/chunk-W5D2GWAW.mjs.map +0 -7
  399. package/dist/lib/browser/chunk-XDIUHAAX.mjs.map +0 -7
  400. package/dist/lib/browser/chunk-YKTSSMDS.mjs.map +0 -7
  401. package/dist/lib/browser/chunk-ZAGAOZVY.mjs.map +0 -7
  402. package/dist/lib/browser/chunk-ZHXZGIXD.mjs.map +0 -7
  403. package/dist/lib/browser/index.mjs +0 -85
  404. package/dist/lib/browser/meta.json +0 -1
  405. package/dist/lib/browser/testing/index.mjs +0 -367
  406. package/dist/lib/browser/testing/index.mjs.map +0 -7
  407. package/dist/lib/node-esm/Annotation.mjs +0 -33
  408. package/dist/lib/node-esm/Annotation.mjs.map +0 -7
  409. package/dist/lib/node-esm/Database.mjs +0 -18
  410. package/dist/lib/node-esm/Database.mjs.map +0 -7
  411. package/dist/lib/node-esm/Entity.mjs +0 -52
  412. package/dist/lib/node-esm/Entity.mjs.map +0 -7
  413. package/dist/lib/node-esm/Err.mjs +0 -11
  414. package/dist/lib/node-esm/Err.mjs.map +0 -7
  415. package/dist/lib/node-esm/Filter.mjs +0 -62
  416. package/dist/lib/node-esm/Format.mjs +0 -67
  417. package/dist/lib/node-esm/JsonSchema.mjs +0 -20
  418. package/dist/lib/node-esm/JsonSchema.mjs.map +0 -7
  419. package/dist/lib/node-esm/Key.mjs +0 -13
  420. package/dist/lib/node-esm/Key.mjs.map +0 -7
  421. package/dist/lib/node-esm/Obj.mjs.map +0 -7
  422. package/dist/lib/node-esm/Order.mjs +0 -13
  423. package/dist/lib/node-esm/Order.mjs.map +0 -7
  424. package/dist/lib/node-esm/Query.mjs +0 -27
  425. package/dist/lib/node-esm/Query.mjs.map +0 -7
  426. package/dist/lib/node-esm/QueryResult.mjs +0 -3
  427. package/dist/lib/node-esm/QueryResult.mjs.map +0 -7
  428. package/dist/lib/node-esm/Ref.mjs +0 -23
  429. package/dist/lib/node-esm/Ref.mjs.map +0 -7
  430. package/dist/lib/node-esm/Relation.mjs +0 -85
  431. package/dist/lib/node-esm/Relation.mjs.map +0 -7
  432. package/dist/lib/node-esm/SchemaRegistry.mjs +0 -3
  433. package/dist/lib/node-esm/SchemaRegistry.mjs.map +0 -7
  434. package/dist/lib/node-esm/Tag.mjs +0 -26
  435. package/dist/lib/node-esm/Tag.mjs.map +0 -7
  436. package/dist/lib/node-esm/Type.mjs +0 -48
  437. package/dist/lib/node-esm/Type.mjs.map +0 -7
  438. package/dist/lib/node-esm/chunk-4PNXQA64.mjs +0 -250
  439. package/dist/lib/node-esm/chunk-4PNXQA64.mjs.map +0 -7
  440. package/dist/lib/node-esm/chunk-5OBN7GZW.mjs +0 -158
  441. package/dist/lib/node-esm/chunk-5OBN7GZW.mjs.map +0 -7
  442. package/dist/lib/node-esm/chunk-AJEMYSIR.mjs +0 -22
  443. package/dist/lib/node-esm/chunk-ANLVLWME.mjs.map +0 -7
  444. package/dist/lib/node-esm/chunk-DMR7OAFK.mjs +0 -57
  445. package/dist/lib/node-esm/chunk-DMR7OAFK.mjs.map +0 -7
  446. package/dist/lib/node-esm/chunk-FWTSPIFF.mjs +0 -133
  447. package/dist/lib/node-esm/chunk-FWTSPIFF.mjs.map +0 -7
  448. package/dist/lib/node-esm/chunk-HSLMI22Q.mjs +0 -11
  449. package/dist/lib/node-esm/chunk-HSLMI22Q.mjs.map +0 -7
  450. package/dist/lib/node-esm/chunk-ILMLLM4R.mjs +0 -204
  451. package/dist/lib/node-esm/chunk-ILMLLM4R.mjs.map +0 -7
  452. package/dist/lib/node-esm/chunk-K37NA7PO.mjs +0 -43
  453. package/dist/lib/node-esm/chunk-K37NA7PO.mjs.map +0 -7
  454. package/dist/lib/node-esm/chunk-LT3H4JOX.mjs +0 -3847
  455. package/dist/lib/node-esm/chunk-LT3H4JOX.mjs.map +0 -7
  456. package/dist/lib/node-esm/chunk-MOLNWFNL.mjs +0 -9
  457. package/dist/lib/node-esm/chunk-MOWUEW5P.mjs +0 -15
  458. package/dist/lib/node-esm/chunk-MOWUEW5P.mjs.map +0 -7
  459. package/dist/lib/node-esm/chunk-NBWL7UCZ.mjs.map +0 -7
  460. package/dist/lib/node-esm/chunk-NRN3ZW2T.mjs +0 -143
  461. package/dist/lib/node-esm/chunk-NRN3ZW2T.mjs.map +0 -7
  462. package/dist/lib/node-esm/chunk-QLI2EIJ2.mjs +0 -41
  463. package/dist/lib/node-esm/chunk-QLI2EIJ2.mjs.map +0 -7
  464. package/dist/lib/node-esm/chunk-QYR67VBV.mjs +0 -288
  465. package/dist/lib/node-esm/chunk-QYR67VBV.mjs.map +0 -7
  466. package/dist/lib/node-esm/chunk-UKGVOINP.mjs +0 -9
  467. package/dist/lib/node-esm/chunk-UKGVOINP.mjs.map +0 -7
  468. package/dist/lib/node-esm/chunk-W6QIEBTQ.mjs +0 -403
  469. package/dist/lib/node-esm/chunk-W6QIEBTQ.mjs.map +0 -7
  470. package/dist/lib/node-esm/chunk-XHJRMQZD.mjs +0 -69
  471. package/dist/lib/node-esm/chunk-XHJRMQZD.mjs.map +0 -7
  472. package/dist/lib/node-esm/chunk-Y75VU7LB.mjs +0 -74
  473. package/dist/lib/node-esm/chunk-Y75VU7LB.mjs.map +0 -7
  474. package/dist/lib/node-esm/chunk-YOLH5KS4.mjs.map +0 -7
  475. package/dist/lib/node-esm/chunk-YQ2NWGL5.mjs +0 -39
  476. package/dist/lib/node-esm/chunk-YQ2NWGL5.mjs.map +0 -7
  477. package/dist/lib/node-esm/chunk-ZBB67AKD.mjs.map +0 -7
  478. package/dist/lib/node-esm/index.mjs +0 -85
  479. package/dist/lib/node-esm/index.mjs.map +0 -7
  480. package/dist/lib/node-esm/internal/index.mjs +0 -457
  481. package/dist/lib/node-esm/internal/index.mjs.map +0 -7
  482. package/dist/lib/node-esm/meta.json +0 -1
  483. package/dist/lib/node-esm/testing/index.mjs.map +0 -7
  484. package/dist/types/src/internal/annotations/annotations.d.ts.map +0 -1
  485. package/dist/types/src/internal/annotations/annotations.test.d.ts.map +0 -1
  486. package/dist/types/src/internal/annotations/index.d.ts +0 -3
  487. package/dist/types/src/internal/annotations/index.d.ts.map +0 -1
  488. package/dist/types/src/internal/annotations/util.d.ts.map +0 -1
  489. package/dist/types/src/internal/api/annotations.d.ts +0 -23
  490. package/dist/types/src/internal/api/annotations.d.ts.map +0 -1
  491. package/dist/types/src/internal/api/entity.d.ts.map +0 -1
  492. package/dist/types/src/internal/api/index.d.ts.map +0 -1
  493. package/dist/types/src/internal/api/meta.d.ts.map +0 -1
  494. package/dist/types/src/internal/api/sorting.d.ts.map +0 -1
  495. package/dist/types/src/internal/api/version.d.ts.map +0 -1
  496. package/dist/types/src/internal/entities/entity.d.ts.map +0 -1
  497. package/dist/types/src/internal/entities/index.d.ts.map +0 -1
  498. package/dist/types/src/internal/entities/model.d.ts.map +0 -1
  499. package/dist/types/src/internal/entities/object.d.ts.map +0 -1
  500. package/dist/types/src/internal/entities/relation.d.ts.map +0 -1
  501. package/dist/types/src/internal/entities/util.d.ts.map +0 -1
  502. package/dist/types/src/internal/formats/date.d.ts.map +0 -1
  503. package/dist/types/src/internal/formats/date.test.d.ts.map +0 -1
  504. package/dist/types/src/internal/formats/format.d.ts.map +0 -1
  505. package/dist/types/src/internal/formats/format.test.d.ts.map +0 -1
  506. package/dist/types/src/internal/formats/index.d.ts.map +0 -1
  507. package/dist/types/src/internal/formats/number.d.ts.map +0 -1
  508. package/dist/types/src/internal/formats/object.d.ts.map +0 -1
  509. package/dist/types/src/internal/formats/select.d.ts.map +0 -1
  510. package/dist/types/src/internal/formats/string.d.ts.map +0 -1
  511. package/dist/types/src/internal/formats/types.d.ts.map +0 -1
  512. package/dist/types/src/internal/json-schema/annotations.d.ts.map +0 -1
  513. package/dist/types/src/internal/json-schema/effect-schema.test.d.ts.map +0 -1
  514. package/dist/types/src/internal/json-schema/index.d.ts.map +0 -1
  515. package/dist/types/src/internal/json-schema/json-schema-normalize.d.ts.map +0 -1
  516. package/dist/types/src/internal/json-schema/json-schema-type.d.ts.map +0 -1
  517. package/dist/types/src/internal/json-schema/json-schema.d.ts.map +0 -1
  518. package/dist/types/src/internal/json-schema/json-schema.test.d.ts.map +0 -1
  519. package/dist/types/src/internal/object/clone.d.ts.map +0 -1
  520. package/dist/types/src/internal/object/common.d.ts.map +0 -1
  521. package/dist/types/src/internal/object/create-object.d.ts.map +0 -1
  522. package/dist/types/src/internal/object/create-object.test.d.ts.map +0 -1
  523. package/dist/types/src/internal/object/deleted.d.ts.map +0 -1
  524. package/dist/types/src/internal/object/ids.d.ts.map +0 -1
  525. package/dist/types/src/internal/object/index.d.ts.map +0 -1
  526. package/dist/types/src/internal/object/inspect.d.ts.map +0 -1
  527. package/dist/types/src/internal/object/json-serializer.d.ts.map +0 -1
  528. package/dist/types/src/internal/object/json-serializer.test.d.ts.map +0 -1
  529. package/dist/types/src/internal/object/schema-validator.d.ts +0 -2
  530. package/dist/types/src/internal/object/schema-validator.d.ts.map +0 -1
  531. package/dist/types/src/internal/object/schema-validator.test.d.ts.map +0 -1
  532. package/dist/types/src/internal/object/set-value.d.ts.map +0 -1
  533. package/dist/types/src/internal/object/set-value.test.d.ts.map +0 -1
  534. package/dist/types/src/internal/object/snapshot.d.ts.map +0 -1
  535. package/dist/types/src/internal/object/typed-object.d.ts.map +0 -1
  536. package/dist/types/src/internal/object/typed-object.test.d.ts.map +0 -1
  537. package/dist/types/src/internal/proxy/change-context.d.ts.map +0 -1
  538. package/dist/types/src/internal/proxy/change.test.d.ts.map +0 -1
  539. package/dist/types/src/internal/proxy/define-hidden-property.d.ts.map +0 -1
  540. package/dist/types/src/internal/proxy/errors.d.ts.map +0 -1
  541. package/dist/types/src/internal/proxy/event-batch.d.ts.map +0 -1
  542. package/dist/types/src/internal/proxy/handler.test.d.ts.map +0 -1
  543. package/dist/types/src/internal/proxy/index.d.ts.map +0 -1
  544. package/dist/types/src/internal/proxy/json-serializer.d.ts.map +0 -1
  545. package/dist/types/src/internal/proxy/make-object.d.ts.map +0 -1
  546. package/dist/types/src/internal/proxy/ownership.d.ts.map +0 -1
  547. package/dist/types/src/internal/proxy/proxy-types.d.ts.map +0 -1
  548. package/dist/types/src/internal/proxy/proxy-utils.d.ts.map +0 -1
  549. package/dist/types/src/internal/proxy/reactive-array.d.ts.map +0 -1
  550. package/dist/types/src/internal/proxy/reactive.d.ts.map +0 -1
  551. package/dist/types/src/internal/proxy/schema-validator.d.ts.map +0 -1
  552. package/dist/types/src/internal/proxy/schema.test.d.ts.map +0 -1
  553. package/dist/types/src/internal/proxy/symbols.d.ts.map +0 -1
  554. package/dist/types/src/internal/proxy/typed-handler.d.ts.map +0 -1
  555. package/dist/types/src/internal/proxy/typed-handler.test.d.ts.map +0 -1
  556. package/dist/types/src/internal/proxy/typed-object.test.d.ts.map +0 -1
  557. package/dist/types/src/internal/ref/index.d.ts.map +0 -1
  558. package/dist/types/src/internal/ref/ref-array.d.ts.map +0 -1
  559. package/dist/types/src/internal/ref/ref.d.ts.map +0 -1
  560. package/dist/types/src/internal/ref/ref.test.d.ts.map +0 -1
  561. package/dist/types/src/internal/schema/compose.d.ts +0 -6
  562. package/dist/types/src/internal/schema/compose.d.ts.map +0 -1
  563. package/dist/types/src/internal/schema/compose.test.d.ts.map +0 -1
  564. package/dist/types/src/internal/schema/echo-schema.d.ts.map +0 -1
  565. package/dist/types/src/internal/schema/index.d.ts.map +0 -1
  566. package/dist/types/src/internal/schema/manipulation.d.ts.map +0 -1
  567. package/dist/types/src/internal/schema/persistent-schema.d.ts.map +0 -1
  568. package/dist/types/src/internal/types/base.d.ts.map +0 -1
  569. package/dist/types/src/internal/types/entity.d.ts.map +0 -1
  570. package/dist/types/src/internal/types/index.d.ts.map +0 -1
  571. package/dist/types/src/internal/types/meta.d.ts.map +0 -1
  572. package/dist/types/src/internal/types/typename.d.ts.map +0 -1
  573. package/dist/types/src/internal/types/version.d.ts.map +0 -1
  574. package/src/internal/api/annotations.ts +0 -60
  575. package/src/internal/object/snapshot.ts +0 -70
  576. /package/dist/lib/{browser → neutral}/Annotation.mjs.map +0 -0
  577. /package/dist/lib/{browser → neutral}/Database.mjs.map +0 -0
  578. /package/dist/lib/{browser → neutral}/Entity.mjs.map +0 -0
  579. /package/dist/lib/{browser → neutral}/Err.mjs.map +0 -0
  580. /package/dist/lib/{browser/Filter.mjs.map → neutral/Extension.mjs.map} +0 -0
  581. /package/dist/lib/{browser/Format.mjs.map → neutral/Feed.mjs.map} +0 -0
  582. /package/dist/lib/{node-esm → neutral}/Filter.mjs.map +0 -0
  583. /package/dist/lib/{node-esm → neutral}/Format.mjs.map +0 -0
  584. /package/dist/lib/{browser → neutral}/JsonSchema.mjs.map +0 -0
  585. /package/dist/lib/{browser → neutral}/Key.mjs.map +0 -0
  586. /package/dist/lib/{browser → neutral}/Obj.mjs.map +0 -0
  587. /package/dist/lib/{browser → neutral}/Order.mjs.map +0 -0
  588. /package/dist/lib/{browser → neutral}/Query.mjs.map +0 -0
  589. /package/dist/lib/{browser → neutral}/QueryResult.mjs.map +0 -0
  590. /package/dist/lib/{browser → neutral}/Ref.mjs.map +0 -0
  591. /package/dist/lib/{browser → neutral}/Relation.mjs.map +0 -0
  592. /package/dist/lib/{browser → neutral}/SchemaRegistry.mjs.map +0 -0
  593. /package/dist/lib/{browser → neutral}/Tag.mjs.map +0 -0
  594. /package/dist/lib/{browser → neutral}/Type.mjs.map +0 -0
  595. /package/dist/lib/{browser/chunk-CGS2ULMK.mjs.map → neutral/chunk-J5LGTIGS.mjs.map} +0 -0
  596. /package/dist/lib/{browser → neutral}/index.mjs.map +0 -0
  597. /package/dist/lib/{browser → neutral}/internal/index.mjs.map +0 -0
  598. /package/dist/types/src/internal/{annotations → Annotation}/annotations.test.d.ts +0 -0
  599. /package/dist/types/src/internal/{entities → Entity}/util.d.ts +0 -0
  600. /package/dist/types/src/internal/{formats → Format}/date.d.ts +0 -0
  601. /package/dist/types/src/internal/{formats → Format}/date.test.d.ts +0 -0
  602. /package/dist/types/src/internal/{formats → Format}/format.d.ts +0 -0
  603. /package/dist/types/src/internal/{formats → Format}/format.test.d.ts +0 -0
  604. /package/dist/types/src/internal/{formats → Format}/index.d.ts +0 -0
  605. /package/dist/types/src/internal/{formats → Format}/number.d.ts +0 -0
  606. /package/dist/types/src/internal/{formats → Format}/object.d.ts +0 -0
  607. /package/dist/types/src/internal/{formats → Format}/string.d.ts +0 -0
  608. /package/dist/types/src/internal/{json-schema → JsonSchema}/effect-schema.test.d.ts +0 -0
  609. /package/dist/types/src/internal/{json-schema → JsonSchema}/index.d.ts +0 -0
  610. /package/dist/types/src/internal/{json-schema → JsonSchema}/json-schema-normalize.d.ts +0 -0
  611. /package/dist/types/src/internal/{json-schema → JsonSchema}/json-schema.test.d.ts +0 -0
  612. /package/dist/types/src/internal/{object → Obj}/clone.d.ts +0 -0
  613. /package/dist/types/src/internal/{object → Obj}/common.d.ts +0 -0
  614. /package/dist/types/src/internal/{object → Obj}/create-object.test.d.ts +0 -0
  615. /package/dist/types/src/internal/{object → Obj}/ids.d.ts +0 -0
  616. /package/dist/types/src/internal/{object → Obj}/index.d.ts +0 -0
  617. /package/dist/types/src/internal/{object → Obj}/inspect.d.ts +0 -0
  618. /package/dist/types/src/internal/{object → Obj}/json-serializer.test.d.ts +0 -0
  619. /package/dist/types/src/internal/{object → Obj}/schema-validator.test.d.ts +0 -0
  620. /package/dist/types/src/internal/{object → Obj}/set-value.test.d.ts +0 -0
  621. /package/dist/types/src/internal/{object → Obj}/snapshot.d.ts +0 -0
  622. /package/dist/types/src/internal/{object → Obj}/typed-object.test.d.ts +0 -0
  623. /package/dist/types/src/internal/{ref → Ref}/index.d.ts +0 -0
  624. /package/dist/types/src/internal/{ref → Ref}/ref.test.d.ts +0 -0
  625. /package/dist/types/src/internal/{schema → Type}/compose.test.d.ts +0 -0
  626. /package/dist/types/src/internal/{schema → Type}/index.d.ts +0 -0
  627. /package/dist/types/src/internal/{schema → Type}/manipulation.d.ts +0 -0
  628. /package/dist/types/src/internal/{proxy → common/proxy}/change-context.d.ts +0 -0
  629. /package/dist/types/src/internal/{proxy → common/proxy}/change.test.d.ts +0 -0
  630. /package/dist/types/src/internal/{proxy → common/proxy}/define-hidden-property.d.ts +0 -0
  631. /package/dist/types/src/internal/{proxy → common/proxy}/errors.d.ts +0 -0
  632. /package/dist/types/src/internal/{proxy → common/proxy}/event-batch.d.ts +0 -0
  633. /package/dist/types/src/internal/{proxy → common/proxy}/handler.test.d.ts +0 -0
  634. /package/dist/types/src/internal/{proxy → common/proxy}/index.d.ts +0 -0
  635. /package/dist/types/src/internal/{proxy → common/proxy}/json-serializer.d.ts +0 -0
  636. /package/dist/types/src/internal/{proxy → common/proxy}/make-object.d.ts +0 -0
  637. /package/dist/types/src/internal/{proxy → common/proxy}/ownership.d.ts +0 -0
  638. /package/dist/types/src/internal/{proxy → common/proxy}/proxy-types.d.ts +0 -0
  639. /package/dist/types/src/internal/{proxy → common/proxy}/proxy-utils.d.ts +0 -0
  640. /package/dist/types/src/internal/{proxy → common/proxy}/reactive-array.d.ts +0 -0
  641. /package/dist/types/src/internal/{proxy → common/proxy}/schema-validator.d.ts +0 -0
  642. /package/dist/types/src/internal/{proxy → common/proxy}/schema.test.d.ts +0 -0
  643. /package/dist/types/src/internal/{proxy → common/proxy}/symbols.d.ts +0 -0
  644. /package/dist/types/src/internal/{proxy → common/proxy}/typed-handler.test.d.ts +0 -0
  645. /package/dist/types/src/internal/{proxy → common/proxy}/typed-object.test.d.ts +0 -0
  646. /package/src/internal/{entities → Entity}/util.ts +0 -0
  647. /package/src/internal/{formats → Format}/date.ts +0 -0
  648. /package/src/internal/{formats → Format}/format.ts +0 -0
  649. /package/src/internal/{formats → Format}/index.ts +0 -0
  650. /package/src/internal/{formats → Format}/number.ts +0 -0
  651. /package/src/internal/{formats → Format}/object.ts +0 -0
  652. /package/src/internal/{formats → Format}/string.ts +0 -0
  653. /package/src/internal/{json-schema → JsonSchema}/effect-schema.test.ts +0 -0
  654. /package/src/internal/{json-schema → JsonSchema}/index.ts +0 -0
  655. /package/src/internal/{object → Obj}/ids.ts +0 -0
  656. /package/src/internal/{object → Obj}/index.ts +0 -0
  657. /package/src/internal/{ref → Ref}/index.ts +0 -0
  658. /package/src/internal/{schema → Type}/index.ts +0 -0
  659. /package/src/internal/{proxy → common/proxy}/change-context.ts +0 -0
  660. /package/src/internal/{proxy → common/proxy}/define-hidden-property.ts +0 -0
  661. /package/src/internal/{proxy → common/proxy}/errors.ts +0 -0
  662. /package/src/internal/{proxy → common/proxy}/event-batch.ts +0 -0
  663. /package/src/internal/{proxy → common/proxy}/index.ts +0 -0
  664. /package/src/internal/{proxy → common/proxy}/proxy-types.ts +0 -0
  665. /package/src/internal/{proxy → common/proxy}/proxy-utils.ts +0 -0
  666. /package/src/internal/{proxy → common/proxy}/reactive-array.ts +0 -0
  667. /package/src/internal/{proxy → common/proxy}/schema-validator.ts +0 -0
  668. /package/src/internal/{proxy → common/proxy}/symbols.ts +0 -0
@@ -13,6 +13,6 @@ export const SelectOption = Schema.Struct({
13
13
  title: Schema.String,
14
14
  /** Color palette used for visual styling. */
15
15
  color: Schema.String,
16
- }).pipe(Schema.mutable);
16
+ });
17
17
 
18
18
  export type SelectOption = Schema.Schema.Type<typeof SelectOption>;
@@ -7,8 +7,8 @@ import type * as JSONSchema from 'effect/JSONSchema';
7
7
  import * as Option from 'effect/Option';
8
8
  import * as SchemaAST from 'effect/SchemaAST';
9
9
 
10
- import { createAnnotationHelper } from '../annotations';
11
- import { type JsonSchemaType } from '../json-schema';
10
+ import { createAnnotationHelper } from '../Annotation';
11
+ import { type JsonSchemaType } from '../JsonSchema';
12
12
 
13
13
  // TODO(burdon): Rename PropertyType.
14
14
  export type ScalarType =
@@ -135,7 +135,7 @@ export const typeToFormat: Partial<Record<TypeEnum, TypeFormat>> = {
135
135
  * Map of format to type.
136
136
  */
137
137
  export const formatToType: Record<TypeFormat, TypeEnum> = {
138
- [TypeFormat.None]: undefined as any,
138
+ [TypeFormat.None]: TypeEnum.String,
139
139
  [TypeFormat.String]: TypeEnum.String,
140
140
  [TypeFormat.Number]: TypeEnum.Number,
141
141
  [TypeFormat.Boolean]: TypeEnum.Boolean,
@@ -4,9 +4,9 @@
4
4
 
5
5
  import * as SchemaAST from 'effect/SchemaAST';
6
6
 
7
- import { GeneratorAnnotationId, LabelAnnotationId, PropertyMetaAnnotationId } from '../annotations';
8
- import { CurrencyAnnotationId, FormatAnnotationId } from '../formats';
9
- import { type JsonSchemaEchoAnnotations, type JsonSchemaType } from '../json-schema';
7
+ import { GeneratorAnnotationId, LabelAnnotationId, PropertyMetaAnnotationId } from '../Annotation';
8
+ import { CurrencyAnnotationId, FormatAnnotationId } from '../Format';
9
+ import { type JsonSchemaEchoAnnotations, type JsonSchemaType } from '../JsonSchema';
10
10
 
11
11
  //
12
12
  // This file configures annotations for JSON encoding/decoding.
@@ -2,6 +2,8 @@
2
2
  // Copyright 2025 DXOS.org
3
3
  //
4
4
 
5
+ import type * as Types from 'effect/Types';
6
+
5
7
  import { JsonSchemaFields, type JsonSchemaType } from './json-schema-type';
6
8
 
7
9
  /**
@@ -9,12 +11,12 @@ import { JsonSchemaFields, type JsonSchemaType } from './json-schema-type';
9
11
  * Note: the input type does not necessarily match the {@link JsonSchemaType} type.
10
12
  */
11
13
  export const normalizeSchema = (schema: JsonSchemaType): JsonSchemaType => {
12
- const copy = structuredClone(schema);
14
+ const copy = structuredClone(schema) as Types.DeepMutable<JsonSchemaType>;
13
15
  go(copy);
14
16
  return copy;
15
17
  };
16
18
 
17
- const go = (schema: JsonSchemaType) => {
19
+ const go = (schema: Types.DeepMutable<JsonSchemaType>) => {
18
20
  if (typeof schema !== 'object' || schema === null) {
19
21
  return;
20
22
  }
@@ -6,8 +6,9 @@ import * as Schema from 'effect/Schema';
6
6
 
7
7
  import { JsonPath, type JsonProp } from '@dxos/effect';
8
8
 
9
- import { FormatAnnotation, TypeFormat } from '../formats';
10
- import { EntityKindSchema } from '../types';
9
+ import { type Mutable } from '../common/proxy';
10
+ import { EntityKindSchema } from '../common/types';
11
+ import { FormatAnnotation, TypeFormat } from '../Format';
11
12
 
12
13
  //
13
14
  // JSON Schema
@@ -18,7 +19,7 @@ const SimpleTypes = Schema.Literal('array', 'boolean', 'integer', 'null', 'numbe
18
19
 
19
20
  const NonNegativeInteger = Schema.Number.pipe(Schema.greaterThanOrEqualTo(0));
20
21
 
21
- const StringArray = Schema.Array(Schema.String).pipe(Schema.mutable);
22
+ const StringArray = Schema.Array(Schema.String);
22
23
 
23
24
  const JsonSchemaOrBoolean = Schema.Union(
24
25
  Schema.suspend(() => JsonSchemaType),
@@ -48,7 +49,7 @@ export const JsonSchemaEchoAnnotations = Schema.Struct({
48
49
  Schema.Record({
49
50
  key: Schema.String,
50
51
  value: Schema.Any,
51
- }).pipe(Schema.mutable),
52
+ }),
52
53
  ),
53
54
 
54
55
  /**
@@ -62,7 +63,7 @@ export const JsonSchemaEchoAnnotations = Schema.Struct({
62
63
 
63
64
  // Not used.
64
65
  schemaId: Schema.optional(Schema.String),
65
- }).pipe(Schema.mutable),
66
+ }),
66
67
  ),
67
68
 
68
69
  /**
@@ -72,9 +73,9 @@ export const JsonSchemaEchoAnnotations = Schema.Struct({
72
73
  Schema.Record({
73
74
  key: Schema.String,
74
75
  value: Schema.Any,
75
- }).pipe(Schema.mutable),
76
+ }),
76
77
  ),
77
- }).pipe(Schema.mutable);
78
+ });
78
79
  export type JsonSchemaEchoAnnotations = Schema.Schema.Type<typeof JsonSchemaEchoAnnotations>;
79
80
 
80
81
  /**
@@ -118,7 +119,7 @@ const _JsonSchemaType = Schema.Struct({
118
119
  * Typename of this schema.
119
120
  * Only on schema representing an ECHO object.
120
121
  *
121
- * @example 'example.com/type/MyType'
122
+ * @example 'com.example.type.my-type'
122
123
  */
123
124
  typename: Schema.optional(Schema.String),
124
125
 
@@ -257,23 +258,21 @@ const _JsonSchemaType = Schema.Struct({
257
258
  Schema.Record({
258
259
  key: Schema.String,
259
260
  value: Schema.suspend(() => JsonSchemaType),
260
- }).pipe(Schema.mutable),
261
+ }),
261
262
  ),
262
263
  patternProperties: Schema.optional(
263
264
  Schema.Record({
264
265
  key: Schema.String,
265
266
  value: Schema.suspend(() => JsonSchemaType),
266
- }).pipe(Schema.mutable),
267
+ }),
267
268
  ),
268
269
  propertyNames: Schema.optional(Schema.suspend(() => JsonSchemaType)),
269
270
 
270
271
  definitions: Schema.optional(
271
- Schema.mutable(
272
- Schema.Record({
273
- key: Schema.String,
274
- value: Schema.suspend(() => JsonSchemaType),
275
- }),
276
- ),
272
+ Schema.Record({
273
+ key: Schema.String,
274
+ value: Schema.suspend(() => JsonSchemaType),
275
+ }),
277
276
  ),
278
277
  dependencies: Schema.optional(
279
278
  Schema.Record({
@@ -296,12 +295,10 @@ const _JsonSchemaType = Schema.Struct({
296
295
  oneOf: Schema.optional(Schema.Array(Schema.suspend(() => JsonSchemaType))),
297
296
  not: Schema.optional(Schema.suspend(() => JsonSchemaType)),
298
297
  $defs: Schema.optional(
299
- Schema.mutable(
300
- Schema.Record({
301
- key: Schema.String,
302
- value: Schema.suspend(() => JsonSchemaType),
303
- }),
304
- ),
298
+ Schema.Record({
299
+ key: Schema.String,
300
+ value: Schema.suspend(() => JsonSchemaType),
301
+ }),
305
302
  ),
306
303
 
307
304
  //
@@ -311,25 +308,23 @@ const _JsonSchemaType = Schema.Struct({
311
308
  currency: Schema.optional(Schema.String),
312
309
 
313
310
  reference: Schema.optional(
314
- Schema.mutable(
315
- Schema.Struct({
316
- schema: Schema.suspend(() => JsonSchemaType),
317
- schemaVersion: Schema.optional(Schema.String),
318
- schemaObject: Schema.optional(Schema.String),
319
- }),
320
- ),
311
+ Schema.Struct({
312
+ schema: Schema.suspend(() => JsonSchemaType),
313
+ schemaVersion: Schema.optional(Schema.String),
314
+ schemaObject: Schema.optional(Schema.String),
315
+ }),
321
316
  ),
322
317
 
323
318
  /**
324
319
  * ECHO-specific annotations.
325
320
  */
326
321
  // TODO(dmaretskyi): Since we are adding a lot of new extensions to the JSON Schema, it is safer to namespace them here.
327
- annotations: Schema.optional(Schema.mutable(JsonSchemaEchoAnnotations)),
322
+ annotations: Schema.optional(JsonSchemaEchoAnnotations),
328
323
 
329
324
  /**
330
325
  * @deprecated Use `annotations` instead.
331
326
  */
332
- echo: Schema.optional(Schema.mutable(JsonSchemaEchoAnnotations)),
327
+ echo: Schema.optional(JsonSchemaEchoAnnotations),
333
328
  }).annotations({ identifier: 'jsonSchema', description: 'JSON Schema' });
334
329
 
335
330
  export const JsonSchemaFields = Object.keys(_JsonSchemaType.fields);
@@ -338,9 +333,9 @@ export const JsonSchemaFields = Object.keys(_JsonSchemaType.fields);
338
333
  * https://json-schema.org/draft-07/schema
339
334
  */
340
335
  // TODO(burdon): Reconcile with @effect/Schema/JSONSchema
341
- export interface JsonSchemaType extends Schema.Schema.Type<Schema.mutable<typeof _JsonSchemaType>> {}
336
+ export interface JsonSchemaType extends Schema.Schema.Type<typeof _JsonSchemaType> {}
342
337
 
343
- export const JsonSchemaType: Schema.Schema<JsonSchemaType> = _JsonSchemaType.pipe(Schema.mutable);
338
+ export const JsonSchemaType: Schema.Schema<JsonSchemaType> = _JsonSchemaType;
344
339
 
345
340
  // TODO(burdon): Factor out JSON schema utils.
346
341
 
@@ -349,7 +344,11 @@ export const getSchemaProperty = (schema: JsonSchemaType, property: JsonProp): J
349
344
  };
350
345
 
351
346
  // TODO(burdon): Properties should be ordered.
352
- export const setSchemaProperty = (schema: JsonSchemaType, property: JsonProp, value: JsonSchemaType) => {
347
+ export const setSchemaProperty = (
348
+ schema: Mutable<JsonSchemaType>,
349
+ property: JsonProp,
350
+ value: Mutable<JsonSchemaType>,
351
+ ) => {
353
352
  schema.properties ??= {};
354
353
  schema.properties[property] = value;
355
354
  return schema;
@@ -20,14 +20,13 @@ import {
20
20
  PropertyMeta,
21
21
  getTypeAnnotation,
22
22
  getTypeIdentifierAnnotation,
23
- } from '../annotations';
24
- import { EchoObjectSchema } from '../entities';
25
- import { Email, FormatAnnotation, TypeFormat } from '../formats';
26
- import { JsonSchemaType, getNormalizedEchoAnnotations, getSchemaProperty, setSchemaProperty } from '../json-schema';
27
- import { Ref, createSchemaReference, getReferenceAst, getSchemaReference } from '../ref';
28
- import { PersistentSchema } from '../schema';
29
- import { EntityKind } from '../types';
30
-
23
+ } from '../Annotation';
24
+ import { EntityKind } from '../common/types';
25
+ import { EchoObjectSchema } from '../Entity';
26
+ import { Email, FormatAnnotation, TypeFormat } from '../Format';
27
+ import { JsonSchemaType, getNormalizedEchoAnnotations, getSchemaProperty, setSchemaProperty } from '../JsonSchema';
28
+ import { Ref, createSchemaReference, getReferenceAst, getSchemaReference } from '../Ref';
29
+ import { PersistentSchema } from '../Type';
31
30
  import { toEffectSchema, toJsonSchema } from './json-schema';
32
31
 
33
32
  const EXAMPLE_NAMESPACE = '@example';
@@ -36,12 +35,12 @@ describe('effect-to-json', () => {
36
35
  test('type annotation', () => {
37
36
  const Test = Schema.Struct({ name: Schema.String }).pipe(
38
37
  Type.object({
39
- typename: 'example.com/type/Test',
38
+ typename: 'com.example.type.test',
40
39
  version: '0.1.0',
41
40
  }),
42
41
  );
43
42
  const jsonSchema = toJsonSchema(Test);
44
- expect((jsonSchema as any).$id).toEqual('dxn:type:example.com/type/Test');
43
+ expect((jsonSchema as any).$id).toEqual('dxn:type:com.example.type.test');
45
44
  expect((jsonSchema as any).version).toEqual('0.1.0');
46
45
  });
47
46
 
@@ -51,7 +50,7 @@ describe('effect-to-json', () => {
51
50
  name: Schema.String.pipe(PropertyMeta(EXAMPLE_NAMESPACE, meta)),
52
51
  }).pipe(
53
52
  Type.object({
54
- typename: 'example.com/type/Test',
53
+ typename: 'com.example.type.test',
55
54
  version: '0.1.0',
56
55
  }),
57
56
  );
@@ -64,7 +63,7 @@ describe('effect-to-json', () => {
64
63
  name: Schema.String,
65
64
  }).pipe(
66
65
  Type.object({
67
- typename: 'example.com/type/TestNested',
66
+ typename: 'com.example.type.testNested',
68
67
  version: '0.1.0',
69
68
  }),
70
69
  );
@@ -72,7 +71,7 @@ describe('effect-to-json', () => {
72
71
  name: Ref(Nested),
73
72
  }).pipe(
74
73
  Type.object({
75
- typename: 'example.com/type/Test',
74
+ typename: 'com.example.type.test',
76
75
  version: '0.1.0',
77
76
  }),
78
77
  );
@@ -89,7 +88,7 @@ describe('effect-to-json', () => {
89
88
  name: Schema.String,
90
89
  }).pipe(
91
90
  Type.object({
92
- typename: 'example.com/type/TestNested',
91
+ typename: 'com.example.type.testNested',
93
92
  version: '0.1.0',
94
93
  }),
95
94
  );
@@ -97,7 +96,7 @@ describe('effect-to-json', () => {
97
96
  name: Ref(Nested).annotations({ [FieldLookupAnnotationId]: 'name' }),
98
97
  }).pipe(
99
98
  Type.object({
100
- typename: 'example.com/type/Test',
99
+ typename: 'com.example.type.test',
101
100
  version: '0.1.0',
102
101
  }),
103
102
  );
@@ -113,7 +112,7 @@ describe('effect-to-json', () => {
113
112
  name: Schema.String,
114
113
  }).pipe(
115
114
  Type.object({
116
- typename: 'example.com/type/TestNested',
115
+ typename: 'com.example.type.testNested',
117
116
  version: '0.1.0',
118
117
  }),
119
118
  );
@@ -121,7 +120,7 @@ describe('effect-to-json', () => {
121
120
  name: Schema.Array(Ref(Nested)),
122
121
  }).pipe(
123
122
  Type.object({
124
- typename: 'example.com/type/Test',
123
+ typename: 'com.example.type.test',
125
124
  version: '0.1.0',
126
125
  }),
127
126
  );
@@ -135,7 +134,7 @@ describe('effect-to-json', () => {
135
134
  name: Schema.String,
136
135
  }).pipe(
137
136
  Type.object({
138
- typename: 'example.com/type/TestNested',
137
+ typename: 'com.example.type.testNested',
139
138
  version: '0.1.0',
140
139
  }),
141
140
  );
@@ -143,7 +142,7 @@ describe('effect-to-json', () => {
143
142
  name: Schema.optional(Ref(Nested)),
144
143
  }).pipe(
145
144
  Type.object({
146
- typename: 'example.com/type/Test',
145
+ typename: 'com.example.type.test',
147
146
  version: '0.1.0',
148
147
  }),
149
148
  );
@@ -166,7 +165,7 @@ describe('effect-to-json', () => {
166
165
  }),
167
166
  }).pipe(
168
167
  Type.object({
169
- typename: 'example.com/type/Person',
168
+ typename: 'com.example.type.person',
170
169
  version: '0.1.0',
171
170
  }),
172
171
  );
@@ -174,10 +173,10 @@ describe('effect-to-json', () => {
174
173
  const jsonSchema = toJsonSchema(TempSchema);
175
174
  expect(jsonSchema).to.deep.eq({
176
175
  $schema: 'http://json-schema.org/draft-07/schema#',
177
- $id: 'dxn:type:example.com/type/Person',
176
+ $id: 'dxn:type:com.example.type.person',
178
177
 
179
178
  entityKind: EntityKind.Object,
180
- typename: 'example.com/type/Person',
179
+ typename: 'com.example.type.person',
181
180
  version: '0.1.0',
182
181
 
183
182
  type: 'object',
@@ -217,7 +216,7 @@ describe('effect-to-json', () => {
217
216
  field: Schema.String,
218
217
  }).pipe(
219
218
  Type.object({
220
- typename: 'example.com/type/Organization',
219
+ typename: 'com.example.type.organization',
221
220
  version: '0.1.0',
222
221
  }),
223
222
  );
@@ -227,7 +226,7 @@ describe('effect-to-json', () => {
227
226
  organization: Ref(Organization).annotations({ description: 'Contact organization' }),
228
227
  }).pipe(
229
228
  Type.object({
230
- typename: 'example.com/type/Person',
229
+ typename: 'com.example.type.person',
231
230
  version: '0.1.0',
232
231
  }),
233
232
  );
@@ -237,10 +236,10 @@ describe('effect-to-json', () => {
237
236
  const jsonSchema = toJsonSchema(Contact);
238
237
  expect(jsonSchema).toEqual({
239
238
  $schema: 'http://json-schema.org/draft-07/schema#',
240
- $id: 'dxn:type:example.com/type/Person',
239
+ $id: 'dxn:type:com.example.type.person',
241
240
 
242
241
  entityKind: EntityKind.Object,
243
- typename: 'example.com/type/Person',
242
+ typename: 'com.example.type.person',
244
243
  version: '0.1.0',
245
244
 
246
245
  type: 'object',
@@ -260,7 +259,7 @@ describe('effect-to-json', () => {
260
259
  $ref: '/schemas/echo/ref',
261
260
  reference: {
262
261
  schema: {
263
- $ref: 'dxn:type:example.com/type/Organization',
262
+ $ref: 'dxn:type:com.example.type.organization',
264
263
  },
265
264
  schemaVersion: '0.1.0',
266
265
  },
@@ -279,7 +278,7 @@ describe('effect-to-json', () => {
279
278
  field: Schema.String,
280
279
  }).pipe(
281
280
  Type.object({
282
- typename: 'example.com/type/Organization',
281
+ typename: 'com.example.type.organization',
283
282
  version: '0.1.0',
284
283
  }),
285
284
  );
@@ -289,7 +288,7 @@ describe('effect-to-json', () => {
289
288
  organization: Ref(Organization).annotations({ description: 'Contact organization' }),
290
289
  }).pipe(
291
290
  Type.object({
292
- typename: 'example.com/type/Person',
291
+ typename: 'com.example.type.person',
293
292
  version: '0.1.0',
294
293
  }),
295
294
  );
@@ -350,18 +349,18 @@ describe('effect-to-json', () => {
350
349
  const schema = TestSchema.EmployedBy;
351
350
  const jsonSchema = toJsonSchema(schema);
352
351
  expect(jsonSchema).toEqual({
353
- $id: 'dxn:type:example.com/type/EmployedBy',
352
+ $id: 'dxn:type:com.example.type.employed-by',
354
353
  $schema: 'http://json-schema.org/draft-07/schema#',
355
354
  entityKind: 'relation',
356
- typename: 'example.com/type/EmployedBy',
355
+ typename: 'com.example.type.employed-by',
357
356
  version: '0.1.0',
358
357
  relationSource: {
359
358
  // TODO(dmaretskyi): Should those point to specific schema version?
360
- $ref: 'dxn:type:example.com/type/Person',
359
+ $ref: 'dxn:type:com.example.type.person',
361
360
  },
362
361
  relationTarget: {
363
362
  // TODO(dmaretskyi): Should those point to specific schema version?
364
- $ref: 'dxn:type:example.com/type/Organization',
363
+ $ref: 'dxn:type:com.example.type.organization',
365
364
  },
366
365
  type: 'object',
367
366
  properties: {
@@ -387,7 +386,7 @@ describe('effect-to-json', () => {
387
386
  name: Schema.String,
388
387
  }).pipe(
389
388
  EchoObjectSchema({
390
- typename: 'example.com/type/Organization',
389
+ typename: 'com.example.type.organization',
391
390
  version: '0.1.0',
392
391
  }),
393
392
  LabelAnnotation.set(['name']),
@@ -395,9 +394,9 @@ describe('effect-to-json', () => {
395
394
 
396
395
  const jsonSchema = toJsonSchema(Organization);
397
396
  expect(jsonSchema).toEqual({
398
- $id: 'dxn:type:example.com/type/Organization',
397
+ $id: 'dxn:type:com.example.type.organization',
399
398
  $schema: 'http://json-schema.org/draft-07/schema#',
400
- typename: 'example.com/type/Organization',
399
+ typename: 'com.example.type.organization',
401
400
  version: '0.1.0',
402
401
  entityKind: 'object',
403
402
  type: 'object',
@@ -468,7 +467,7 @@ describe('effect-to-json', () => {
468
467
  const expectReferenceAnnotation = (object: JsonSchemaType) => {
469
468
  expect(object.reference).to.deep.eq({
470
469
  schema: {
471
- $ref: 'dxn:type:example.com/type/TestNested',
470
+ $ref: 'dxn:type:com.example.type.testNested',
472
471
  },
473
472
  schemaVersion: '0.1.0',
474
473
  });
@@ -497,7 +496,7 @@ describe('json-to-effect', () => {
497
496
  field: Schema.String,
498
497
  }).pipe(
499
498
  Type.object({
500
- typename: 'example.com/type/Organization',
499
+ typename: 'com.example.type.organization',
501
500
  version: '0.1.0',
502
501
  }),
503
502
  );
@@ -518,7 +517,7 @@ describe('json-to-effect', () => {
518
517
 
519
518
  const Test = (partial ? Schema.partial(Schema.Struct(fields)) : Schema.Struct(fields)).pipe(
520
519
  Type.object({
521
- typename: 'example.com/type/Test',
520
+ typename: 'com.example.type.test',
522
521
  version: '0.1.0',
523
522
  }),
524
523
  );
@@ -545,13 +544,13 @@ describe('json-to-effect', () => {
545
544
 
546
545
  test('legacy schema with dxn:type $id gets decoded', () => {
547
546
  const jsonSchema: JsonSchemaType = {
548
- $id: 'dxn:type:example.com/type/Project',
547
+ $id: 'dxn:type:com.example.type.project',
549
548
  $schema: 'http://json-schema.org/draft-07/schema#',
550
549
  additionalProperties: false,
551
550
  echo: {
552
551
  type: {
553
552
  schemaId: '01JERV1HQCQZDQ4NVCJ42QB38F',
554
- typename: 'example.com/type/Project',
553
+ typename: 'com.example.type.project',
555
554
  version: '0.1.0',
556
555
  },
557
556
  },
@@ -577,7 +576,7 @@ describe('json-to-effect', () => {
577
576
  const schema = toEffectSchema(jsonSchema);
578
577
  expect(getTypeAnnotation(schema)).to.deep.eq({
579
578
  kind: EntityKind.Object,
580
- typename: 'example.com/type/Project',
579
+ typename: 'com.example.type.project',
581
580
  version: '0.1.0',
582
581
  });
583
582
  expect(getTypeIdentifierAnnotation(schema)).to.deep.eq('dxn:echo:@:01JERV1HQCQZDQ4NVCJ42QB38F');
@@ -715,7 +714,7 @@ describe('json-to-effect', () => {
715
714
  "$ref": "/schemas/echo/ref",
716
715
  "reference": {
717
716
  "schema": {
718
- "$ref": "dxn:type:example.com/type/Person",
717
+ "$ref": "dxn:type:com.example.type.person",
719
718
  },
720
719
  "schemaVersion": "0.1.0",
721
720
  },
@@ -736,7 +735,7 @@ describe('json-to-effect', () => {
736
735
  test('object nested inside another struct', () => {
737
736
  const Contact = Schema.Struct({
738
737
  name: Schema.String,
739
- }).pipe(EchoObjectSchema({ typename: 'example.com/type/Person', version: '0.1.0' }));
738
+ }).pipe(EchoObjectSchema({ typename: 'com.example.type.person', version: '0.1.0' }));
740
739
  const input = Schema.Struct({
741
740
  contact: Contact,
742
741
  });
@@ -747,7 +746,7 @@ describe('json-to-effect', () => {
747
746
  "additionalProperties": false,
748
747
  "properties": {
749
748
  "contact": {
750
- "$id": "dxn:type:example.com/type/Person",
749
+ "$id": "dxn:type:com.example.type.person",
751
750
  "additionalProperties": false,
752
751
  "entityKind": "object",
753
752
  "properties": {
@@ -767,7 +766,7 @@ describe('json-to-effect', () => {
767
766
  "id",
768
767
  ],
769
768
  "type": "object",
770
- "typename": "example.com/type/Person",
769
+ "typename": "com.example.type.person",
771
770
  "version": "0.1.0",
772
771
  },
773
772
  },
@@ -796,7 +795,7 @@ describe('reference', () => {
796
795
  $schema: 'http://json-schema.org/draft-07/schema#',
797
796
  reference: {
798
797
  schema: {
799
- $ref: 'dxn:type:example.com/type/Person',
798
+ $ref: 'dxn:type:com.example.type.person',
800
799
  },
801
800
  schemaVersion: '0.1.0',
802
801
  },
@@ -814,7 +813,7 @@ describe('reference', () => {
814
813
  $ref: '/schemas/echo/ref',
815
814
  reference: {
816
815
  schema: {
817
- $ref: 'dxn:type:example.com/type/Person',
816
+ $ref: 'dxn:type:com.example.type.person',
818
817
  },
819
818
  schemaVersion: '0.1.0',
820
819
  },
@@ -835,7 +834,7 @@ describe('reference', () => {
835
834
  $ref: '/schemas/echo/ref',
836
835
  reference: {
837
836
  schema: {
838
- $ref: 'dxn:type:example.com/type/Person',
837
+ $ref: 'dxn:type:com.example.type.person',
839
838
  },
840
839
  schemaVersion: '0.1.0',
841
840
  },
@@ -22,10 +22,9 @@ import {
22
22
  TypeAnnotationId,
23
23
  TypeIdentifierAnnotationId,
24
24
  makeTypeJsonSchemaAnnotation,
25
- } from '../annotations';
26
- import { type JsonSchemaReferenceInfo, createEchoReferenceSchema } from '../ref';
27
- import { ANY_OBJECT_TYPENAME, ANY_OBJECT_VERSION, EntityKind, EntityKindSchema } from '../types';
28
-
25
+ } from '../Annotation';
26
+ import { ANY_OBJECT_TYPENAME, ANY_OBJECT_VERSION, EntityKind, EntityKindSchema } from '../common/types';
27
+ import { type JsonSchemaReferenceInfo, createEchoReferenceSchema } from '../Ref';
29
28
  import { CustomAnnotations, DecodedAnnotations, EchoAnnotations } from './annotations';
30
29
  import {
31
30
  ECHO_ANNOTATIONS_NS_DEPRECATED_KEY,
@@ -80,7 +79,11 @@ export type JsonSchemaOptions = {
80
79
  */
81
80
  // TODO(burdon): Reconcile with possibly extending @effect/Schema/JSONSchema
82
81
  // We add additional propertyOrder (but the object properties ARE ordered); and type "string" for literals.
83
- export const toJsonSchema = (schema: Schema.Schema.All, options: JsonSchemaOptions = {}): JsonSchemaType => {
82
+ // TODO(wittjosiah): This is mutable because its a pojo, perhaps should be left as readonly at type level though?
83
+ export const toJsonSchema = (
84
+ schema: Schema.Schema.All,
85
+ options: JsonSchemaOptions = {},
86
+ ): Types.DeepMutable<JsonSchemaType> => {
84
87
  assertArgument(Schema.isSchema(schema), 'schema');
85
88
  let jsonSchema = _toJsonSchemaAST(schema.ast);
86
89
  if (options.strict) {
@@ -103,11 +106,11 @@ export const toJsonSchema = (schema: Schema.Schema.All, options: JsonSchemaOptio
103
106
  return jsonSchema;
104
107
  };
105
108
 
106
- const _toJsonSchemaAST = (ast: SchemaAST.AST): JsonSchemaType => {
109
+ const _toJsonSchemaAST = (ast: SchemaAST.AST): Types.DeepMutable<JsonSchemaType> => {
107
110
  const withRefinements = withEchoRefinements(ast, '#');
108
111
  const jsonSchema = JSONSchema.fromAST(withRefinements, {
109
112
  definitions: {},
110
- }) as JsonSchemaType;
113
+ }) as Types.DeepMutable<JsonSchemaType>;
111
114
 
112
115
  return normalizeJsonSchema(jsonSchema);
113
116
  };
@@ -326,7 +329,7 @@ const objectToEffectSchema = (root: JsonSchemaType, defs: JsonSchemaType['$defs'
326
329
  }
327
330
 
328
331
  if (immutableIdField) {
329
- schema = Schema.extend(Schema.mutable(schema), Schema.Struct({ id: immutableIdField }));
332
+ schema = Schema.extend(schema, Schema.Struct({ id: immutableIdField }));
330
333
  }
331
334
 
332
335
  const annotations = jsonSchemaFieldsToAnnotations(root);
@@ -377,7 +380,7 @@ const refToEffectSchema = (root: any): Schema.Schema.AnyNoContext => {
377
380
  const annotations_toJsonSchemaFields = (annotations: SchemaAST.Annotations): Record<symbol, any> => {
378
381
  const schemaFields: Record<string, any> = {};
379
382
 
380
- const echoAnnotations: JsonSchemaEchoAnnotations = {};
383
+ const echoAnnotations: Types.Mutable<JsonSchemaEchoAnnotations> = {};
381
384
  for (const [key, annotationId] of Object.entries(EchoAnnotations)) {
382
385
  if (annotations[annotationId] != null) {
383
386
  echoAnnotations[key as keyof JsonSchemaEchoAnnotations] = annotations[annotationId] as any;
@@ -461,11 +464,13 @@ const jsonSchemaFieldsToAnnotations = (schema: JsonSchemaType): SchemaAST.Annota
461
464
  }
462
465
  }
463
466
 
464
- annotations[TypeIdentifierAnnotationId] = decodeTypeIdentifierAnnotation(schema);
467
+ const typeIdentifier = decodeTypeIdentifierAnnotation(schema);
468
+ annotations[TypeIdentifierAnnotationId] = typeIdentifier;
465
469
  const typeAnnotation = decodeTypeAnnotation(schema);
466
470
  if (typeAnnotation) {
467
471
  annotations[TypeAnnotationId] = typeAnnotation;
468
472
  annotations[SchemaAST.JSONSchemaAnnotationId] = makeTypeJsonSchemaAnnotation({
473
+ identifier: typeIdentifier,
469
474
  kind: typeAnnotation.kind,
470
475
  typename: typeAnnotation.typename,
471
476
  version: typeAnnotation.version,
@@ -495,7 +500,7 @@ const addJsonSchemaFields = (ast: SchemaAST.AST, schema: JsonSchemaType): Schema
495
500
  * Fixes field order.
496
501
  * Sets `$schema` prop.
497
502
  */
498
- const normalizeJsonSchema = (jsonSchema: JsonSchemaType): JsonSchemaType => {
503
+ const normalizeJsonSchema = (jsonSchema: Types.DeepMutable<JsonSchemaType>): Types.DeepMutable<JsonSchemaType> => {
499
504
  if (jsonSchema.properties && 'id' in jsonSchema.properties) {
500
505
  jsonSchema.properties = orderKeys(jsonSchema.properties, ['id']); // Put id first.
501
506
  }
@@ -6,9 +6,9 @@ import { invariant } from '@dxos/invariant';
6
6
  import { deepMapValues } from '@dxos/util';
7
7
 
8
8
  import type * as Obj from '../../Obj';
9
- import { makeObject } from '../proxy';
10
- import { Ref } from '../ref';
11
- import { getMeta, getSchema } from '../types';
9
+ import { makeObject } from '../common/proxy';
10
+ import { getMeta, getSchema } from '../common/types';
11
+ import { Ref } from '../Ref';
12
12
 
13
13
  /**
14
14
  * Clones an object or relation.