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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (567) hide show
  1. package/LICENSE +102 -5
  2. package/README.md +10 -11
  3. package/dist/lib/neutral/Annotation.mjs +68 -0
  4. package/dist/lib/neutral/Database.mjs +38 -0
  5. package/dist/lib/neutral/Entity.mjs +72 -0
  6. package/dist/lib/neutral/Entity.mjs.map +7 -0
  7. package/dist/lib/neutral/Err.mjs +12 -0
  8. package/dist/lib/neutral/Err.mjs.map +7 -0
  9. package/dist/lib/neutral/Feed.mjs +54 -0
  10. package/dist/lib/neutral/Feed.mjs.map +7 -0
  11. package/dist/lib/neutral/Filter.mjs +70 -0
  12. package/dist/lib/neutral/Filter.mjs.map +7 -0
  13. package/dist/lib/neutral/Format.mjs +86 -0
  14. package/dist/lib/neutral/Format.mjs.map +7 -0
  15. package/dist/lib/neutral/JsonSchema.mjs +18 -0
  16. package/dist/lib/neutral/JsonSchema.mjs.map +7 -0
  17. package/dist/lib/neutral/Key.mjs +16 -0
  18. package/dist/lib/neutral/Key.mjs.map +7 -0
  19. package/dist/lib/neutral/Migration.mjs +18 -0
  20. package/dist/lib/neutral/Migration.mjs.map +7 -0
  21. package/dist/lib/neutral/Obj.mjs +122 -0
  22. package/dist/lib/neutral/Obj.mjs.map +7 -0
  23. package/dist/lib/neutral/Order.mjs +16 -0
  24. package/dist/lib/neutral/Order.mjs.map +7 -0
  25. package/dist/lib/neutral/Query.mjs +38 -0
  26. package/dist/lib/neutral/Query.mjs.map +7 -0
  27. package/dist/lib/neutral/QueryResult.mjs +2 -0
  28. package/dist/lib/neutral/QueryResult.mjs.map +7 -0
  29. package/dist/lib/neutral/Ref.mjs +25 -0
  30. package/dist/lib/neutral/Ref.mjs.map +7 -0
  31. package/dist/lib/neutral/Registry.mjs +14 -0
  32. package/dist/lib/neutral/Registry.mjs.map +7 -0
  33. package/dist/lib/neutral/Relation.mjs +97 -0
  34. package/dist/lib/neutral/Relation.mjs.map +7 -0
  35. package/dist/lib/neutral/Scope.mjs +12 -0
  36. package/dist/lib/neutral/Scope.mjs.map +7 -0
  37. package/dist/lib/neutral/Tag.mjs +32 -0
  38. package/dist/lib/neutral/Tag.mjs.map +7 -0
  39. package/dist/lib/neutral/Type.mjs +65 -0
  40. package/dist/lib/neutral/Type.mjs.map +7 -0
  41. package/dist/lib/neutral/chunk-35INCYOE.mjs +7 -0
  42. package/dist/lib/neutral/chunk-35INCYOE.mjs.map +7 -0
  43. package/dist/lib/neutral/chunk-3PBP4V4O.mjs +101 -0
  44. package/dist/lib/neutral/chunk-3PBP4V4O.mjs.map +7 -0
  45. package/dist/lib/neutral/chunk-4ZUHOTCG.mjs +184 -0
  46. package/dist/lib/neutral/chunk-4ZUHOTCG.mjs.map +7 -0
  47. package/dist/lib/neutral/chunk-5SMDBFVB.mjs +108 -0
  48. package/dist/lib/neutral/chunk-5SMDBFVB.mjs.map +7 -0
  49. package/dist/lib/neutral/chunk-5SUJPHAE.mjs +34 -0
  50. package/dist/lib/neutral/chunk-5SUJPHAE.mjs.map +7 -0
  51. package/dist/lib/neutral/chunk-6M2Z6WBH.mjs +93 -0
  52. package/dist/lib/neutral/chunk-6M2Z6WBH.mjs.map +7 -0
  53. package/dist/lib/neutral/chunk-6YDI3J37.mjs +346 -0
  54. package/dist/lib/neutral/chunk-6YDI3J37.mjs.map +7 -0
  55. package/dist/lib/neutral/chunk-7FPIAJIV.mjs +2279 -0
  56. package/dist/lib/neutral/chunk-7FPIAJIV.mjs.map +7 -0
  57. package/dist/lib/neutral/chunk-7LOUAPYZ.mjs +25 -0
  58. package/dist/lib/neutral/chunk-7LOUAPYZ.mjs.map +7 -0
  59. package/dist/lib/neutral/chunk-7PI7C4EF.mjs +747 -0
  60. package/dist/lib/neutral/chunk-7PI7C4EF.mjs.map +7 -0
  61. package/dist/lib/neutral/chunk-BBFJWWAV.mjs +51 -0
  62. package/dist/lib/neutral/chunk-BBFJWWAV.mjs.map +7 -0
  63. package/dist/lib/neutral/chunk-EVK6XBXO.mjs +56 -0
  64. package/dist/lib/neutral/chunk-EVK6XBXO.mjs.map +7 -0
  65. package/dist/lib/neutral/chunk-IGK6FN65.mjs +27 -0
  66. package/dist/lib/neutral/chunk-IGK6FN65.mjs.map +7 -0
  67. package/dist/lib/neutral/chunk-J5LGTIGS.mjs +10 -0
  68. package/dist/lib/neutral/chunk-J5LGTIGS.mjs.map +7 -0
  69. package/dist/lib/neutral/chunk-LWXVKPPW.mjs +281 -0
  70. package/dist/lib/neutral/chunk-LWXVKPPW.mjs.map +7 -0
  71. package/dist/lib/neutral/chunk-MZ7K3MLL.mjs +48 -0
  72. package/dist/lib/neutral/chunk-MZ7K3MLL.mjs.map +7 -0
  73. package/dist/lib/neutral/chunk-O6BH7EPN.mjs +94 -0
  74. package/dist/lib/neutral/chunk-O6BH7EPN.mjs.map +7 -0
  75. package/dist/lib/neutral/chunk-QQIYS74I.mjs +336 -0
  76. package/dist/lib/neutral/chunk-QQIYS74I.mjs.map +7 -0
  77. package/dist/lib/neutral/chunk-R5W6DXR4.mjs +678 -0
  78. package/dist/lib/neutral/chunk-R5W6DXR4.mjs.map +7 -0
  79. package/dist/lib/neutral/chunk-RIVWNMSF.mjs +41 -0
  80. package/dist/lib/neutral/chunk-RIVWNMSF.mjs.map +7 -0
  81. package/dist/lib/neutral/chunk-SBVFRTST.mjs +160 -0
  82. package/dist/lib/neutral/chunk-SBVFRTST.mjs.map +7 -0
  83. package/dist/lib/neutral/chunk-T6E37YIP.mjs +251 -0
  84. package/dist/lib/neutral/chunk-T6E37YIP.mjs.map +7 -0
  85. package/dist/lib/neutral/chunk-TFEWTY5A.mjs +428 -0
  86. package/dist/lib/neutral/chunk-TFEWTY5A.mjs.map +7 -0
  87. package/dist/lib/neutral/chunk-TYGKCRMK.mjs +437 -0
  88. package/dist/lib/neutral/chunk-TYGKCRMK.mjs.map +7 -0
  89. package/dist/lib/neutral/chunk-UUP46KUQ.mjs +205 -0
  90. package/dist/lib/neutral/chunk-UUP46KUQ.mjs.map +7 -0
  91. package/dist/lib/neutral/chunk-WISOH2XH.mjs +36 -0
  92. package/dist/lib/neutral/chunk-WISOH2XH.mjs.map +7 -0
  93. package/dist/lib/neutral/chunk-WTQJHC75.mjs +395 -0
  94. package/dist/lib/neutral/chunk-WTQJHC75.mjs.map +7 -0
  95. package/dist/lib/neutral/chunk-WU3GIANS.mjs +31 -0
  96. package/dist/lib/neutral/chunk-WU3GIANS.mjs.map +7 -0
  97. package/dist/lib/neutral/chunk-ZGNNFYHS.mjs +132 -0
  98. package/dist/lib/neutral/chunk-ZGNNFYHS.mjs.map +7 -0
  99. package/dist/lib/neutral/index.mjs +111 -0
  100. package/dist/lib/neutral/index.mjs.map +7 -0
  101. package/dist/lib/neutral/internal/index.mjs +539 -0
  102. package/dist/lib/neutral/internal/index.mjs.map +7 -0
  103. package/dist/lib/neutral/meta.json +1 -0
  104. package/dist/lib/neutral/testing/index.mjs +458 -0
  105. package/dist/lib/neutral/testing/index.mjs.map +7 -0
  106. package/dist/types/src/Annotation.d.ts +128 -0
  107. package/dist/types/src/Annotation.d.ts.map +1 -0
  108. package/dist/types/src/Annotation.test.d.ts +2 -0
  109. package/dist/types/src/Annotation.test.d.ts.map +1 -0
  110. package/dist/types/src/Collection.d.ts +15 -0
  111. package/dist/types/src/Collection.d.ts.map +1 -0
  112. package/dist/types/src/Database.d.ts +208 -0
  113. package/dist/types/src/Database.d.ts.map +1 -0
  114. package/dist/types/src/Dataset.d.ts +29 -0
  115. package/dist/types/src/Dataset.d.ts.map +1 -0
  116. package/dist/types/src/Entity.d.ts +247 -0
  117. package/dist/types/src/Entity.d.ts.map +1 -0
  118. package/dist/types/src/Entity.test.d.ts +2 -0
  119. package/dist/types/src/Entity.test.d.ts.map +1 -0
  120. package/dist/types/src/Err.d.ts +107 -0
  121. package/dist/types/src/Err.d.ts.map +1 -0
  122. package/dist/types/src/Feed.d.ts +229 -0
  123. package/dist/types/src/Feed.d.ts.map +1 -0
  124. package/dist/types/src/Filter.d.ts +175 -0
  125. package/dist/types/src/Filter.d.ts.map +1 -0
  126. package/dist/types/src/Filter.test.d.ts +2 -0
  127. package/dist/types/src/Filter.test.d.ts.map +1 -0
  128. package/dist/types/src/Format.d.ts +2 -0
  129. package/dist/types/src/Format.d.ts.map +1 -0
  130. package/dist/types/src/Hypergraph.d.ts +70 -0
  131. package/dist/types/src/Hypergraph.d.ts.map +1 -0
  132. package/dist/types/src/Json.d.ts +33 -0
  133. package/dist/types/src/Json.d.ts.map +1 -0
  134. package/dist/types/src/Json.test.d.ts +2 -0
  135. package/dist/types/src/Json.test.d.ts.map +1 -0
  136. package/dist/types/src/JsonSchema.d.ts +16 -0
  137. package/dist/types/src/JsonSchema.d.ts.map +1 -0
  138. package/dist/types/src/Key.d.ts +2 -1
  139. package/dist/types/src/Key.d.ts.map +1 -1
  140. package/dist/types/src/Migration.d.ts +72 -0
  141. package/dist/types/src/Migration.d.ts.map +1 -0
  142. package/dist/types/src/Obj.d.ts +514 -53
  143. package/dist/types/src/Obj.d.ts.map +1 -1
  144. package/dist/types/src/Obj.test.d.ts +2 -0
  145. package/dist/types/src/Obj.test.d.ts.map +1 -0
  146. package/dist/types/src/Order.d.ts +26 -0
  147. package/dist/types/src/Order.d.ts.map +1 -0
  148. package/dist/types/src/Query.d.ts +231 -0
  149. package/dist/types/src/Query.d.ts.map +1 -0
  150. package/dist/types/src/Query.test.d.ts +2 -0
  151. package/dist/types/src/Query.test.d.ts.map +1 -0
  152. package/dist/types/src/QueryResult.d.ts +101 -0
  153. package/dist/types/src/QueryResult.d.ts.map +1 -0
  154. package/dist/types/src/Ref.d.ts +69 -11
  155. package/dist/types/src/Ref.d.ts.map +1 -1
  156. package/dist/types/src/Registry.d.ts +131 -0
  157. package/dist/types/src/Registry.d.ts.map +1 -0
  158. package/dist/types/src/Relation.d.ts +323 -24
  159. package/dist/types/src/Relation.d.ts.map +1 -1
  160. package/dist/types/src/Relation.test.d.ts +2 -0
  161. package/dist/types/src/Relation.test.d.ts.map +1 -0
  162. package/dist/types/src/Scope.d.ts +35 -0
  163. package/dist/types/src/Scope.d.ts.map +1 -0
  164. package/dist/types/src/Tag.d.ts +34 -0
  165. package/dist/types/src/Tag.d.ts.map +1 -0
  166. package/dist/types/src/Type.d.ts +397 -107
  167. package/dist/types/src/Type.d.ts.map +1 -1
  168. package/dist/types/src/Type.test.d.ts +2 -0
  169. package/dist/types/src/Type.test.d.ts.map +1 -0
  170. package/dist/types/src/View.d.ts +65 -0
  171. package/dist/types/src/View.d.ts.map +1 -0
  172. package/dist/types/src/exemplars.test.d.ts +2 -0
  173. package/dist/types/src/exemplars.test.d.ts.map +1 -0
  174. package/dist/types/src/hierarchy.test.d.ts +2 -0
  175. package/dist/types/src/hierarchy.test.d.ts.map +1 -0
  176. package/dist/types/src/index.d.ts +22 -3
  177. package/dist/types/src/index.d.ts.map +1 -1
  178. package/dist/types/src/internal/Annotation/annotations.d.ts +272 -0
  179. package/dist/types/src/internal/Annotation/annotations.d.ts.map +1 -0
  180. package/dist/types/src/internal/Annotation/annotations.test.d.ts +2 -0
  181. package/dist/types/src/internal/Annotation/annotations.test.d.ts.map +1 -0
  182. package/dist/types/src/internal/Annotation/dictionary.d.ts +24 -0
  183. package/dist/types/src/internal/Annotation/dictionary.d.ts.map +1 -0
  184. package/dist/types/src/internal/Annotation/entity-dictionary.d.ts +14 -0
  185. package/dist/types/src/internal/Annotation/entity-dictionary.d.ts.map +1 -0
  186. package/dist/types/src/internal/Annotation/index.d.ts +6 -0
  187. package/dist/types/src/internal/Annotation/index.d.ts.map +1 -0
  188. package/dist/types/src/internal/Annotation/sorting.d.ts +24 -0
  189. package/dist/types/src/internal/Annotation/sorting.d.ts.map +1 -0
  190. package/dist/types/src/internal/Annotation/util.d.ts +48 -0
  191. package/dist/types/src/internal/Annotation/util.d.ts.map +1 -0
  192. package/dist/types/src/internal/Entity/api.d.ts +27 -0
  193. package/dist/types/src/internal/Entity/api.d.ts.map +1 -0
  194. package/dist/types/src/internal/Entity/entity.d.ts +84 -0
  195. package/dist/types/src/internal/Entity/entity.d.ts.map +1 -0
  196. package/dist/types/src/internal/Entity/guard.d.ts +10 -0
  197. package/dist/types/src/internal/Entity/guard.d.ts.map +1 -0
  198. package/dist/types/src/internal/Entity/index.d.ts +10 -0
  199. package/dist/types/src/internal/Entity/index.d.ts.map +1 -0
  200. package/dist/types/src/internal/Entity/model.d.ts +59 -0
  201. package/dist/types/src/internal/Entity/model.d.ts.map +1 -0
  202. package/dist/types/src/internal/Entity/object.d.ts +18 -0
  203. package/dist/types/src/internal/Entity/object.d.ts.map +1 -0
  204. package/dist/types/src/internal/Entity/relation.d.ts +58 -0
  205. package/dist/types/src/internal/Entity/relation.d.ts.map +1 -0
  206. package/dist/types/src/internal/Entity/type-kind.d.ts +24 -0
  207. package/dist/types/src/internal/Entity/type-kind.d.ts.map +1 -0
  208. package/dist/types/src/internal/Entity/type-uri.d.ts +24 -0
  209. package/dist/types/src/internal/Entity/type-uri.d.ts.map +1 -0
  210. package/dist/types/src/internal/Entity/util.d.ts +2 -0
  211. package/dist/types/src/internal/Entity/util.d.ts.map +1 -0
  212. package/dist/types/src/internal/Entity/version.d.ts +42 -0
  213. package/dist/types/src/internal/Entity/version.d.ts.map +1 -0
  214. package/dist/types/src/internal/Format/date.d.ts +63 -0
  215. package/dist/types/src/internal/Format/date.d.ts.map +1 -0
  216. package/dist/types/src/internal/Format/date.test.d.ts +2 -0
  217. package/dist/types/src/internal/Format/date.test.d.ts.map +1 -0
  218. package/dist/types/src/internal/Format/format.d.ts +33 -0
  219. package/dist/types/src/internal/Format/format.d.ts.map +1 -0
  220. package/dist/types/src/internal/Format/format.test.d.ts +2 -0
  221. package/dist/types/src/internal/Format/format.test.d.ts.map +1 -0
  222. package/dist/types/src/internal/Format/index.d.ts +8 -0
  223. package/dist/types/src/internal/Format/index.d.ts.map +1 -0
  224. package/dist/types/src/internal/Format/number.d.ts +31 -0
  225. package/dist/types/src/internal/Format/number.d.ts.map +1 -0
  226. package/dist/types/src/internal/Format/object.d.ts +37 -0
  227. package/dist/types/src/internal/Format/object.d.ts.map +1 -0
  228. package/dist/types/src/internal/Format/select.d.ts +13 -0
  229. package/dist/types/src/internal/Format/select.d.ts.map +1 -0
  230. package/dist/types/src/internal/Format/string.d.ts +42 -0
  231. package/dist/types/src/internal/Format/string.d.ts.map +1 -0
  232. package/dist/types/src/internal/Format/types.d.ts +72 -0
  233. package/dist/types/src/internal/Format/types.d.ts.map +1 -0
  234. package/dist/types/src/internal/JsonSchema/annotations.d.ts +19 -0
  235. package/dist/types/src/internal/JsonSchema/annotations.d.ts.map +1 -0
  236. package/dist/types/src/internal/JsonSchema/effect-schema.test.d.ts +2 -0
  237. package/dist/types/src/internal/JsonSchema/effect-schema.test.d.ts.map +1 -0
  238. package/dist/types/src/internal/JsonSchema/index.d.ts +5 -0
  239. package/dist/types/src/internal/JsonSchema/index.d.ts.map +1 -0
  240. package/dist/types/src/internal/JsonSchema/json-schema-normalize.d.ts +7 -0
  241. package/dist/types/src/internal/JsonSchema/json-schema-normalize.d.ts.map +1 -0
  242. package/dist/types/src/internal/JsonSchema/json-schema-type.d.ts +351 -0
  243. package/dist/types/src/internal/JsonSchema/json-schema-type.d.ts.map +1 -0
  244. package/dist/types/src/internal/JsonSchema/json-schema.d.ts +31 -0
  245. package/dist/types/src/internal/JsonSchema/json-schema.d.ts.map +1 -0
  246. package/dist/types/src/internal/JsonSchema/json-schema.test.d.ts +2 -0
  247. package/dist/types/src/internal/JsonSchema/json-schema.test.d.ts.map +1 -0
  248. package/dist/types/src/internal/Obj/atoms.d.ts +38 -0
  249. package/dist/types/src/internal/Obj/atoms.d.ts.map +1 -0
  250. package/dist/types/src/internal/Obj/clone.d.ts +8 -0
  251. package/dist/types/src/internal/Obj/clone.d.ts.map +1 -0
  252. package/dist/types/src/internal/Obj/common.d.ts +18 -0
  253. package/dist/types/src/internal/Obj/common.d.ts.map +1 -0
  254. package/dist/types/src/internal/Obj/create-object.d.ts +39 -0
  255. package/dist/types/src/internal/Obj/create-object.d.ts.map +1 -0
  256. package/dist/types/src/internal/Obj/create-object.test.d.ts +2 -0
  257. package/dist/types/src/internal/Obj/create-object.test.d.ts.map +1 -0
  258. package/dist/types/src/internal/Obj/deleted.d.ts +6 -0
  259. package/dist/types/src/internal/Obj/deleted.d.ts.map +1 -0
  260. package/dist/types/src/internal/Obj/index.d.ts +11 -0
  261. package/dist/types/src/internal/Obj/index.d.ts.map +1 -0
  262. package/dist/types/src/internal/Obj/inspect.d.ts +2 -0
  263. package/dist/types/src/internal/Obj/inspect.d.ts.map +1 -0
  264. package/dist/types/src/internal/Obj/json-serializer.d.ts +45 -0
  265. package/dist/types/src/internal/Obj/json-serializer.d.ts.map +1 -0
  266. package/dist/types/src/internal/Obj/json-serializer.test.d.ts +2 -0
  267. package/dist/types/src/internal/Obj/json-serializer.test.d.ts.map +1 -0
  268. package/dist/types/src/internal/Obj/schema-validator.d.ts +2 -0
  269. package/dist/types/src/internal/Obj/schema-validator.d.ts.map +1 -0
  270. package/dist/types/src/internal/Obj/schema-validator.test.d.ts +2 -0
  271. package/dist/types/src/internal/Obj/schema-validator.test.d.ts.map +1 -0
  272. package/dist/types/src/internal/Obj/set-value.d.ts +7 -0
  273. package/dist/types/src/internal/Obj/set-value.d.ts.map +1 -0
  274. package/dist/types/src/internal/Obj/set-value.test.d.ts +2 -0
  275. package/dist/types/src/internal/Obj/set-value.test.d.ts.map +1 -0
  276. package/dist/types/src/internal/Obj/snapshot.d.ts +6 -0
  277. package/dist/types/src/internal/Obj/snapshot.d.ts.map +1 -0
  278. package/dist/types/src/internal/Obj/typed-object.d.ts +25 -0
  279. package/dist/types/src/internal/Obj/typed-object.d.ts.map +1 -0
  280. package/dist/types/src/internal/Obj/typed-object.test.d.ts +2 -0
  281. package/dist/types/src/internal/Obj/typed-object.test.d.ts.map +1 -0
  282. package/dist/types/src/internal/Query/index.d.ts +2 -0
  283. package/dist/types/src/internal/Query/index.d.ts.map +1 -0
  284. package/dist/types/src/internal/Query/pretty.d.ts +10 -0
  285. package/dist/types/src/internal/Query/pretty.d.ts.map +1 -0
  286. package/dist/types/src/internal/Ref/atoms.d.ts +10 -0
  287. package/dist/types/src/internal/Ref/atoms.d.ts.map +1 -0
  288. package/dist/types/src/internal/Ref/index.d.ts +3 -0
  289. package/dist/types/src/internal/Ref/index.d.ts.map +1 -0
  290. package/dist/types/src/internal/Ref/ref-array.d.ts +21 -0
  291. package/dist/types/src/internal/Ref/ref-array.d.ts.map +1 -0
  292. package/dist/types/src/internal/Ref/ref.d.ts +262 -0
  293. package/dist/types/src/internal/Ref/ref.d.ts.map +1 -0
  294. package/dist/types/src/internal/Ref/ref.test.d.ts +2 -0
  295. package/dist/types/src/internal/Ref/ref.test.d.ts.map +1 -0
  296. package/dist/types/src/internal/Ref/utils.d.ts +8 -0
  297. package/dist/types/src/internal/Ref/utils.d.ts.map +1 -0
  298. package/dist/types/src/internal/Type/compose.d.ts +7 -0
  299. package/dist/types/src/internal/Type/compose.d.ts.map +1 -0
  300. package/dist/types/src/internal/Type/compose.test.d.ts +2 -0
  301. package/dist/types/src/internal/Type/compose.test.d.ts.map +1 -0
  302. package/dist/types/src/internal/Type/index.d.ts +3 -0
  303. package/dist/types/src/internal/Type/index.d.ts.map +1 -0
  304. package/dist/types/src/internal/Type/manipulation.d.ts +9 -0
  305. package/dist/types/src/internal/Type/manipulation.d.ts.map +1 -0
  306. package/dist/types/src/internal/Type/type-schema.d.ts +52 -0
  307. package/dist/types/src/internal/Type/type-schema.d.ts.map +1 -0
  308. package/dist/types/src/internal/common/api/index.d.ts +11 -0
  309. package/dist/types/src/internal/common/api/index.d.ts.map +1 -0
  310. package/dist/types/src/internal/common/api/meta.d.ts +45 -0
  311. package/dist/types/src/internal/common/api/meta.d.ts.map +1 -0
  312. package/dist/types/src/internal/common/index.d.ts +4 -0
  313. package/dist/types/src/internal/common/index.d.ts.map +1 -0
  314. package/dist/types/src/internal/common/proxy/change-context.d.ts +55 -0
  315. package/dist/types/src/internal/common/proxy/change-context.d.ts.map +1 -0
  316. package/dist/types/src/internal/common/proxy/change.test.d.ts +2 -0
  317. package/dist/types/src/internal/common/proxy/change.test.d.ts.map +1 -0
  318. package/dist/types/src/internal/common/proxy/define-hidden-property.d.ts +5 -0
  319. package/dist/types/src/internal/common/proxy/define-hidden-property.d.ts.map +1 -0
  320. package/dist/types/src/internal/common/proxy/errors.d.ts +19 -0
  321. package/dist/types/src/internal/common/proxy/errors.d.ts.map +1 -0
  322. package/dist/types/src/internal/common/proxy/event-batch.d.ts +10 -0
  323. package/dist/types/src/internal/common/proxy/event-batch.d.ts.map +1 -0
  324. package/dist/types/src/internal/common/proxy/handler.test.d.ts +2 -0
  325. package/dist/types/src/internal/common/proxy/handler.test.d.ts.map +1 -0
  326. package/dist/types/src/internal/common/proxy/index.d.ts +14 -0
  327. package/dist/types/src/internal/common/proxy/index.d.ts.map +1 -0
  328. package/dist/types/src/internal/common/proxy/json-serializer.d.ts +6 -0
  329. package/dist/types/src/internal/common/proxy/json-serializer.d.ts.map +1 -0
  330. package/dist/types/src/internal/common/proxy/make-object.d.ts +20 -0
  331. package/dist/types/src/internal/common/proxy/make-object.d.ts.map +1 -0
  332. package/dist/types/src/internal/common/proxy/ownership.d.ts +57 -0
  333. package/dist/types/src/internal/common/proxy/ownership.d.ts.map +1 -0
  334. package/dist/types/src/internal/common/proxy/proxy-types.d.ts +18 -0
  335. package/dist/types/src/internal/common/proxy/proxy-types.d.ts.map +1 -0
  336. package/dist/types/src/internal/common/proxy/proxy-utils.d.ts +47 -0
  337. package/dist/types/src/internal/common/proxy/proxy-utils.d.ts.map +1 -0
  338. package/dist/types/src/internal/common/proxy/reactive-array.d.ts +8 -0
  339. package/dist/types/src/internal/common/proxy/reactive-array.d.ts.map +1 -0
  340. package/dist/types/src/internal/common/proxy/reactive.d.ts +39 -0
  341. package/dist/types/src/internal/common/proxy/reactive.d.ts.map +1 -0
  342. package/dist/types/src/internal/common/proxy/reactive.test.d.ts +2 -0
  343. package/dist/types/src/internal/common/proxy/reactive.test.d.ts.map +1 -0
  344. package/dist/types/src/internal/common/proxy/schema-validator.d.ts +15 -0
  345. package/dist/types/src/internal/common/proxy/schema-validator.d.ts.map +1 -0
  346. package/dist/types/src/internal/common/proxy/schema.test.d.ts +2 -0
  347. package/dist/types/src/internal/common/proxy/schema.test.d.ts.map +1 -0
  348. package/dist/types/src/internal/common/proxy/symbols.d.ts +3 -0
  349. package/dist/types/src/internal/common/proxy/symbols.d.ts.map +1 -0
  350. package/dist/types/src/internal/common/proxy/typed-handler.d.ts +64 -0
  351. package/dist/types/src/internal/common/proxy/typed-handler.d.ts.map +1 -0
  352. package/dist/types/src/internal/common/proxy/typed-handler.test.d.ts +2 -0
  353. package/dist/types/src/internal/common/proxy/typed-handler.test.d.ts.map +1 -0
  354. package/dist/types/src/internal/common/proxy/typed-object.test.d.ts +2 -0
  355. package/dist/types/src/internal/common/proxy/typed-object.test.d.ts.map +1 -0
  356. package/dist/types/src/internal/common/types/base.d.ts +27 -0
  357. package/dist/types/src/internal/common/types/base.d.ts.map +1 -0
  358. package/dist/types/src/internal/common/types/entity.d.ts +94 -0
  359. package/dist/types/src/internal/common/types/entity.d.ts.map +1 -0
  360. package/dist/types/src/internal/common/types/index.d.ts +7 -0
  361. package/dist/types/src/internal/common/types/index.d.ts.map +1 -0
  362. package/dist/types/src/internal/common/types/meta.d.ts +54 -0
  363. package/dist/types/src/internal/common/types/meta.d.ts.map +1 -0
  364. package/dist/types/src/internal/common/types/model-symbols.d.ts +65 -0
  365. package/dist/types/src/internal/common/types/model-symbols.d.ts.map +1 -0
  366. package/dist/types/src/internal/common/types/typename.d.ts +28 -0
  367. package/dist/types/src/internal/common/types/typename.d.ts.map +1 -0
  368. package/dist/types/src/internal/common/types/version.d.ts +15 -0
  369. package/dist/types/src/internal/common/types/version.d.ts.map +1 -0
  370. package/dist/types/src/internal/common/types/well-known-types.d.ts +11 -0
  371. package/dist/types/src/internal/common/types/well-known-types.d.ts.map +1 -0
  372. package/dist/types/src/internal/index.d.ts +11 -0
  373. package/dist/types/src/internal/index.d.ts.map +1 -0
  374. package/dist/types/src/{test → testing}/api.test.d.ts.map +1 -1
  375. package/dist/types/src/testing/index.d.ts +4 -1
  376. package/dist/types/src/testing/index.d.ts.map +1 -1
  377. package/dist/types/src/testing/registry.d.ts +9 -0
  378. package/dist/types/src/testing/registry.d.ts.map +1 -0
  379. package/dist/types/src/testing/test-data.d.ts +18 -0
  380. package/dist/types/src/testing/test-data.d.ts.map +1 -0
  381. package/dist/types/src/testing/test-schema.d.ts +298 -0
  382. package/dist/types/src/testing/test-schema.d.ts.map +1 -0
  383. package/dist/types/src/testing/util.d.ts +23 -0
  384. package/dist/types/src/testing/util.d.ts.map +1 -0
  385. package/dist/types/tsconfig.tsbuildinfo +1 -1
  386. package/package.json +122 -57
  387. package/src/Annotation.test.ts +439 -0
  388. package/src/Annotation.ts +202 -0
  389. package/src/Collection.ts +33 -0
  390. package/src/Database.ts +345 -0
  391. package/src/Dataset.ts +34 -0
  392. package/src/Entity.test.ts +132 -0
  393. package/src/Entity.ts +345 -0
  394. package/src/Err.ts +40 -0
  395. package/src/Feed.ts +352 -0
  396. package/src/Filter.test.ts +90 -0
  397. package/src/Filter.ts +484 -0
  398. package/src/Format.ts +5 -0
  399. package/src/Hypergraph.ts +84 -0
  400. package/src/Json.test.ts +175 -0
  401. package/src/Json.ts +103 -0
  402. package/src/JsonSchema.ts +26 -0
  403. package/src/Key.ts +4 -1
  404. package/src/Migration.ts +114 -0
  405. package/src/Obj.test.ts +641 -0
  406. package/src/Obj.ts +836 -105
  407. package/src/Order.ts +68 -0
  408. package/src/Query.test.ts +835 -0
  409. package/src/Query.ts +634 -0
  410. package/src/QueryResult.ts +132 -0
  411. package/src/Ref.ts +97 -10
  412. package/src/Registry.ts +155 -0
  413. package/src/Relation.test.ts +88 -0
  414. package/src/Relation.ts +508 -61
  415. package/src/Scope.ts +50 -0
  416. package/src/Tag.md +88 -0
  417. package/src/Tag.ts +84 -0
  418. package/src/Type.test.ts +257 -0
  419. package/src/Type.ts +643 -152
  420. package/src/View.ts +98 -0
  421. package/src/exemplars.test.ts +21 -0
  422. package/src/hierarchy.test.ts +33 -0
  423. package/src/index.ts +24 -4
  424. package/src/internal/Annotation/annotations.test.ts +165 -0
  425. package/src/internal/Annotation/annotations.ts +609 -0
  426. package/src/internal/Annotation/dictionary.ts +47 -0
  427. package/src/internal/Annotation/entity-dictionary.ts +74 -0
  428. package/src/internal/Annotation/index.ts +9 -0
  429. package/src/internal/Annotation/sorting.ts +51 -0
  430. package/src/internal/Annotation/util.ts +94 -0
  431. package/src/internal/Entity/api.ts +77 -0
  432. package/src/internal/Entity/entity.ts +277 -0
  433. package/src/internal/Entity/guard.ts +26 -0
  434. package/src/internal/Entity/index.ts +13 -0
  435. package/src/internal/Entity/model.ts +119 -0
  436. package/src/internal/Entity/object.ts +73 -0
  437. package/src/internal/Entity/relation.ts +188 -0
  438. package/src/internal/Entity/type-kind.ts +75 -0
  439. package/src/internal/Entity/type-uri.ts +92 -0
  440. package/src/internal/Entity/util.ts +33 -0
  441. package/src/internal/Entity/version.ts +96 -0
  442. package/src/internal/Format/date.test.ts +55 -0
  443. package/src/internal/Format/date.ts +213 -0
  444. package/src/internal/Format/format.test.ts +97 -0
  445. package/src/internal/Format/format.ts +54 -0
  446. package/src/internal/Format/index.ts +11 -0
  447. package/src/internal/Format/number.ts +89 -0
  448. package/src/internal/Format/object.ts +97 -0
  449. package/src/internal/Format/select.ts +18 -0
  450. package/src/internal/Format/string.ts +81 -0
  451. package/src/internal/Format/types.ts +186 -0
  452. package/src/internal/JsonSchema/annotations.ts +50 -0
  453. package/src/internal/JsonSchema/effect-schema.test.ts +143 -0
  454. package/src/internal/JsonSchema/index.ts +8 -0
  455. package/src/internal/JsonSchema/json-schema-normalize.ts +111 -0
  456. package/src/internal/JsonSchema/json-schema-type.ts +403 -0
  457. package/src/internal/JsonSchema/json-schema.test.ts +786 -0
  458. package/src/internal/JsonSchema/json-schema.ts +547 -0
  459. package/src/internal/Obj/atoms.ts +244 -0
  460. package/src/internal/Obj/clone.ts +53 -0
  461. package/src/internal/Obj/common.ts +75 -0
  462. package/src/internal/Obj/create-object.test.ts +116 -0
  463. package/src/internal/Obj/create-object.ts +140 -0
  464. package/src/internal/Obj/deleted.ts +19 -0
  465. package/src/internal/Obj/index.ts +14 -0
  466. package/src/internal/Obj/inspect.ts +48 -0
  467. package/src/internal/Obj/json-serializer.test.ts +199 -0
  468. package/src/internal/Obj/json-serializer.ts +278 -0
  469. package/src/internal/Obj/schema-validator.test.ts +182 -0
  470. package/src/internal/Obj/schema-validator.ts +6 -0
  471. package/src/internal/Obj/set-value.test.ts +258 -0
  472. package/src/internal/Obj/set-value.ts +158 -0
  473. package/src/internal/Obj/snapshot.ts +114 -0
  474. package/src/internal/Obj/typed-object.test.ts +32 -0
  475. package/src/internal/Obj/typed-object.ts +30 -0
  476. package/src/{query → internal/Query}/index.ts +1 -1
  477. package/src/internal/Query/pretty.ts +162 -0
  478. package/src/internal/Ref/atoms.ts +20 -0
  479. package/src/internal/Ref/index.ts +6 -0
  480. package/src/internal/Ref/ref-array.ts +38 -0
  481. package/src/internal/Ref/ref.test.ts +91 -0
  482. package/src/internal/Ref/ref.ts +650 -0
  483. package/src/internal/Ref/utils.ts +45 -0
  484. package/src/internal/Type/compose.test.ts +43 -0
  485. package/src/internal/Type/compose.ts +41 -0
  486. package/src/internal/Type/index.ts +6 -0
  487. package/src/internal/Type/manipulation.ts +67 -0
  488. package/src/internal/Type/type-schema.ts +60 -0
  489. package/src/internal/common/README.md +102 -0
  490. package/src/internal/common/api/index.ts +15 -0
  491. package/src/internal/common/api/meta.ts +90 -0
  492. package/src/internal/common/index.ts +7 -0
  493. package/src/internal/common/proxy/change-context.ts +138 -0
  494. package/src/internal/common/proxy/change.test.ts +527 -0
  495. package/src/internal/common/proxy/define-hidden-property.ts +14 -0
  496. package/src/internal/common/proxy/errors.ts +42 -0
  497. package/src/internal/common/proxy/event-batch.ts +44 -0
  498. package/src/internal/common/proxy/handler.test.ts +121 -0
  499. package/src/internal/common/proxy/index.ts +17 -0
  500. package/src/internal/common/proxy/json-serializer.ts +101 -0
  501. package/src/internal/common/proxy/make-object.ts +129 -0
  502. package/src/internal/common/proxy/ownership.ts +252 -0
  503. package/src/internal/common/proxy/proxy-types.ts +23 -0
  504. package/src/internal/common/proxy/proxy-utils.ts +150 -0
  505. package/src/internal/common/proxy/reactive-array.ts +71 -0
  506. package/src/internal/common/proxy/reactive.test.ts +54 -0
  507. package/src/internal/common/proxy/reactive.ts +77 -0
  508. package/src/internal/common/proxy/schema-validator.ts +244 -0
  509. package/src/internal/common/proxy/schema.test.ts +107 -0
  510. package/src/internal/common/proxy/symbols.ts +7 -0
  511. package/src/internal/common/proxy/typed-handler.test.ts +314 -0
  512. package/src/internal/common/proxy/typed-handler.ts +509 -0
  513. package/src/internal/common/proxy/typed-object.test.ts +103 -0
  514. package/src/internal/common/types/base.ts +43 -0
  515. package/src/internal/common/types/entity.ts +133 -0
  516. package/src/internal/common/types/index.ts +15 -0
  517. package/src/internal/common/types/meta.ts +109 -0
  518. package/src/internal/common/types/model-symbols.ts +89 -0
  519. package/src/internal/common/types/typename.ts +91 -0
  520. package/src/internal/common/types/version.ts +19 -0
  521. package/src/internal/common/types/well-known-types.ts +15 -0
  522. package/src/internal/index.ts +19 -0
  523. package/src/testing/api.test.ts +131 -0
  524. package/src/testing/index.ts +4 -1
  525. package/src/testing/registry.ts +44 -0
  526. package/src/testing/test-data.ts +189 -0
  527. package/src/testing/test-schema.ts +204 -0
  528. package/src/testing/util.ts +88 -0
  529. package/dist/lib/browser/chunk-NLPBTYZV.mjs +0 -647
  530. package/dist/lib/browser/chunk-NLPBTYZV.mjs.map +0 -7
  531. package/dist/lib/browser/index.mjs +0 -22
  532. package/dist/lib/browser/meta.json +0 -1
  533. package/dist/lib/browser/testing/index.mjs +0 -70
  534. package/dist/lib/browser/testing/index.mjs.map +0 -7
  535. package/dist/lib/node-esm/chunk-BQZZRMFX.mjs +0 -647
  536. package/dist/lib/node-esm/chunk-BQZZRMFX.mjs.map +0 -7
  537. package/dist/lib/node-esm/index.mjs +0 -22
  538. package/dist/lib/node-esm/meta.json +0 -1
  539. package/dist/lib/node-esm/testing/index.mjs +0 -70
  540. package/dist/lib/node-esm/testing/index.mjs.map +0 -7
  541. package/dist/types/src/experimental/database.d.ts +0 -8
  542. package/dist/types/src/experimental/database.d.ts.map +0 -1
  543. package/dist/types/src/experimental/index.d.ts +0 -1
  544. package/dist/types/src/experimental/index.d.ts.map +0 -1
  545. package/dist/types/src/experimental/queue.d.ts +0 -8
  546. package/dist/types/src/experimental/queue.d.ts.map +0 -1
  547. package/dist/types/src/experimental/space.d.ts +0 -8
  548. package/dist/types/src/experimental/space.d.ts.map +0 -1
  549. package/dist/types/src/query/dsl.d.ts +0 -218
  550. package/dist/types/src/query/dsl.d.ts.map +0 -1
  551. package/dist/types/src/query/dsl.test.d.ts +0 -2
  552. package/dist/types/src/query/dsl.test.d.ts.map +0 -1
  553. package/dist/types/src/query/index.d.ts +0 -2
  554. package/dist/types/src/query/index.d.ts.map +0 -1
  555. package/dist/types/src/testing/types.d.ts +0 -113
  556. package/dist/types/src/testing/types.d.ts.map +0 -1
  557. package/src/experimental/database.ts +0 -11
  558. package/src/experimental/index.ts +0 -7
  559. package/src/experimental/queue.ts +0 -11
  560. package/src/experimental/space.ts +0 -11
  561. package/src/query/dsl.test.ts +0 -324
  562. package/src/query/dsl.ts +0 -646
  563. package/src/test/api.test.ts +0 -173
  564. package/src/testing/types.ts +0 -91
  565. /package/dist/lib/{browser/index.mjs.map → neutral/Annotation.mjs.map} +0 -0
  566. /package/dist/lib/{node-esm/index.mjs.map → neutral/Database.mjs.map} +0 -0
  567. /package/dist/types/src/{test → testing}/api.test.d.ts +0 -0
@@ -0,0 +1,84 @@
1
+ import * as Schema from 'effect/Schema';
2
+ import type * as Types from 'effect/Types';
3
+ import { DXN, EntityId } from '@dxos/keys';
4
+ import { type ToMutable } from '@dxos/util';
5
+ import { type AnyEntity, EntityKind, InstancePhantomId, KindId, SchemaKindId, StaticTypeSchemaSlot } from '../common/types';
6
+ import { JsonSchemaType } from '../JsonSchema/json-schema-type';
7
+ export type EchoTypeSchemaProps<T, ExtraFields = {}> = Types.Simplify<AnyEntity & ToMutable<T> & ExtraFields>;
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 = {
14
+ /**
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.
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. */
41
+ readonly [SchemaKindId]: K;
42
+ /**
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).
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. */
53
+ readonly fields: Fields;
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
+ } : {});
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';
84
+ //# sourceMappingURL=entity.d.ts.map
@@ -0,0 +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,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"}
@@ -0,0 +1,10 @@
1
+ export * from './api';
2
+ export * from './entity';
3
+ export * from './model';
4
+ export * from './object';
5
+ export * from './relation';
6
+ export * from './type-kind';
7
+ export * from './type-uri';
8
+ export * from './util';
9
+ export * from './version';
10
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +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,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,QAAQ,CAAC;AACvB,cAAc,WAAW,CAAC"}
@@ -0,0 +1,59 @@
1
+ import type * as Schema from 'effect/Schema';
2
+ import { type ForeignKey } from '@dxos/echo-protocol';
3
+ import { EID, EntityId, type URI } from '@dxos/keys';
4
+ import type * as Database from '../../Database';
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 EntityMeta } from '../common/types/meta';
7
+ import { type MetaId } from '../common/types/model-symbols';
8
+ export { ATTR_DELETED, ATTR_SELF_URI, ATTR_SELF_URI_LEGACY, ObjectDatabaseId, ObjectDeletedId, ObjectVersionId, SelfURIId, };
9
+ /**
10
+ * Internal runtime representation of an object.
11
+ * The fields are accessed through getter functions.
12
+ */
13
+ export interface InternalObjectProps {
14
+ readonly id: EntityId;
15
+ readonly [SelfURIId]: EID.EID;
16
+ readonly [KindId]: EntityKind;
17
+ readonly [SchemaId]: Schema.Schema.AnyNoContext;
18
+ readonly [TypeId]: URI.URI;
19
+ readonly [MetaId]?: EntityMeta;
20
+ [ParentId]?: InternalObjectProps;
21
+ readonly [ObjectDatabaseId]?: Database.Database;
22
+ readonly [ObjectDeletedId]?: boolean;
23
+ readonly [ObjectVersionId]?: Version;
24
+ readonly [RelationSourceDXNId]?: EID.EID;
25
+ readonly [RelationTargetDXNId]?: EID.EID;
26
+ readonly [RelationSourceId]?: InternalObjectProps;
27
+ readonly [RelationTargetId]?: InternalObjectProps;
28
+ }
29
+ /**
30
+ * Entity metadata.
31
+ */
32
+ export interface EntityMetaJSON {
33
+ keys: ForeignKey[];
34
+ tags?: string[];
35
+ key?: string;
36
+ version?: string;
37
+ }
38
+ /**
39
+ * JSON representation of an object or relation metadata.
40
+ */
41
+ export interface ObjectJSON {
42
+ id: EntityId;
43
+ [ATTR_TYPE]?: URI.URI;
44
+ [ATTR_SELF_URI]?: EID.EID;
45
+ [ATTR_PARENT]?: EID.EID;
46
+ [ATTR_DELETED]?: boolean;
47
+ [ATTR_META]?: EntityMetaJSON;
48
+ [ATTR_RELATION_SOURCE]?: EID.EID;
49
+ [ATTR_RELATION_TARGET]?: EID.EID;
50
+ /**
51
+ * Application-specific properties.
52
+ */
53
+ [key: string]: unknown;
54
+ }
55
+ /**
56
+ * NOTE: Keep as `function` to avoid type inference issues.
57
+ */
58
+ export declare function assertObjectModel(obj: unknown): asserts obj is InternalObjectProps;
59
+ //# sourceMappingURL=model.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"model.d.ts","sourceRoot":"","sources":["../../../../../src/internal/Entity/model.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,18 @@
1
+ import * as Schema from 'effect/Schema';
2
+ import { DXN } from '@dxos/keys';
3
+ import { EntityKind } from '../common/types';
4
+ import { type EchoTypeOptions, type EchoTypeSchema } from './entity';
5
+ /**
6
+ * Object schema type with kind marker.
7
+ */
8
+ export type EchoObjectSchema<Self extends Schema.Schema.Any, Fields extends Schema.Struct.Fields = Schema.Struct.Fields> = EchoTypeSchema<Self, {}, EntityKind.Object, Fields>;
9
+ /**
10
+ * Schema for Obj entity types.
11
+ * Pipeable function to add ECHO object annotations to a schema.
12
+ */
13
+ export declare const EchoObjectSchema: {
14
+ (dxn: DXN.DXN, options?: EchoTypeOptions): <Self extends Schema.Schema.Any, Fields extends Schema.Struct.Fields = Schema.Struct.Fields>(self: Self & {
15
+ fields?: Fields;
16
+ }) => EchoObjectSchema<Self, Fields>;
17
+ };
18
+ //# sourceMappingURL=object.d.ts.map
@@ -0,0 +1 @@
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"}
@@ -0,0 +1,58 @@
1
+ import * as Schema from 'effect/Schema';
2
+ import { DXN, type EntityId } from '@dxos/keys';
3
+ import type * as Obj from '../../Obj';
4
+ import type * as Type from '../../Type';
5
+ import { ATTR_RELATION_SOURCE, ATTR_RELATION_TARGET, EntityKind, RelationSourceDXNId, RelationSourceId, RelationTargetDXNId, RelationTargetId, type UnknownTypeSchema } from '../common/types';
6
+ export { ATTR_RELATION_SOURCE, ATTR_RELATION_TARGET, RelationSourceDXNId, RelationSourceId, RelationTargetDXNId, RelationTargetId, };
7
+ import { type EchoTypeSchema } from './entity';
8
+ /**
9
+ * Source and target props on relations.
10
+ */
11
+ export type RelationSourceTargetRefs<Source = any, Target = any> = {
12
+ /**
13
+ * Source ECHO live object.
14
+ */
15
+ [RelationSourceId]: Source;
16
+ /**
17
+ * Target ECHO live object.
18
+ */
19
+ [RelationTargetId]: Target;
20
+ };
21
+ export type RelationSource<R> = R extends RelationSourceTargetRefs<infer Source, infer _Target> ? Source : never;
22
+ export type RelationTarget<R> = R extends RelationSourceTargetRefs<infer _Source, infer Target> ? Target : never;
23
+ /**
24
+ * Accepted relation endpoint: an object-kind `Type.Type` entity (slot-backed)
25
+ * or the branded `Obj.Unknown` schema. Source/target are constrained to these
26
+ * — relations only connect object-kind entities.
27
+ */
28
+ export type RelationEndpoint = Type.AnyObj | UnknownTypeSchema<any, EntityKind.Object>;
29
+ /**
30
+ * Resolves a relation endpoint to the instance type it describes — the source /
31
+ * target instance recorded on the relation's `RelationSourceTargetRefs`.
32
+ */
33
+ export type RelationEndpointInstance<S> = S extends UnknownTypeSchema<infer A, any> ? A : S extends Type.AnyObj ? Type.InstanceType<S> : unknown;
34
+ export type EchoRelationSchemaOptions<TSource extends RelationEndpoint, TTarget extends RelationEndpoint> = {
35
+ dxn: DXN.DXN;
36
+ source: TSource;
37
+ target: TTarget;
38
+ /**
39
+ * Override the entity id stamped on the in-memory `Type.Type` value.
40
+ *
41
+ * Defaults to `EntityId.deterministic(typename, version)` — stable across processes
42
+ * and workerd-safe (no `crypto.getRandomValues()` at module-evaluation time).
43
+ */
44
+ id?: EntityId;
45
+ };
46
+ /**
47
+ * Relation schema type with kind marker. `SourceInstance` / `TargetInstance`
48
+ * are the resolved endpoint instance types (see {@link RelationEndpointInstance}).
49
+ */
50
+ export type EchoRelationSchema<Self extends Schema.Schema.Any, SourceInstance extends Obj.Unknown, TargetInstance extends Obj.Unknown, Fields extends Schema.Struct.Fields = Schema.Struct.Fields> = EchoTypeSchema<Self, RelationSourceTargetRefs<SourceInstance, TargetInstance>, EntityKind.Relation, Fields>;
51
+ /**
52
+ * Schema for Relation entity types.
53
+ */
54
+ export declare const EchoRelationSchema: <Source extends RelationEndpoint, Target extends RelationEndpoint>({ dxn, source, target, id: explicitId, }: EchoRelationSchemaOptions<Source, Target>) => <Self extends Schema.Schema.Any, Fields extends Schema.Struct.Fields = Schema.Struct.Fields>(self: Self & {
55
+ fields?: Fields;
56
+ }) => EchoRelationSchema<Self, RelationEndpointInstance<Source>, RelationEndpointInstance<Target>, Fields>;
57
+ export declare const getDXNForRelationSchemaRef: (schema: Schema.Schema.Any) => DXN.DXN;
58
+ //# sourceMappingURL=relation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"relation.d.ts","sourceRoot":"","sources":["../../../../../src/internal/Entity/relation.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,24 @@
1
+ import * as Schema from 'effect/Schema';
2
+ import { DXN } from '@dxos/keys';
3
+ import { EntityKind } from '../common/types';
4
+ import { type EchoTypeOptions, type EchoTypeSchema } from './entity';
5
+ /**
6
+ * Type-kind schema marker — produced by {@link EchoTypeKindSchema}.
7
+ *
8
+ * Distinguishes meta-schemas (entities of `EntityKind.Type`, such as the
9
+ * built-in `Type.Type` TypeSchema) from object and relation types.
10
+ */
11
+ export type EchoTypeKindSchema<Self extends Schema.Schema.Any, Fields extends Schema.Struct.Fields = Schema.Struct.Fields> = EchoTypeSchema<Self, {}, EntityKind.Type, Fields>;
12
+ /**
13
+ * Pipeable that brands a schema as a type-kind ECHO entity. Mirrors
14
+ * {@link EchoObjectSchema} / {@link EchoRelationSchema}, but stamps the
15
+ * resulting entity with `[SchemaKindId]: EntityKind.Type` and a matching
16
+ * `TypeAnnotation.kind = 'type'` so meta-schemas surface uniformly through
17
+ * `Type.isTypeKind`, `Filter.type`, etc.
18
+ */
19
+ export declare const EchoTypeKindSchema: {
20
+ (dxn: DXN.DXN, options?: EchoTypeOptions): <Self extends Schema.Schema.Any, Fields extends Schema.Struct.Fields = Schema.Struct.Fields>(self: Self & {
21
+ fields?: Fields;
22
+ }) => EchoTypeKindSchema<Self, Fields>;
23
+ };
24
+ //# sourceMappingURL=type-kind.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"type-kind.d.ts","sourceRoot":"","sources":["../../../../../src/internal/Entity/type-kind.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;;;;;GAKG;AACH,MAAM,MAAM,kBAAkB,CAC5B,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,IAAI,EAAE,MAAM,CAAC,CAAC;AAEtD;;;;;;GAMG;AACH,eAAO,MAAM,kBAAkB,EAAE;IAC/B,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,kBAAkB,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;CAkCvC,CAAC"}
@@ -0,0 +1,24 @@
1
+ import * as Schema from 'effect/Schema';
2
+ import { URI } from '@dxos/keys';
3
+ import { type AnyEntity, InstancePhantomId } from '../common/types';
4
+ /**
5
+ * @param input schema, `Type.Type` entity, or a type URI (an `echo:` EID or a `dxn:` DXN).
6
+ * @return type identifier URI — see {@link getSchemaURI}. A URI is returned verbatim. For a
7
+ * `Type.Type` entity, the URI of the schema it declares, symmetric with what
8
+ * `Obj.make(typeEntity, ...)` stamps on `system.type`: a static declaration resolves to its
9
+ * typename DXN, a persisted entity to its local `echo:/<objectId>`.
10
+ */
11
+ export declare const getTypeURIFromSpecifier: (input: Schema.Schema.All | AnyEntity | URI.URI) => URI.URI;
12
+ /**
13
+ * Checks if the object is an instance of the schema.
14
+ * Only typename is compared, the schema version is ignored.
15
+ *
16
+ * The following cases are considered to mean that the object is an instance of the schema:
17
+ * - Object was created with this exact schema.
18
+ * - Object was created with a different version of this schema.
19
+ * - Object was created with a different schema (maybe dynamic) that has the same typename.
20
+ */
21
+ export declare const isInstanceOf: <S>(schemaOrType: S extends Schema.Schema.AnyNoContext ? S : Schema.Schema.AnyNoContext | AnyEntity, object: any) => object is S extends Schema.Schema.AnyNoContext ? Schema.Schema.Type<S> : S extends {
22
+ readonly [InstancePhantomId]?: infer A;
23
+ } ? A : unknown;
24
+ //# sourceMappingURL=type-uri.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"type-uri.d.ts","sourceRoot":"","sources":["../../../../../src/internal/Entity/type-uri.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAIxC,OAAO,EAAY,GAAG,EAAE,MAAM,YAAY,CAAC;AAG3C,OAAO,EAAE,KAAK,SAAS,EAAE,iBAAiB,EAAuC,MAAM,iBAAiB,CAAC;AAGzG;;;;;;GAMG;AACH,eAAO,MAAM,uBAAuB,UAAW,MAAM,CAAC,MAAM,CAAC,GAAG,GAAG,SAAS,GAAG,GAAG,CAAC,GAAG,KAAG,GAAG,CAAC,GAyB5F,CAAC;AAEF;;;;;;;;GAQG;AAEH,eAAO,MAAM,YAAY,GAAI,CAAC,gBACd,CAAC,SAAS,MAAM,CAAC,MAAM,CAAC,YAAY,GAAG,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,YAAY,GAAG,SAAS,UACvF,GAAG,KACV,MAAM,IAAI,CAAC,SAAS,MAAM,CAAC,MAAM,CAAC,YAAY,GAC7C,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,GACrB,CAAC,SAAS;IAAE,QAAQ,CAAC,CAAC,iBAAiB,CAAC,CAAC,EAAE,MAAM,CAAC,CAAA;CAAE,GAClD,CAAC,GACD,OA0BL,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=util.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"util.d.ts","sourceRoot":"","sources":["../../../../../src/internal/Entity/util.ts"],"names":[],"mappings":""}
@@ -0,0 +1,42 @@
1
+ import { type AnyEntity, VersionTypeId } from '../common/types';
2
+ /**
3
+ * Represent entity version.
4
+ * May be backed by Automerge.
5
+ * Entities with no history are not versioned.
6
+ * Named EntityVersion to avoid conflict with types/version.ts.
7
+ */
8
+ export interface EntityVersion {
9
+ [VersionTypeId]: {};
10
+ /**
11
+ * Whether the entity is versioned.
12
+ */
13
+ versioned: boolean;
14
+ /**
15
+ * Automerge heads.
16
+ */
17
+ automergeHeads?: string[];
18
+ }
19
+ /**
20
+ * Checks that `obj` is a version object.
21
+ */
22
+ export declare const isVersion: (entity: unknown) => entity is EntityVersion;
23
+ /**
24
+ * Returns the version of an entity.
25
+ * Accepts both reactive entities and snapshots.
26
+ */
27
+ export declare const version: (entity: AnyEntity) => EntityVersion;
28
+ /**
29
+ * Checks that `version` is a valid version object.
30
+ */
31
+ export declare const versionValid: (ver: EntityVersion) => boolean;
32
+ export type VersionCompareResult = 'unversioned' | 'equal' | 'different';
33
+ /**
34
+ * Compares two versions.
35
+ * @param version1
36
+ * @param version2
37
+ * @returns 'unversioned' if either entity is unversioned, 'equal' if the versions are equal, 'different' if the versions are different.
38
+ */
39
+ export declare const compareVersions: (version1: EntityVersion, version2: EntityVersion) => VersionCompareResult;
40
+ export declare const encodeVersion: (ver: EntityVersion) => string;
41
+ export declare const decodeVersion: (ver: string) => EntityVersion;
42
+ //# sourceMappingURL=version.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"version.d.ts","sourceRoot":"","sources":["../../../../../src/internal/Entity/version.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,KAAK,SAAS,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAGhE;;;;;GAKG;AACH,MAAM,WAAW,aAAa;IAC5B,CAAC,aAAa,CAAC,EAAE,EAAE,CAAC;IAEpB;;OAEG;IACH,SAAS,EAAE,OAAO,CAAC;IAEnB;;OAEG;IACH,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;CAC3B;AAOD;;GAEG;AACH,eAAO,MAAM,SAAS,WAAY,OAAO,KAAG,MAAM,IAAI,aAErD,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,OAAO,WAAY,SAAS,KAAG,aAM3C,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,YAAY,QAAS,aAAa,KAAG,OAGjD,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG,aAAa,GAAG,OAAO,GAAG,WAAW,CAAC;AAEzE;;;;;GAKG;AACH,eAAO,MAAM,eAAe,aAAc,aAAa,YAAY,aAAa,KAAG,oBAgBlF,CAAC;AAEF,eAAO,MAAM,aAAa,QAAS,aAAa,KAAG,MAElD,CAAC;AAEF,eAAO,MAAM,aAAa,QAAS,MAAM,KAAG,aAI3C,CAAC"}
@@ -0,0 +1,63 @@
1
+ import * as Schema from 'effect/Schema';
2
+ /**
3
+ * Datetime values should be stored as ISO strings or unix numbers (ms) in UTC.
4
+ *
5
+ * NOTE: HyperFormula uses Excel's time format (null date 1900/01/01)
6
+ * It can be configured to use a different parser via `parseDateTime`.
7
+ * https://hyperformula.handsontable.com/guide/date-and-time-handling.html#date-and-time-handling
8
+ * https://github.com/handsontable/hyperformula/blob/master/src/DateTimeHelper.ts
9
+ */
10
+ /**
11
+ * Simple date compatible with HF.
12
+ */
13
+ export declare const SimpleDate: Schema.Struct<{
14
+ year: Schema.filter<typeof Schema.Number>;
15
+ month: Schema.filter<typeof Schema.Number>;
16
+ day: Schema.filter<typeof Schema.Number>;
17
+ }>;
18
+ export type SimpleDate = Schema.Schema.Type<typeof SimpleDate>;
19
+ export declare const toSimpleDate: (date: Date) => SimpleDate;
20
+ /**
21
+ * Simple time compatible with HF.
22
+ */
23
+ export declare const SimpleTime: Schema.Struct<{
24
+ hours: Schema.filter<typeof Schema.Number>;
25
+ minutes: Schema.filter<typeof Schema.Number>;
26
+ seconds: Schema.filter<typeof Schema.Number>;
27
+ }>;
28
+ export type SimpleTime = Schema.Schema.Type<typeof SimpleTime>;
29
+ export declare const toSimpleTime: (date: Date) => SimpleTime;
30
+ /**
31
+ * Simple date-time compatible with HF.
32
+ */
33
+ export declare const SimpleDateTime: Schema.extend<Schema.Struct<{
34
+ year: Schema.filter<typeof Schema.Number>;
35
+ month: Schema.filter<typeof Schema.Number>;
36
+ day: Schema.filter<typeof Schema.Number>;
37
+ }>, Schema.Struct<{
38
+ hours: Schema.filter<typeof Schema.Number>;
39
+ minutes: Schema.filter<typeof Schema.Number>;
40
+ seconds: Schema.filter<typeof Schema.Number>;
41
+ }>>;
42
+ export type SimpleDateTime = Schema.Schema.Type<typeof SimpleDateTime>;
43
+ export declare const toSimpleDateTime: (date: Date) => SimpleDateTime;
44
+ /**
45
+ * https://effect.website/docs/guides/schema/transformations#date-transformations
46
+ */
47
+ /**
48
+ * Format: 2018-11-13
49
+ */
50
+ export declare const DateOnly: Schema.SchemaClass<string, string, never>;
51
+ /**
52
+ * Format: 20:20:39+00:00
53
+ */
54
+ export declare const TimeOnly: Schema.SchemaClass<string, string, never>;
55
+ /**
56
+ * Format: 2018-11-13T20:20:39+00:00
57
+ */
58
+ export declare const DateTime: Schema.SchemaClass<string, string, never>;
59
+ /**
60
+ * https://datatracker.ietf.org/doc/html/rfc3339#appendix-A
61
+ */
62
+ export declare const Duration: Schema.SchemaClass<string, string, never>;
63
+ //# sourceMappingURL=date.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"date.d.ts","sourceRoot":"","sources":["../../../../../src/internal/Format/date.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAKxC;;;;;;;GAOG;AAUH;;GAEG;AACH,eAAO,MAAM,UAAU;;;;EAIrB,CAAC;AAEH,MAAM,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,UAAU,CAAC,CAAC;AAE/D,eAAO,MAAM,YAAY,SAAU,IAAI,KAAG,UAIxC,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,UAAU;;;;EAIrB,CAAC;AAEH,MAAM,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,UAAU,CAAC,CAAC;AAE/D,eAAO,MAAM,YAAY,SAAU,IAAI,KAAG,UAIxC,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,cAAc;;;;;;;;GAAwC,CAAC;AAEpE,MAAM,MAAM,cAAc,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,cAAc,CAAC,CAAC;AAEvE,eAAO,MAAM,gBAAgB,SAAU,IAAI,KAAG,cAG5C,CAAC;AAEH;;GAEG;AAIH;;GAEG;AACH,eAAO,MAAM,QAAQ,2CA2BpB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,QAAQ,2CAwBpB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,QAAQ,2CAuCpB,CAAC;AAEF;;GAEG;AAEH,eAAO,MAAM,QAAQ,2CAMpB,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=date.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"date.test.d.ts","sourceRoot":"","sources":["../../../../../src/internal/Format/date.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,33 @@
1
+ import * as Schema from 'effect/Schema';
2
+ import * as Keys from '@dxos/keys';
3
+ import * as NumberUtil from './number';
4
+ import * as ObjectUtil from './object';
5
+ import { TypeFormat as TypeFormat$ } from './types';
6
+ /**
7
+ * Formats.
8
+ * https://json-schema.org/understanding-json-schema/reference/string#built-in-formats
9
+ * NOTE: A JSON Schema validator will ignore any format type that it does not understand.
10
+ */
11
+ export declare namespace Format {
12
+ export import TypeFormat = TypeFormat$;
13
+ const DXN: Schema.Schema<Keys.DXN.DXN, Keys.DXN.DXN, never>;
14
+ const Email: Schema.refine<string, typeof Schema.String>;
15
+ const Formula: typeof Schema.String;
16
+ const Hostname: typeof Schema.String;
17
+ const JSON: typeof Schema.String;
18
+ const Markdown: typeof Schema.String;
19
+ const Regex: typeof Schema.String;
20
+ const URL: Schema.refine<string, typeof Schema.String>;
21
+ const UUID: typeof Schema.UUID;
22
+ const Currency: ({ decimals, code }?: NumberUtil.CurrencyAnnotation) => Schema.Schema<number, number, never>;
23
+ const Integer: () => Schema.refine<number, typeof Schema.Number>;
24
+ const Percent: ({ decimals }?: NumberUtil.PercentAnnotation) => Schema.Schema<number, number, never>;
25
+ const Timestamp: Schema.SchemaClass<number, number, never>;
26
+ const Date: Schema.SchemaClass<string, string, never>;
27
+ const DateTime: Schema.SchemaClass<string, string, never>;
28
+ const Duration: Schema.SchemaClass<string, string, never>;
29
+ const Time: Schema.SchemaClass<string, string, never>;
30
+ const GeoPoint: Schema.Tuple<[Schema.transform<Schema.transform<typeof Schema.Number, Schema.filter<Schema.SchemaClass<number, number, never>>>, typeof Schema.Number>, Schema.transform<Schema.transform<typeof Schema.Number, Schema.filter<Schema.SchemaClass<number, number, never>>>, typeof Schema.Number>, Schema.Element<typeof Schema.Number, "?">]>;
31
+ type GeoPoint = ObjectUtil.GeoPoint;
32
+ }
33
+ //# sourceMappingURL=format.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"format.d.ts","sourceRoot":"","sources":["../../../../../src/internal/Format/format.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAExC,OAAO,KAAK,IAAI,MAAM,YAAY,CAAC;AAGnC,OAAO,KAAK,UAAU,MAAM,UAAU,CAAC;AACvC,OAAO,KAAK,UAAU,MAAM,UAAU,CAAC;AAEvC,OAAO,EAAE,UAAU,IAAI,WAAW,EAAE,MAAM,SAAS,CAAC;AAKpD;;;;GAIG;AAEH,yBAAiB,MAAM,CAAC,CAAC;IACvB,MAAM,QAAQ,UAAU,GAAG,WAAW,CAAC;IAGhC,MAAM,GAAG,kDAAkB,CAAC;IAC5B,MAAM,KAAK,6CAAmB,CAAC;IAC/B,MAAM,OAAO,sBAAqB,CAAC;IACnC,MAAM,QAAQ,sBAAsB,CAAC;IACrC,MAAM,IAAI,sBAAkB,CAAC;IAC7B,MAAM,QAAQ,sBAAsB,CAAC;IACrC,MAAM,KAAK,sBAAmB,CAAC;IAC/B,MAAM,GAAG,6CAAiB,CAAC;IAC3B,MAAM,IAAI,oBAAc,CAAC;IAIzB,MAAM,QAAQ,8FAAsB,CAAC;IACrC,MAAM,OAAO,mDAAqB,CAAC;IACnC,MAAM,OAAO,uFAAqB,CAAC;IACnC,MAAM,SAAS,2CAAuB,CAAC;IAGvC,MAAM,IAAI,2CAAoB,CAAC;IAC/B,MAAM,QAAQ,2CAAoB,CAAC;IACnC,MAAM,QAAQ,2CAAoB,CAAC;IACnC,MAAM,IAAI,2CAAoB,CAAC;IAG/B,MAAM,QAAQ,+UAAsB,CAAC;IAC5C,KAAY,QAAQ,GAAG,UAAU,CAAC,QAAQ,CAAC;CAC5C"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=format.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"format.test.d.ts","sourceRoot":"","sources":["../../../../../src/internal/Format/format.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,8 @@
1
+ export * from './date';
2
+ export * from './format';
3
+ export { CurrencyAnnotationId, DecimalPrecision, Currency } from './number';
4
+ export { GeoPoint, GeoLocation } from './object';
5
+ export * from './select';
6
+ export * from './string';
7
+ export * from './types';
8
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/internal/Format/index.ts"],"names":[],"mappings":"AAIA,cAAc,QAAQ,CAAC;AACvB,cAAc,UAAU,CAAC;AACzB,OAAO,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAC5E,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AACjD,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC"}
@@ -0,0 +1,31 @@
1
+ import * as Schema from 'effect/Schema';
2
+ /**
3
+ * Convert number of digits to multipleOf annotation.
4
+ */
5
+ export declare const DecimalPrecision: Schema.transform<typeof Schema.Number, typeof Schema.Number>;
6
+ export declare const CurrencyAnnotationId: unique symbol;
7
+ export type CurrencyAnnotation = {
8
+ decimals?: number;
9
+ code?: string;
10
+ };
11
+ /**
12
+ * ISO 4217 currency code.
13
+ */
14
+ export declare const Currency: ({ decimals, code }?: CurrencyAnnotation) => Schema.Schema<number, number, never>;
15
+ export type PercentAnnotation = {
16
+ decimals?: number;
17
+ };
18
+ /**
19
+ * Integer.
20
+ */
21
+ export declare const Integer: () => Schema.refine<number, typeof Schema.Number>;
22
+ /**
23
+ * Percent.
24
+ */
25
+ export declare const Percent: ({ decimals }?: PercentAnnotation) => Schema.Schema<number, number, never>;
26
+ /**
27
+ * Unix timestamp.
28
+ * https://en.wikipedia.org/wiki/Unix_time
29
+ */
30
+ export declare const Timestamp: Schema.SchemaClass<number, number, never>;
31
+ //# sourceMappingURL=number.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"number.d.ts","sourceRoot":"","sources":["../../../../../src/internal/Format/number.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAWxC;;GAEG;AACH,eAAO,MAAM,gBAAgB,8DAM3B,CAAC;AAEH,eAAO,MAAM,oBAAoB,eAAiD,CAAC;AAEnF,MAAM,MAAM,kBAAkB,GAAG;IAC/B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,QAAQ,wBAAwB,kBAAkB,yCAS5D,CAAC;AAEJ,MAAM,MAAM,iBAAiB,GAAG;IAC9B,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,OAAO,mDAQjB,CAAC;AAEJ;;GAEG;AAEH,eAAO,MAAM,OAAO,kBAAkB,iBAAiB,yCAQpD,CAAC;AAEJ;;;GAGG;AACH,eAAO,MAAM,SAAS,2CAMrB,CAAC"}
@@ -0,0 +1,37 @@
1
+ import * as Schema from 'effect/Schema';
2
+ /**
3
+ * GeoJSON Format
4
+ * https://datatracker.ietf.org/doc/html/rfc7946
5
+ * https://datatracker.ietf.org/doc/html/rfc7946#section-3.1.1
6
+ * https://en.wikipedia.org/wiki/Geographic_coordinate_system
7
+ * https://geojson.org
8
+ * {
9
+ * "type": "Point",
10
+ * "coordinates": [0, 51.47] // [longitude, latitude]
11
+ * }
12
+ * Note: optional third element for altitude.
13
+ */
14
+ /** Decimal places retained for stored coordinates (~1.1cm at the equator). */
15
+ export declare const GEO_PRECISION = 7;
16
+ export declare const GeoPoint: Schema.Tuple<[Schema.transform<Schema.transform<typeof Schema.Number, Schema.filter<Schema.SchemaClass<number, number, never>>>, typeof Schema.Number>, Schema.transform<Schema.transform<typeof Schema.Number, Schema.filter<Schema.SchemaClass<number, number, never>>>, typeof Schema.Number>, Schema.Element<typeof Schema.Number, "?">]>;
17
+ export type GeoPoint = Schema.Schema.Type<typeof GeoPoint>;
18
+ export type GeoLocation = {
19
+ longitude: number;
20
+ latitude: number;
21
+ height?: number;
22
+ };
23
+ /**
24
+ * Geolocation utilities for working with GeoPoint format.
25
+ */
26
+ export declare namespace GeoLocation {
27
+ /**
28
+ * Convert latitude and longitude to GeoPoint (GeoJSON format [longitude, latitude, height?]).
29
+ * Clamps values to valid ranges: latitude [-90, 90], longitude [-180, 180].
30
+ */
31
+ const toGeoPoint: ({ longitude, latitude, height }: GeoLocation) => GeoPoint;
32
+ /**
33
+ * Extract latitude and longitude from GeoPoint (GeoJSON format [longitude, latitude, height?]).
34
+ */
35
+ const fromGeoPoint: (geoPoint: GeoPoint | undefined) => GeoLocation;
36
+ }
37
+ //# sourceMappingURL=object.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"object.d.ts","sourceRoot":"","sources":["../../../../../src/internal/Format/object.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAMxC;;;;;;;;;;;GAWG;AACH,8EAA8E;AAC9E,eAAO,MAAM,aAAa,IAAI,CAAC;AAe/B,eAAO,MAAM,QAAQ,+UAYpB,CAAC;AAEF,MAAM,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,QAAQ,CAAC,CAAC;AAE3D,MAAM,MAAM,WAAW,GAAG;IACxB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF;;GAEG;AACH,yBAAiB,WAAW,CAAC,CAAC;IAC5B;;;OAGG;IACI,MAAM,UAAU,oCAAqC,WAAW,KAAG,QAMzE,CAAC;IAEF;;OAEG;IACI,MAAM,YAAY,aAAc,QAAQ,GAAG,SAAS,KAAG,WAgB7D,CAAC;CACH"}
@@ -0,0 +1,13 @@
1
+ import * as Schema from 'effect/Schema';
2
+ /**
3
+ * Schema for a single select option. Used to define choices in a {single|multi}-select field.
4
+ */
5
+ export declare const SelectOption: Schema.Struct<{
6
+ /** Stable identifier for the option. */
7
+ id: typeof Schema.NonEmptyString;
8
+ title: typeof Schema.String;
9
+ /** Color palette used for visual styling. */
10
+ color: typeof Schema.String;
11
+ }>;
12
+ export type SelectOption = Schema.Schema.Type<typeof SelectOption>;
13
+ //# sourceMappingURL=select.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"select.d.ts","sourceRoot":"","sources":["../../../../../src/internal/Format/select.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAExC;;GAEG;AACH,eAAO,MAAM,YAAY;IACvB,wCAAwC;;;IAGxC,6CAA6C;;EAE7C,CAAC;AAEH,MAAM,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,YAAY,CAAC,CAAC"}