@dxos/echo 0.8.4-main.3eb6e50203 → 0.8.4-main.3fbcb4aa9b

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 (563) hide show
  1. package/README.md +4 -4
  2. package/dist/lib/neutral/Annotation.mjs +7 -3
  3. package/dist/lib/neutral/Database.mjs +8 -4
  4. package/dist/lib/neutral/Entity.mjs +24 -14
  5. package/dist/lib/neutral/Err.mjs +1 -1
  6. package/dist/lib/neutral/Extension.mjs +18 -0
  7. package/dist/lib/neutral/Extension.mjs.map +7 -0
  8. package/dist/lib/neutral/Feed.mjs +50 -0
  9. package/dist/lib/neutral/Feed.mjs.map +7 -0
  10. package/dist/lib/neutral/Filter.mjs +21 -10
  11. package/dist/lib/neutral/Format.mjs +3 -3
  12. package/dist/lib/neutral/JsonSchema.mjs +9 -9
  13. package/dist/lib/neutral/Key.mjs +1 -1
  14. package/dist/lib/neutral/Migration.mjs +17 -0
  15. package/dist/lib/neutral/Migration.mjs.map +7 -0
  16. package/dist/lib/neutral/Obj.mjs +26 -17
  17. package/dist/lib/neutral/Order.mjs +1 -1
  18. package/dist/lib/neutral/Query.mjs +21 -9
  19. package/dist/lib/neutral/QueryResult.mjs +1 -1
  20. package/dist/lib/neutral/Ref.mjs +9 -7
  21. package/dist/lib/neutral/Relation.mjs +23 -13
  22. package/dist/lib/neutral/SchemaRegistry.mjs +1 -1
  23. package/dist/lib/neutral/Tag.mjs +14 -10
  24. package/dist/lib/neutral/Type.mjs +13 -23
  25. package/dist/lib/neutral/{chunk-N2QNHMT5.mjs → chunk-44HT3MEC.mjs} +2 -2
  26. package/dist/lib/neutral/{chunk-N2QNHMT5.mjs.map → chunk-44HT3MEC.mjs.map} +1 -1
  27. package/dist/lib/neutral/{chunk-XAJMXQ4H.mjs → chunk-5SL5LDLD.mjs} +6 -2
  28. package/dist/lib/neutral/chunk-5SL5LDLD.mjs.map +7 -0
  29. package/dist/lib/neutral/chunk-6VIJV543.mjs +34 -0
  30. package/dist/lib/neutral/chunk-6VIJV543.mjs.map +7 -0
  31. package/dist/lib/neutral/{chunk-ANHVGJI4.mjs → chunk-7RVZT53K.mjs} +1 -1
  32. package/dist/lib/neutral/{chunk-4L6DOFXP.mjs → chunk-BICZKPQG.mjs} +1 -1
  33. package/dist/lib/neutral/{chunk-4L6DOFXP.mjs.map → chunk-BICZKPQG.mjs.map} +1 -1
  34. package/dist/lib/neutral/{chunk-B4FLOYG7.mjs → chunk-FHYIM4RD.mjs} +18 -20
  35. package/dist/lib/neutral/chunk-FHYIM4RD.mjs.map +7 -0
  36. package/dist/lib/neutral/chunk-FZHVQEHN.mjs +81 -0
  37. package/dist/lib/neutral/chunk-FZHVQEHN.mjs.map +7 -0
  38. package/dist/lib/neutral/chunk-GWFFC34K.mjs +50 -0
  39. package/dist/lib/neutral/chunk-GWFFC34K.mjs.map +7 -0
  40. package/dist/lib/neutral/{chunk-EXAYCLIM.mjs → chunk-HPNQTEEQ.mjs} +5 -5
  41. package/dist/lib/neutral/chunk-HPNQTEEQ.mjs.map +7 -0
  42. package/dist/lib/neutral/{chunk-YPIP3WGI.mjs → chunk-LVGOVFDV.mjs} +40 -12
  43. package/dist/lib/neutral/chunk-LVGOVFDV.mjs.map +7 -0
  44. package/dist/lib/neutral/chunk-MPAI2MHO.mjs +346 -0
  45. package/dist/lib/neutral/chunk-MPAI2MHO.mjs.map +7 -0
  46. package/dist/lib/neutral/{chunk-KB7RIVLK.mjs → chunk-N4B7FHQT.mjs} +4 -4
  47. package/dist/lib/neutral/{chunk-KB7RIVLK.mjs.map → chunk-N4B7FHQT.mjs.map} +2 -2
  48. package/dist/lib/neutral/chunk-O5LRY6CO.mjs +734 -0
  49. package/dist/lib/neutral/chunk-O5LRY6CO.mjs.map +7 -0
  50. package/dist/lib/neutral/{chunk-VYEWMV5U.mjs → chunk-QGMIH2SN.mjs} +8 -4
  51. package/dist/lib/neutral/chunk-QGMIH2SN.mjs.map +7 -0
  52. package/dist/lib/neutral/chunk-QXIANHKU.mjs +206 -0
  53. package/dist/lib/neutral/chunk-QXIANHKU.mjs.map +7 -0
  54. package/dist/lib/neutral/{chunk-UMECVTXM.mjs → chunk-RF7ZBZ4A.mjs} +72 -5
  55. package/dist/lib/neutral/chunk-RF7ZBZ4A.mjs.map +7 -0
  56. package/dist/lib/neutral/chunk-S7IMFVTB.mjs +132 -0
  57. package/dist/lib/neutral/chunk-S7IMFVTB.mjs.map +7 -0
  58. package/dist/lib/neutral/chunk-SJKBWMJY.mjs +2436 -0
  59. package/dist/lib/neutral/chunk-SJKBWMJY.mjs.map +7 -0
  60. package/dist/lib/neutral/chunk-SUZMWP3Y.mjs +36 -0
  61. package/dist/lib/neutral/chunk-SUZMWP3Y.mjs.map +7 -0
  62. package/dist/lib/neutral/{chunk-HQXQWXLH.mjs → chunk-SW5CUSBY.mjs} +183 -32
  63. package/dist/lib/neutral/chunk-SW5CUSBY.mjs.map +7 -0
  64. package/dist/lib/neutral/{chunk-RIMHNJ3E.mjs → chunk-TNBK56IN.mjs} +98 -44
  65. package/dist/lib/neutral/chunk-TNBK56IN.mjs.map +7 -0
  66. package/dist/lib/neutral/{chunk-7WE7SBA2.mjs → chunk-TRPZU2HV.mjs} +13 -13
  67. package/dist/lib/neutral/chunk-TRPZU2HV.mjs.map +7 -0
  68. package/dist/lib/neutral/{chunk-ROKO4RKJ.mjs → chunk-TTCSATUD.mjs} +2 -2
  69. package/dist/lib/neutral/chunk-TTCSATUD.mjs.map +7 -0
  70. package/dist/lib/neutral/{chunk-OMUPQMLR.mjs → chunk-V72DY6LU.mjs} +1 -1
  71. package/dist/lib/neutral/chunk-VGKLHHRT.mjs +318 -0
  72. package/dist/lib/neutral/chunk-VGKLHHRT.mjs.map +7 -0
  73. package/dist/lib/neutral/{chunk-TMLVKIMX.mjs → chunk-VYAGNFSJ.mjs} +8 -3
  74. package/dist/lib/neutral/chunk-VYAGNFSJ.mjs.map +7 -0
  75. package/dist/lib/neutral/{chunk-7YWDDFPH.mjs → chunk-WRVRDZDA.mjs} +77 -58
  76. package/dist/lib/neutral/chunk-WRVRDZDA.mjs.map +7 -0
  77. package/dist/lib/neutral/{chunk-MXQJZCPY.mjs → chunk-ZISMEVKD.mjs} +1 -1
  78. package/dist/lib/neutral/chunk-ZISMEVKD.mjs.map +7 -0
  79. package/dist/lib/neutral/index.mjs +51 -28
  80. package/dist/lib/neutral/internal/index.mjs +52 -38
  81. package/dist/lib/neutral/meta.json +1 -1
  82. package/dist/lib/neutral/testing/index.mjs +199 -136
  83. package/dist/lib/neutral/testing/index.mjs.map +3 -3
  84. package/dist/types/src/Annotation.d.ts +3 -3
  85. package/dist/types/src/Annotation.d.ts.map +1 -1
  86. package/dist/types/src/Collection.d.ts +16 -0
  87. package/dist/types/src/Collection.d.ts.map +1 -0
  88. package/dist/types/src/Database.d.ts +20 -35
  89. package/dist/types/src/Database.d.ts.map +1 -1
  90. package/dist/types/src/Dataset.d.ts +19 -0
  91. package/dist/types/src/Dataset.d.ts.map +1 -0
  92. package/dist/types/src/Entity.d.ts +54 -22
  93. package/dist/types/src/Entity.d.ts.map +1 -1
  94. package/dist/types/src/Err.d.ts +18 -18
  95. package/dist/types/src/Err.d.ts.map +1 -1
  96. package/dist/types/src/Extension.d.ts +80 -0
  97. package/dist/types/src/Extension.d.ts.map +1 -0
  98. package/dist/types/src/Extension.test.d.ts +2 -0
  99. package/dist/types/src/Extension.test.d.ts.map +1 -0
  100. package/dist/types/src/Feed.d.ts +182 -0
  101. package/dist/types/src/Feed.d.ts.map +1 -0
  102. package/dist/types/src/Filter.d.ts +34 -5
  103. package/dist/types/src/Filter.d.ts.map +1 -1
  104. package/dist/types/src/Filter.test.d.ts +2 -0
  105. package/dist/types/src/Filter.test.d.ts.map +1 -0
  106. package/dist/types/src/Format.d.ts +3 -3
  107. package/dist/types/src/Format.d.ts.map +1 -1
  108. package/dist/types/src/Hypergraph.d.ts +8 -3
  109. package/dist/types/src/Hypergraph.d.ts.map +1 -1
  110. package/dist/types/src/Json.d.ts +33 -0
  111. package/dist/types/src/Json.d.ts.map +1 -0
  112. package/dist/types/src/Json.test.d.ts +2 -0
  113. package/dist/types/src/Json.test.d.ts.map +1 -0
  114. package/dist/types/src/JsonSchema.d.ts +11 -4
  115. package/dist/types/src/JsonSchema.d.ts.map +1 -1
  116. package/dist/types/src/Migration.d.ts +57 -0
  117. package/dist/types/src/Migration.d.ts.map +1 -0
  118. package/dist/types/src/Obj.d.ts +109 -60
  119. package/dist/types/src/Obj.d.ts.map +1 -1
  120. package/dist/types/src/Order.d.ts.map +1 -1
  121. package/dist/types/src/Query.d.ts +105 -17
  122. package/dist/types/src/Query.d.ts.map +1 -1
  123. package/dist/types/src/Ref.d.ts +58 -10
  124. package/dist/types/src/Ref.d.ts.map +1 -1
  125. package/dist/types/src/Relation.d.ts +86 -40
  126. package/dist/types/src/Relation.d.ts.map +1 -1
  127. package/dist/types/src/SchemaRegistry.d.ts +4 -4
  128. package/dist/types/src/SchemaRegistry.d.ts.map +1 -1
  129. package/dist/types/src/Tag.d.ts +2 -1
  130. package/dist/types/src/Tag.d.ts.map +1 -1
  131. package/dist/types/src/Type.d.ts +51 -180
  132. package/dist/types/src/Type.d.ts.map +1 -1
  133. package/dist/types/src/View.d.ts +68 -0
  134. package/dist/types/src/View.d.ts.map +1 -0
  135. package/dist/types/src/exemplars.test.d.ts +2 -0
  136. package/dist/types/src/exemplars.test.d.ts.map +1 -0
  137. package/dist/types/src/index.d.ts +7 -0
  138. package/dist/types/src/index.d.ts.map +1 -1
  139. package/dist/types/src/internal/{annotations → Annotation}/annotations.d.ts +65 -2
  140. package/dist/types/src/internal/Annotation/annotations.d.ts.map +1 -0
  141. package/dist/types/src/internal/Annotation/annotations.test.d.ts.map +1 -0
  142. package/dist/types/src/internal/Annotation/index.d.ts +4 -0
  143. package/dist/types/src/internal/Annotation/index.d.ts.map +1 -0
  144. package/dist/types/src/internal/{api → Annotation}/sorting.d.ts +1 -1
  145. package/dist/types/src/internal/Annotation/sorting.d.ts.map +1 -0
  146. package/dist/types/src/internal/{annotations → Annotation}/util.d.ts +2 -2
  147. package/dist/types/src/internal/Annotation/util.d.ts.map +1 -0
  148. package/dist/types/src/internal/{api/entity.d.ts → Entity/api.d.ts} +2 -2
  149. package/dist/types/src/internal/Entity/api.d.ts.map +1 -0
  150. package/dist/types/src/internal/{entities → Entity}/entity.d.ts +3 -3
  151. package/dist/types/src/internal/Entity/entity.d.ts.map +1 -0
  152. package/dist/types/src/internal/{entities → Entity}/index.d.ts +2 -0
  153. package/dist/types/src/internal/Entity/index.d.ts.map +1 -0
  154. package/dist/types/src/internal/{entities → Entity}/model.d.ts +2 -26
  155. package/dist/types/src/internal/Entity/model.d.ts.map +1 -0
  156. package/dist/types/src/internal/{entities → Entity}/object.d.ts +2 -2
  157. package/dist/types/src/internal/Entity/object.d.ts.map +1 -0
  158. package/dist/types/src/internal/{entities → Entity}/relation.d.ts +3 -30
  159. package/dist/types/src/internal/Entity/relation.d.ts.map +1 -0
  160. package/dist/types/src/internal/Entity/util.d.ts.map +1 -0
  161. package/dist/types/src/internal/{api → Entity}/version.d.ts +1 -1
  162. package/dist/types/src/internal/Entity/version.d.ts.map +1 -0
  163. package/dist/types/src/internal/Format/date.d.ts.map +1 -0
  164. package/dist/types/src/internal/Format/date.test.d.ts.map +1 -0
  165. package/dist/types/src/internal/Format/format.d.ts.map +1 -0
  166. package/dist/types/src/internal/Format/format.test.d.ts.map +1 -0
  167. package/dist/types/src/internal/Format/index.d.ts.map +1 -0
  168. package/dist/types/src/internal/Format/number.d.ts.map +1 -0
  169. package/dist/types/src/internal/Format/object.d.ts.map +1 -0
  170. package/dist/types/src/internal/Format/select.d.ts.map +1 -0
  171. package/dist/types/src/internal/Format/string.d.ts.map +1 -0
  172. package/dist/types/src/internal/{formats → Format}/types.d.ts +1 -1
  173. package/dist/types/src/internal/Format/types.d.ts.map +1 -0
  174. package/dist/types/src/internal/{json-schema → JsonSchema}/annotations.d.ts +1 -1
  175. package/dist/types/src/internal/JsonSchema/annotations.d.ts.map +1 -0
  176. package/dist/types/src/internal/JsonSchema/effect-schema.test.d.ts.map +1 -0
  177. package/dist/types/src/internal/JsonSchema/index.d.ts.map +1 -0
  178. package/dist/types/src/internal/JsonSchema/json-schema-normalize.d.ts.map +1 -0
  179. package/dist/types/src/internal/{json-schema → JsonSchema}/json-schema-type.d.ts +37 -37
  180. package/dist/types/src/internal/JsonSchema/json-schema-type.d.ts.map +1 -0
  181. package/dist/types/src/internal/{json-schema → JsonSchema}/json-schema.d.ts +1 -1
  182. package/dist/types/src/internal/JsonSchema/json-schema.d.ts.map +1 -0
  183. package/dist/types/src/internal/JsonSchema/json-schema.test.d.ts.map +1 -0
  184. package/dist/types/src/internal/Obj/clone.d.ts.map +1 -0
  185. package/dist/types/src/internal/Obj/common.d.ts.map +1 -0
  186. package/dist/types/src/internal/{object → Obj}/create-object.d.ts +2 -2
  187. package/dist/types/src/internal/Obj/create-object.d.ts.map +1 -0
  188. package/dist/types/src/internal/Obj/create-object.test.d.ts.map +1 -0
  189. package/dist/types/src/internal/{object → Obj}/deleted.d.ts +1 -1
  190. package/dist/types/src/internal/Obj/deleted.d.ts.map +1 -0
  191. package/dist/types/src/internal/Obj/ids.d.ts.map +1 -0
  192. package/dist/types/src/internal/Obj/index.d.ts.map +1 -0
  193. package/dist/types/src/internal/Obj/inspect.d.ts.map +1 -0
  194. package/dist/types/src/internal/{object → Obj}/json-serializer.d.ts +13 -5
  195. package/dist/types/src/internal/Obj/json-serializer.d.ts.map +1 -0
  196. package/dist/types/src/internal/Obj/json-serializer.test.d.ts.map +1 -0
  197. package/dist/types/src/internal/Obj/schema-validator.d.ts +2 -0
  198. package/dist/types/src/internal/Obj/schema-validator.d.ts.map +1 -0
  199. package/dist/types/src/internal/Obj/schema-validator.test.d.ts.map +1 -0
  200. package/dist/types/src/internal/{object → Obj}/set-value.d.ts +2 -2
  201. package/dist/types/src/internal/Obj/set-value.d.ts.map +1 -0
  202. package/dist/types/src/internal/Obj/set-value.test.d.ts.map +1 -0
  203. package/dist/types/src/internal/Obj/snapshot.d.ts.map +1 -0
  204. package/dist/types/src/internal/{object → Obj}/typed-object.d.ts +4 -4
  205. package/dist/types/src/internal/Obj/typed-object.d.ts.map +1 -0
  206. package/dist/types/src/internal/Obj/typed-object.test.d.ts.map +1 -0
  207. package/dist/types/src/internal/Query.d.ts +10 -0
  208. package/dist/types/src/internal/Query.d.ts.map +1 -0
  209. package/dist/types/src/internal/Ref/index.d.ts.map +1 -0
  210. package/dist/types/src/internal/{ref → Ref}/ref-array.d.ts +1 -1
  211. package/dist/types/src/internal/Ref/ref-array.d.ts.map +1 -0
  212. package/dist/types/src/internal/{ref → Ref}/ref.d.ts +15 -2
  213. package/dist/types/src/internal/Ref/ref.d.ts.map +1 -0
  214. package/dist/types/src/internal/Ref/ref.test.d.ts.map +1 -0
  215. package/dist/types/src/internal/{schema → Type}/compose.d.ts +1 -1
  216. package/dist/types/src/internal/Type/compose.d.ts.map +1 -0
  217. package/dist/types/src/internal/Type/compose.test.d.ts.map +1 -0
  218. package/dist/types/src/internal/{schema → Type}/echo-schema.d.ts +7 -7
  219. package/dist/types/src/internal/Type/echo-schema.d.ts.map +1 -0
  220. package/dist/types/src/internal/Type/index.d.ts.map +1 -0
  221. package/dist/types/src/internal/Type/manipulation.d.ts.map +1 -0
  222. package/dist/types/src/internal/{schema → Type}/persistent-schema.d.ts +2 -2
  223. package/dist/types/src/internal/Type/persistent-schema.d.ts.map +1 -0
  224. package/dist/types/src/internal/{api → common/api}/index.d.ts +0 -4
  225. package/dist/types/src/internal/common/api/index.d.ts.map +1 -0
  226. package/dist/types/src/internal/{api → common/api}/meta.d.ts +3 -3
  227. package/dist/types/src/internal/common/api/meta.d.ts.map +1 -0
  228. package/dist/types/src/internal/common/index.d.ts +4 -0
  229. package/dist/types/src/internal/common/index.d.ts.map +1 -0
  230. package/dist/types/src/internal/{proxy → common/proxy}/change-context.d.ts +1 -1
  231. package/dist/types/src/internal/common/proxy/change-context.d.ts.map +1 -0
  232. package/dist/types/src/internal/common/proxy/change.test.d.ts.map +1 -0
  233. package/dist/types/src/internal/common/proxy/define-hidden-property.d.ts.map +1 -0
  234. package/dist/types/src/internal/{proxy → common/proxy}/errors.d.ts +1 -1
  235. package/dist/types/src/internal/common/proxy/errors.d.ts.map +1 -0
  236. package/dist/types/src/internal/common/proxy/event-batch.d.ts.map +1 -0
  237. package/dist/types/src/internal/common/proxy/handler.test.d.ts.map +1 -0
  238. package/dist/types/src/internal/common/proxy/index.d.ts.map +1 -0
  239. package/dist/types/src/internal/common/proxy/json-serializer.d.ts.map +1 -0
  240. package/dist/types/src/internal/common/proxy/make-object.d.ts.map +1 -0
  241. package/dist/types/src/internal/common/proxy/ownership.d.ts.map +1 -0
  242. package/dist/types/src/internal/common/proxy/proxy-types.d.ts.map +1 -0
  243. package/dist/types/src/internal/common/proxy/proxy-utils.d.ts.map +1 -0
  244. package/dist/types/src/internal/{proxy → common/proxy}/reactive-array.d.ts +1 -1
  245. package/dist/types/src/internal/common/proxy/reactive-array.d.ts.map +1 -0
  246. package/dist/types/src/internal/{proxy → common/proxy}/reactive.d.ts +2 -2
  247. package/dist/types/src/internal/{proxy → common/proxy}/reactive.d.ts.map +1 -1
  248. package/dist/types/src/internal/common/proxy/reactive.test.d.ts +2 -0
  249. package/dist/types/src/internal/common/proxy/reactive.test.d.ts.map +1 -0
  250. package/dist/types/src/internal/common/proxy/schema-validator.d.ts.map +1 -0
  251. package/dist/types/src/internal/common/proxy/schema.test.d.ts.map +1 -0
  252. package/dist/types/src/internal/common/proxy/symbols.d.ts.map +1 -0
  253. package/dist/types/src/internal/common/proxy/typed-handler.d.ts.map +1 -0
  254. package/dist/types/src/internal/common/proxy/typed-handler.test.d.ts.map +1 -0
  255. package/dist/types/src/internal/common/proxy/typed-object.test.d.ts.map +1 -0
  256. package/dist/types/src/internal/{types → common/types}/base.d.ts +1 -0
  257. package/dist/types/src/internal/common/types/base.d.ts.map +1 -0
  258. package/dist/types/src/internal/{types → common/types}/entity.d.ts +5 -5
  259. package/dist/types/src/internal/common/types/entity.d.ts.map +1 -0
  260. package/dist/types/src/internal/{types → common/types}/index.d.ts +1 -0
  261. package/dist/types/src/internal/common/types/index.d.ts.map +1 -0
  262. package/dist/types/src/internal/{types → common/types}/meta.d.ts +2 -1
  263. package/dist/types/src/internal/common/types/meta.d.ts.map +1 -0
  264. package/dist/types/src/internal/common/types/model-symbols.d.ts +54 -0
  265. package/dist/types/src/internal/common/types/model-symbols.d.ts.map +1 -0
  266. package/dist/types/src/internal/common/types/typename.d.ts.map +1 -0
  267. package/dist/types/src/internal/{types → common/types}/version.d.ts +2 -2
  268. package/dist/types/src/internal/common/types/version.d.ts.map +1 -0
  269. package/dist/types/src/internal/index.d.ts +9 -10
  270. package/dist/types/src/internal/index.d.ts.map +1 -1
  271. package/dist/types/src/testing/test-data.d.ts +8 -8
  272. package/dist/types/src/testing/test-data.d.ts.map +1 -1
  273. package/dist/types/src/testing/test-schema.d.ts +47 -46
  274. package/dist/types/src/testing/test-schema.d.ts.map +1 -1
  275. package/dist/types/src/testing/util.d.ts.map +1 -1
  276. package/dist/types/tsconfig.tsbuildinfo +1 -1
  277. package/package.json +29 -14
  278. package/src/Annotation.ts +7 -3
  279. package/src/Collection.ts +37 -0
  280. package/src/Database.ts +63 -64
  281. package/src/Dataset.ts +26 -0
  282. package/src/Entity.ts +87 -61
  283. package/src/Err.ts +2 -0
  284. package/src/Extension.test.ts +235 -0
  285. package/src/Extension.ts +122 -0
  286. package/src/Feed.ts +304 -0
  287. package/src/Filter.test.ts +90 -0
  288. package/src/Filter.ts +85 -7
  289. package/src/Format.ts +3 -3
  290. package/src/Hypergraph.ts +9 -4
  291. package/src/Json.test.ts +175 -0
  292. package/src/Json.ts +102 -0
  293. package/src/JsonSchema.ts +14 -4
  294. package/src/Migration.ts +94 -0
  295. package/src/Obj.test.ts +112 -15
  296. package/src/Obj.ts +302 -166
  297. package/src/Order.ts +3 -1
  298. package/src/Query.test.ts +372 -15
  299. package/src/Query.ts +269 -26
  300. package/src/Ref.ts +64 -11
  301. package/src/Relation.test.ts +8 -2
  302. package/src/Relation.ts +183 -147
  303. package/src/SchemaRegistry.ts +5 -4
  304. package/src/Tag.ts +6 -5
  305. package/src/Type.test.ts +10 -10
  306. package/src/Type.ts +70 -303
  307. package/src/View.ts +107 -0
  308. package/src/exemplars.test.ts +21 -0
  309. package/src/index.ts +8 -0
  310. package/src/internal/{annotations → Annotation}/annotations.test.ts +56 -7
  311. package/src/internal/{annotations → Annotation}/annotations.ts +122 -19
  312. package/src/internal/{annotations → Annotation}/index.ts +1 -0
  313. package/src/internal/{api → Annotation}/sorting.ts +2 -4
  314. package/src/internal/{annotations → Annotation}/util.ts +1 -1
  315. package/src/internal/{api/entity.ts → Entity/api.ts} +3 -2
  316. package/src/internal/{entities → Entity}/entity.ts +6 -4
  317. package/src/internal/{entities → Entity}/index.ts +2 -0
  318. package/src/internal/{entities → Entity}/model.ts +13 -42
  319. package/src/internal/{entities → Entity}/object.ts +2 -3
  320. package/src/internal/{entities → Entity}/relation.ts +19 -36
  321. package/src/internal/{api → Entity}/version.ts +2 -2
  322. package/src/internal/{formats → Format}/date.test.ts +1 -2
  323. package/src/internal/{formats → Format}/format.test.ts +1 -2
  324. package/src/internal/{formats → Format}/types.ts +2 -2
  325. package/src/internal/{json-schema → JsonSchema}/annotations.ts +3 -3
  326. package/src/internal/{json-schema → JsonSchema}/json-schema-type.ts +4 -4
  327. package/src/internal/{json-schema → JsonSchema}/json-schema.test.ts +48 -49
  328. package/src/internal/{json-schema → JsonSchema}/json-schema.ts +6 -5
  329. package/src/internal/{object → Obj}/clone.ts +3 -3
  330. package/src/internal/{object → Obj}/common.ts +2 -2
  331. package/src/internal/{object → Obj}/create-object.test.ts +5 -7
  332. package/src/internal/{object → Obj}/create-object.ts +5 -6
  333. package/src/internal/{object → Obj}/deleted.ts +2 -2
  334. package/src/internal/{object → Obj}/inspect.ts +2 -2
  335. package/src/internal/{object → Obj}/json-serializer.test.ts +31 -9
  336. package/src/internal/{object → Obj}/json-serializer.ts +52 -27
  337. package/src/internal/{object → Obj}/schema-validator.ts +1 -1
  338. package/src/internal/{object → Obj}/set-value.test.ts +24 -24
  339. package/src/internal/{object → Obj}/set-value.ts +3 -3
  340. package/src/internal/{object → Obj}/snapshot.ts +35 -23
  341. package/src/internal/{object → Obj}/typed-object.test.ts +3 -3
  342. package/src/internal/{object → Obj}/typed-object.ts +4 -4
  343. package/src/internal/Query.ts +137 -0
  344. package/src/internal/{ref → Ref}/ref-array.ts +1 -2
  345. package/src/internal/{ref → Ref}/ref.test.ts +4 -5
  346. package/src/internal/{ref → Ref}/ref.ts +20 -3
  347. package/src/internal/{schema → Type}/compose.test.ts +5 -6
  348. package/src/internal/{schema → Type}/compose.ts +1 -1
  349. package/src/internal/{schema → Type}/echo-schema.ts +9 -10
  350. package/src/internal/{schema → Type}/manipulation.ts +1 -1
  351. package/src/internal/{schema → Type}/persistent-schema.ts +9 -4
  352. package/src/internal/{README.md → common/README.md} +2 -2
  353. package/src/internal/{api → common/api}/index.ts +0 -4
  354. package/src/internal/{api → common/api}/meta.ts +3 -3
  355. package/src/internal/common/index.ts +7 -0
  356. package/src/internal/{proxy → common/proxy}/change-context.ts +1 -1
  357. package/src/internal/{proxy → common/proxy}/change.test.ts +97 -97
  358. package/src/internal/{proxy → common/proxy}/errors.ts +2 -2
  359. package/src/internal/{proxy → common/proxy}/handler.test.ts +2 -4
  360. package/src/internal/{proxy → common/proxy}/json-serializer.ts +6 -3
  361. package/src/internal/{proxy → common/proxy}/make-object.ts +1 -2
  362. package/src/internal/{proxy → common/proxy}/ownership.ts +0 -1
  363. package/src/internal/{proxy → common/proxy}/reactive-array.ts +1 -1
  364. package/src/internal/common/proxy/reactive.test.ts +54 -0
  365. package/src/internal/{proxy → common/proxy}/reactive.ts +12 -4
  366. package/src/internal/{proxy → common/proxy}/schema.test.ts +10 -10
  367. package/src/internal/{proxy → common/proxy}/typed-handler.test.ts +6 -7
  368. package/src/internal/{proxy → common/proxy}/typed-handler.ts +10 -13
  369. package/src/internal/{proxy → common/proxy}/typed-object.test.ts +5 -6
  370. package/src/internal/{types → common/types}/base.ts +1 -1
  371. package/src/internal/{types → common/types}/entity.ts +2 -2
  372. package/src/internal/{types → common/types}/index.ts +1 -0
  373. package/src/internal/{types → common/types}/meta.ts +3 -1
  374. package/src/internal/common/types/model-symbols.ts +69 -0
  375. package/src/internal/{types → common/types}/version.ts +2 -3
  376. package/src/internal/index.ts +9 -31
  377. package/src/testing/api.test.ts +4 -5
  378. package/src/testing/test-data.ts +157 -98
  379. package/src/testing/test-schema.ts +20 -18
  380. package/dist/lib/neutral/chunk-7WE7SBA2.mjs.map +0 -7
  381. package/dist/lib/neutral/chunk-7YWDDFPH.mjs.map +0 -7
  382. package/dist/lib/neutral/chunk-B4FLOYG7.mjs.map +0 -7
  383. package/dist/lib/neutral/chunk-EXAYCLIM.mjs.map +0 -7
  384. package/dist/lib/neutral/chunk-F6BTBXL7.mjs +0 -171
  385. package/dist/lib/neutral/chunk-F6BTBXL7.mjs.map +0 -7
  386. package/dist/lib/neutral/chunk-HQXQWXLH.mjs.map +0 -7
  387. package/dist/lib/neutral/chunk-MXQJZCPY.mjs.map +0 -7
  388. package/dist/lib/neutral/chunk-RCBBZLVM.mjs +0 -142
  389. package/dist/lib/neutral/chunk-RCBBZLVM.mjs.map +0 -7
  390. package/dist/lib/neutral/chunk-RIMHNJ3E.mjs.map +0 -7
  391. package/dist/lib/neutral/chunk-ROKO4RKJ.mjs.map +0 -7
  392. package/dist/lib/neutral/chunk-TMLVKIMX.mjs.map +0 -7
  393. package/dist/lib/neutral/chunk-UMECVTXM.mjs.map +0 -7
  394. package/dist/lib/neutral/chunk-VJ2H5MOJ.mjs +0 -3905
  395. package/dist/lib/neutral/chunk-VJ2H5MOJ.mjs.map +0 -7
  396. package/dist/lib/neutral/chunk-VYEWMV5U.mjs.map +0 -7
  397. package/dist/lib/neutral/chunk-X2MPMYYN.mjs +0 -13
  398. package/dist/lib/neutral/chunk-X2MPMYYN.mjs.map +0 -7
  399. package/dist/lib/neutral/chunk-XAJMXQ4H.mjs.map +0 -7
  400. package/dist/lib/neutral/chunk-YPIP3WGI.mjs.map +0 -7
  401. package/dist/types/src/internal/annotations/annotations.d.ts.map +0 -1
  402. package/dist/types/src/internal/annotations/annotations.test.d.ts.map +0 -1
  403. package/dist/types/src/internal/annotations/index.d.ts +0 -3
  404. package/dist/types/src/internal/annotations/index.d.ts.map +0 -1
  405. package/dist/types/src/internal/annotations/util.d.ts.map +0 -1
  406. package/dist/types/src/internal/api/annotations.d.ts +0 -23
  407. package/dist/types/src/internal/api/annotations.d.ts.map +0 -1
  408. package/dist/types/src/internal/api/entity.d.ts.map +0 -1
  409. package/dist/types/src/internal/api/index.d.ts.map +0 -1
  410. package/dist/types/src/internal/api/meta.d.ts.map +0 -1
  411. package/dist/types/src/internal/api/sorting.d.ts.map +0 -1
  412. package/dist/types/src/internal/api/version.d.ts.map +0 -1
  413. package/dist/types/src/internal/entities/entity.d.ts.map +0 -1
  414. package/dist/types/src/internal/entities/index.d.ts.map +0 -1
  415. package/dist/types/src/internal/entities/model.d.ts.map +0 -1
  416. package/dist/types/src/internal/entities/object.d.ts.map +0 -1
  417. package/dist/types/src/internal/entities/relation.d.ts.map +0 -1
  418. package/dist/types/src/internal/entities/util.d.ts.map +0 -1
  419. package/dist/types/src/internal/formats/date.d.ts.map +0 -1
  420. package/dist/types/src/internal/formats/date.test.d.ts.map +0 -1
  421. package/dist/types/src/internal/formats/format.d.ts.map +0 -1
  422. package/dist/types/src/internal/formats/format.test.d.ts.map +0 -1
  423. package/dist/types/src/internal/formats/index.d.ts.map +0 -1
  424. package/dist/types/src/internal/formats/number.d.ts.map +0 -1
  425. package/dist/types/src/internal/formats/object.d.ts.map +0 -1
  426. package/dist/types/src/internal/formats/select.d.ts.map +0 -1
  427. package/dist/types/src/internal/formats/string.d.ts.map +0 -1
  428. package/dist/types/src/internal/formats/types.d.ts.map +0 -1
  429. package/dist/types/src/internal/json-schema/annotations.d.ts.map +0 -1
  430. package/dist/types/src/internal/json-schema/effect-schema.test.d.ts.map +0 -1
  431. package/dist/types/src/internal/json-schema/index.d.ts.map +0 -1
  432. package/dist/types/src/internal/json-schema/json-schema-normalize.d.ts.map +0 -1
  433. package/dist/types/src/internal/json-schema/json-schema-type.d.ts.map +0 -1
  434. package/dist/types/src/internal/json-schema/json-schema.d.ts.map +0 -1
  435. package/dist/types/src/internal/json-schema/json-schema.test.d.ts.map +0 -1
  436. package/dist/types/src/internal/object/clone.d.ts.map +0 -1
  437. package/dist/types/src/internal/object/common.d.ts.map +0 -1
  438. package/dist/types/src/internal/object/create-object.d.ts.map +0 -1
  439. package/dist/types/src/internal/object/create-object.test.d.ts.map +0 -1
  440. package/dist/types/src/internal/object/deleted.d.ts.map +0 -1
  441. package/dist/types/src/internal/object/ids.d.ts.map +0 -1
  442. package/dist/types/src/internal/object/index.d.ts.map +0 -1
  443. package/dist/types/src/internal/object/inspect.d.ts.map +0 -1
  444. package/dist/types/src/internal/object/json-serializer.d.ts.map +0 -1
  445. package/dist/types/src/internal/object/json-serializer.test.d.ts.map +0 -1
  446. package/dist/types/src/internal/object/schema-validator.d.ts +0 -2
  447. package/dist/types/src/internal/object/schema-validator.d.ts.map +0 -1
  448. package/dist/types/src/internal/object/schema-validator.test.d.ts.map +0 -1
  449. package/dist/types/src/internal/object/set-value.d.ts.map +0 -1
  450. package/dist/types/src/internal/object/set-value.test.d.ts.map +0 -1
  451. package/dist/types/src/internal/object/snapshot.d.ts.map +0 -1
  452. package/dist/types/src/internal/object/typed-object.d.ts.map +0 -1
  453. package/dist/types/src/internal/object/typed-object.test.d.ts.map +0 -1
  454. package/dist/types/src/internal/proxy/change-context.d.ts.map +0 -1
  455. package/dist/types/src/internal/proxy/change.test.d.ts.map +0 -1
  456. package/dist/types/src/internal/proxy/define-hidden-property.d.ts.map +0 -1
  457. package/dist/types/src/internal/proxy/errors.d.ts.map +0 -1
  458. package/dist/types/src/internal/proxy/event-batch.d.ts.map +0 -1
  459. package/dist/types/src/internal/proxy/handler.test.d.ts.map +0 -1
  460. package/dist/types/src/internal/proxy/index.d.ts.map +0 -1
  461. package/dist/types/src/internal/proxy/json-serializer.d.ts.map +0 -1
  462. package/dist/types/src/internal/proxy/make-object.d.ts.map +0 -1
  463. package/dist/types/src/internal/proxy/ownership.d.ts.map +0 -1
  464. package/dist/types/src/internal/proxy/proxy-types.d.ts.map +0 -1
  465. package/dist/types/src/internal/proxy/proxy-utils.d.ts.map +0 -1
  466. package/dist/types/src/internal/proxy/reactive-array.d.ts.map +0 -1
  467. package/dist/types/src/internal/proxy/schema-validator.d.ts.map +0 -1
  468. package/dist/types/src/internal/proxy/schema.test.d.ts.map +0 -1
  469. package/dist/types/src/internal/proxy/symbols.d.ts.map +0 -1
  470. package/dist/types/src/internal/proxy/typed-handler.d.ts.map +0 -1
  471. package/dist/types/src/internal/proxy/typed-handler.test.d.ts.map +0 -1
  472. package/dist/types/src/internal/proxy/typed-object.test.d.ts.map +0 -1
  473. package/dist/types/src/internal/ref/index.d.ts.map +0 -1
  474. package/dist/types/src/internal/ref/ref-array.d.ts.map +0 -1
  475. package/dist/types/src/internal/ref/ref.d.ts.map +0 -1
  476. package/dist/types/src/internal/ref/ref.test.d.ts.map +0 -1
  477. package/dist/types/src/internal/schema/compose.d.ts.map +0 -1
  478. package/dist/types/src/internal/schema/compose.test.d.ts.map +0 -1
  479. package/dist/types/src/internal/schema/echo-schema.d.ts.map +0 -1
  480. package/dist/types/src/internal/schema/index.d.ts.map +0 -1
  481. package/dist/types/src/internal/schema/manipulation.d.ts.map +0 -1
  482. package/dist/types/src/internal/schema/persistent-schema.d.ts.map +0 -1
  483. package/dist/types/src/internal/types/base.d.ts.map +0 -1
  484. package/dist/types/src/internal/types/entity.d.ts.map +0 -1
  485. package/dist/types/src/internal/types/index.d.ts.map +0 -1
  486. package/dist/types/src/internal/types/meta.d.ts.map +0 -1
  487. package/dist/types/src/internal/types/typename.d.ts.map +0 -1
  488. package/dist/types/src/internal/types/version.d.ts.map +0 -1
  489. package/src/internal/api/annotations.ts +0 -60
  490. /package/dist/lib/neutral/{chunk-ANHVGJI4.mjs.map → chunk-7RVZT53K.mjs.map} +0 -0
  491. /package/dist/lib/neutral/{chunk-OMUPQMLR.mjs.map → chunk-V72DY6LU.mjs.map} +0 -0
  492. /package/dist/types/src/internal/{annotations → Annotation}/annotations.test.d.ts +0 -0
  493. /package/dist/types/src/internal/{entities → Entity}/util.d.ts +0 -0
  494. /package/dist/types/src/internal/{formats → Format}/date.d.ts +0 -0
  495. /package/dist/types/src/internal/{formats → Format}/date.test.d.ts +0 -0
  496. /package/dist/types/src/internal/{formats → Format}/format.d.ts +0 -0
  497. /package/dist/types/src/internal/{formats → Format}/format.test.d.ts +0 -0
  498. /package/dist/types/src/internal/{formats → Format}/index.d.ts +0 -0
  499. /package/dist/types/src/internal/{formats → Format}/number.d.ts +0 -0
  500. /package/dist/types/src/internal/{formats → Format}/object.d.ts +0 -0
  501. /package/dist/types/src/internal/{formats → Format}/select.d.ts +0 -0
  502. /package/dist/types/src/internal/{formats → Format}/string.d.ts +0 -0
  503. /package/dist/types/src/internal/{json-schema → JsonSchema}/effect-schema.test.d.ts +0 -0
  504. /package/dist/types/src/internal/{json-schema → JsonSchema}/index.d.ts +0 -0
  505. /package/dist/types/src/internal/{json-schema → JsonSchema}/json-schema-normalize.d.ts +0 -0
  506. /package/dist/types/src/internal/{json-schema → JsonSchema}/json-schema.test.d.ts +0 -0
  507. /package/dist/types/src/internal/{object → Obj}/clone.d.ts +0 -0
  508. /package/dist/types/src/internal/{object → Obj}/common.d.ts +0 -0
  509. /package/dist/types/src/internal/{object → Obj}/create-object.test.d.ts +0 -0
  510. /package/dist/types/src/internal/{object → Obj}/ids.d.ts +0 -0
  511. /package/dist/types/src/internal/{object → Obj}/index.d.ts +0 -0
  512. /package/dist/types/src/internal/{object → Obj}/inspect.d.ts +0 -0
  513. /package/dist/types/src/internal/{object → Obj}/json-serializer.test.d.ts +0 -0
  514. /package/dist/types/src/internal/{object → Obj}/schema-validator.test.d.ts +0 -0
  515. /package/dist/types/src/internal/{object → Obj}/set-value.test.d.ts +0 -0
  516. /package/dist/types/src/internal/{object → Obj}/snapshot.d.ts +0 -0
  517. /package/dist/types/src/internal/{object → Obj}/typed-object.test.d.ts +0 -0
  518. /package/dist/types/src/internal/{ref → Ref}/index.d.ts +0 -0
  519. /package/dist/types/src/internal/{ref → Ref}/ref.test.d.ts +0 -0
  520. /package/dist/types/src/internal/{schema → Type}/compose.test.d.ts +0 -0
  521. /package/dist/types/src/internal/{schema → Type}/index.d.ts +0 -0
  522. /package/dist/types/src/internal/{schema → Type}/manipulation.d.ts +0 -0
  523. /package/dist/types/src/internal/{proxy → common/proxy}/change.test.d.ts +0 -0
  524. /package/dist/types/src/internal/{proxy → common/proxy}/define-hidden-property.d.ts +0 -0
  525. /package/dist/types/src/internal/{proxy → common/proxy}/event-batch.d.ts +0 -0
  526. /package/dist/types/src/internal/{proxy → common/proxy}/handler.test.d.ts +0 -0
  527. /package/dist/types/src/internal/{proxy → common/proxy}/index.d.ts +0 -0
  528. /package/dist/types/src/internal/{proxy → common/proxy}/json-serializer.d.ts +0 -0
  529. /package/dist/types/src/internal/{proxy → common/proxy}/make-object.d.ts +0 -0
  530. /package/dist/types/src/internal/{proxy → common/proxy}/ownership.d.ts +0 -0
  531. /package/dist/types/src/internal/{proxy → common/proxy}/proxy-types.d.ts +0 -0
  532. /package/dist/types/src/internal/{proxy → common/proxy}/proxy-utils.d.ts +0 -0
  533. /package/dist/types/src/internal/{proxy → common/proxy}/schema-validator.d.ts +0 -0
  534. /package/dist/types/src/internal/{proxy → common/proxy}/schema.test.d.ts +0 -0
  535. /package/dist/types/src/internal/{proxy → common/proxy}/symbols.d.ts +0 -0
  536. /package/dist/types/src/internal/{proxy → common/proxy}/typed-handler.d.ts +0 -0
  537. /package/dist/types/src/internal/{proxy → common/proxy}/typed-handler.test.d.ts +0 -0
  538. /package/dist/types/src/internal/{proxy → common/proxy}/typed-object.test.d.ts +0 -0
  539. /package/dist/types/src/internal/{types → common/types}/typename.d.ts +0 -0
  540. /package/src/internal/{entities → Entity}/util.ts +0 -0
  541. /package/src/internal/{formats → Format}/date.ts +0 -0
  542. /package/src/internal/{formats → Format}/format.ts +0 -0
  543. /package/src/internal/{formats → Format}/index.ts +0 -0
  544. /package/src/internal/{formats → Format}/number.ts +0 -0
  545. /package/src/internal/{formats → Format}/object.ts +0 -0
  546. /package/src/internal/{formats → Format}/select.ts +0 -0
  547. /package/src/internal/{formats → Format}/string.ts +0 -0
  548. /package/src/internal/{json-schema → JsonSchema}/effect-schema.test.ts +0 -0
  549. /package/src/internal/{json-schema → JsonSchema}/index.ts +0 -0
  550. /package/src/internal/{json-schema → JsonSchema}/json-schema-normalize.ts +0 -0
  551. /package/src/internal/{object → Obj}/ids.ts +0 -0
  552. /package/src/internal/{object → Obj}/index.ts +0 -0
  553. /package/src/internal/{object → Obj}/schema-validator.test.ts +0 -0
  554. /package/src/internal/{ref → Ref}/index.ts +0 -0
  555. /package/src/internal/{schema → Type}/index.ts +0 -0
  556. /package/src/internal/{proxy → common/proxy}/define-hidden-property.ts +0 -0
  557. /package/src/internal/{proxy → common/proxy}/event-batch.ts +0 -0
  558. /package/src/internal/{proxy → common/proxy}/index.ts +0 -0
  559. /package/src/internal/{proxy → common/proxy}/proxy-types.ts +0 -0
  560. /package/src/internal/{proxy → common/proxy}/proxy-utils.ts +0 -0
  561. /package/src/internal/{proxy → common/proxy}/schema-validator.ts +0 -0
  562. /package/src/internal/{proxy → common/proxy}/symbols.ts +0 -0
  563. /package/src/internal/{types → common/types}/typename.ts +0 -0
@@ -4,51 +4,24 @@ import * as Layer from 'effect/Layer';
4
4
  import * as Option from 'effect/Option';
5
5
  import * as Schema from 'effect/Schema';
6
6
  import type * as Types from 'effect/Types';
7
- import { type QueryAST } from '@dxos/echo-protocol';
8
- import { DXN, type PublicKey, type SpaceId } from '@dxos/keys';
9
- import { type QueryOptions as QueryOptionsProto } from '@dxos/protocols/proto/dxos/echo/filter';
7
+ import { DXN, type SpaceId } from '@dxos/keys';
10
8
  import type * as Entity from './Entity';
11
9
  import * as Err from './Err';
12
10
  import type * as Filter from './Filter';
13
11
  import type * as Hypergraph from './Hypergraph';
14
- import type { Ref } from './internal/ref/ref';
15
- import { type AnyProperties } from './internal/types';
12
+ import { type AnyProperties } from './internal/common/types';
13
+ import type { Ref } from './internal/Ref/ref';
16
14
  import type * as Obj from './Obj';
17
15
  import type * as Query from './Query';
18
16
  import type * as QueryResult from './QueryResult';
19
17
  import type * as SchemaRegistry from './SchemaRegistry';
20
18
  import type * as Type from './Type';
21
- /**
22
- * @deprecated Use `QueryAST.QueryOptions` instead.
23
- */
24
- export type QueryOptions = {
25
- /**
26
- * @deprecated Use `spaceIds` instead.
27
- */
28
- spaces?: PublicKey[];
29
- /**
30
- * Query only in specific spaces.
31
- */
32
- spaceIds?: string[];
33
- /**
34
- * Return only the first `limit` results.
35
- */
36
- limit?: number;
37
- /**
38
- * Query only local spaces, or remote on agent.
39
- * @default `QueryOptions.DataLocation.LOCAL`
40
- *
41
- * Options:
42
- * - proto3_optional = true
43
- */
44
- dataLocation?: QueryOptionsProto.DataLocation;
45
- };
46
19
  /**
47
20
  * `query` API function declaration.
48
21
  */
49
22
  export interface QueryFn {
50
- <Q extends Query.Any>(query: Q, options?: (QueryAST.QueryOptions & QueryOptions) | undefined): QueryResult.QueryResult<Query.Type<Q>>;
51
- <F extends Filter.Any>(filter: F, options?: (QueryAST.QueryOptions & QueryOptions) | undefined): QueryResult.QueryResult<Filter.Type<F>>;
23
+ <Q extends Query.Any>(query: Q): QueryResult.QueryResult<Query.Type<Q>>;
24
+ <F extends Filter.Any>(filter: F): QueryResult.QueryResult<Filter.Type<F>>;
52
25
  }
53
26
  /**
54
27
  * Common interface for Database and Queue.
@@ -79,7 +52,7 @@ export type FlushOptions = {
79
52
  disk?: boolean;
80
53
  /**
81
54
  * Wait for pending index updates.
82
- * @default false
55
+ * @default true
83
56
  */
84
57
  indexes?: boolean;
85
58
  /**
@@ -105,7 +78,7 @@ export interface Database extends Queryable {
105
78
  /**
106
79
  * Return object by local ID.
107
80
  */
108
- getObjectById<T extends Obj.Unknown = Obj.Obj<AnyProperties>>(id: string, opts?: GetObjectByIdOptions): T | undefined;
81
+ getObjectById<T extends Obj.Unknown = Obj.OfShape<AnyProperties>>(id: string, opts?: GetObjectByIdOptions): T | undefined;
109
82
  /**
110
83
  * Query objects.
111
84
  */
@@ -165,7 +138,7 @@ export declare const spaceId: Effect.Effect<SpaceId, never, Service>;
165
138
  */
166
139
  export declare const resolve: {
167
140
  (ref: DXN | Ref<any>): Effect.Effect<Entity.Unknown, never, Service>;
168
- <S extends Type.Entity.Any>(ref: DXN | Ref<any>, schema: S): Effect.Effect<Schema.Schema.Type<S>, Err.ObjectNotFoundError, Service>;
141
+ <S extends Type.AnyEntity>(ref: DXN | Ref<any>, schema: S): Effect.Effect<Schema.Schema.Type<S>, Err.ObjectNotFoundError, Service>;
169
142
  };
170
143
  /**
171
144
  * Loads an object reference.
@@ -204,6 +177,18 @@ export declare const runQuery: {
204
177
  <Q extends Query.Any>(query: Q): Effect.Effect<Query.Type<Q>[], never, Service>;
205
178
  <F extends Filter.Any>(filter: F): Effect.Effect<Filter.Type<F>[], never, Service>;
206
179
  };
180
+ /**
181
+ * Executes the query once and returns the first result as or None.
182
+ */
183
+ export declare const runQueryFirst: {
184
+ <Q extends Query.Any>(query: Q): Effect.Effect<Option.Option<Query.Type<Q>>, never, Service>;
185
+ <F extends Filter.Any>(filter: F): Effect.Effect<Option.Option<Filter.Type<F>>, never, Service>;
186
+ };
187
+ /**
188
+ * Persists schemas in the database so they replicate to other clients.
189
+ * @see {@link SchemaRegistry.SchemaRegistry.register}
190
+ */
191
+ export declare const registerSchema: (input: SchemaRegistry.RegisterSchemaInput[]) => Effect.Effect<Type.RuntimeType[], never, Service>;
207
192
  /**
208
193
  * Creates a schema query result that can be subscribed to.
209
194
  */
@@ -1 +1 @@
1
- {"version":3,"file":"Database.d.ts","sourceRoot":"","sources":["../../../src/Database.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Database.d.ts","sourceRoot":"","sources":["../../../src/Database.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,19 @@
1
+ import * as Schema from 'effect/Schema';
2
+ import * as Collection from './Collection';
3
+ import * as Feed from './Feed';
4
+ import * as Obj from './Obj';
5
+ import * as View from './View';
6
+ /**
7
+ * Abstart set of objects, represented by a view, feed, or collection.
8
+ */
9
+ export declare const Dataset: Schema.Union<[import("./Type").Obj<{
10
+ readonly name?: string | undefined;
11
+ readonly kind?: string | undefined;
12
+ readonly namespace?: "data" | "trace" | undefined;
13
+ }, Schema.Struct.Fields>, import("./Type").Obj<{
14
+ readonly name?: string | undefined;
15
+ readonly objects: readonly import("./internal").Ref<import("./Entity").OfKind<import("./internal").EntityKind.Object> & Obj.Unknown>[];
16
+ }, Schema.Struct.Fields>, import("./Type").Obj<View.View, Schema.Struct.Fields>]>;
17
+ export type Dataset = Feed.Feed | Collection.Collection | View.View;
18
+ export declare const isDataset: (value: unknown) => value is Dataset;
19
+ //# sourceMappingURL=Dataset.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Dataset.d.ts","sourceRoot":"","sources":["../../../src/Dataset.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAExC,OAAO,KAAK,UAAU,MAAM,cAAc,CAAC;AAC3C,OAAO,KAAK,IAAI,MAAM,QAAQ,CAAC;AAC/B,OAAO,KAAK,GAAG,MAAM,OAAO,CAAC;AAC7B,OAAO,KAAK,IAAI,MAAM,QAAQ,CAAC;AAE/B;;GAEG;AACH,eAAO,MAAM,OAAO;;;;;;;iFAA4D,CAAC;AACjF,MAAM,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,GAAG,UAAU,CAAC,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC;AAEpE,eAAO,MAAM,SAAS,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,KAAK,IAAI,OAIpD,CAAC"}
@@ -1,10 +1,15 @@
1
1
  import type { ForeignKey } from '@dxos/echo-protocol';
2
2
  import type { DXN, ObjectId } from '@dxos/keys';
3
- import { type ChangeCallback, EntityKind, KindId, type Mutable, type ObjectJSON, type ObjectMeta, type ReadonlyMeta, SnapshotKindId } from './internal';
4
- export { KindId, SnapshotKindId };
5
- export declare const Kind: typeof EntityKind;
6
- export type Kind = EntityKind;
7
- export declare const KindSchema: import("effect/Schema").Enums<typeof EntityKind>;
3
+ import * as internal from './internal';
4
+ import type * as Relation from './Relation';
5
+ import type * as Type from './Type';
6
+ export declare const KindId: "~@dxos/echo/Kind";
7
+ export type KindId = typeof internal.KindId;
8
+ export declare const SnapshotKindId: "~@dxos/echo/SnapshotKind";
9
+ export type SnapshotKindId = typeof internal.SnapshotKindId;
10
+ export declare const Kind: typeof internal.EntityKind;
11
+ export type Kind = internal.EntityKind;
12
+ export declare const KindSchema: import("effect/Schema").Enums<typeof internal.EntityKind>;
8
13
  /**
9
14
  * Assigns a kind to an Object or Relation instance.
10
15
  * NOTE: Needed to make `isRelation` and `isObject` checks work.
@@ -47,11 +52,33 @@ export interface Snapshot extends SnapshotOfKind<Kind> {
47
52
  export interface Any extends OfKind<Kind> {
48
53
  [key: string]: unknown;
49
54
  }
50
- export declare const getKind: (schema: import("effect/Schema").Schema.All) => EntityKind | undefined;
55
+ /**
56
+ * Returns all properties of an object or relation except for the id and kind.
57
+ */
58
+ export type Properties<T> = Omit<T, 'id' | KindId | Relation.Source | Relation.Target>;
59
+ /**
60
+ * Check if a value is an ECHO entity (object or relation).
61
+ * Returns `false` for snapshots.
62
+ */
63
+ export declare const isEntity: (value: unknown) => value is Unknown;
64
+ /**
65
+ * Check if a value is an ECHO entity snapshot.
66
+ * Returns `false` for entities.
67
+ */
68
+ export declare const isSnapshot: (value: unknown) => value is Snapshot;
69
+ export declare const getKind: (schema: import("effect/Schema").Schema.All) => internal.EntityKind | undefined;
70
+ /**
71
+ * Property that accesses metadata for an entity.
72
+ */
73
+ export declare const Meta: unique symbol;
74
+ /**
75
+ * Property that accesses metadata for an entity.
76
+ */
77
+ export type Meta = typeof Meta;
51
78
  /**
52
79
  * JSON representation of an entity.
53
80
  */
54
- export type JSON = ObjectJSON;
81
+ export type JSON = internal.ObjectJSON;
55
82
  /**
56
83
  * Get the DXN of an entity (object or relation).
57
84
  */
@@ -59,7 +86,12 @@ export declare const getDXN: (entity: Unknown | Snapshot) => DXN;
59
86
  /**
60
87
  * Get the DXN of an entity's type.
61
88
  */
62
- export declare const getTypeDXN: (obj: import("./internal").AnyProperties) => DXN | undefined;
89
+ export declare const getTypeDXN: (obj: internal.AnyProperties) => DXN | undefined;
90
+ /**
91
+ * Get the schema of an entity.
92
+ * Returns the branded ECHO schema used to create the entity.
93
+ */
94
+ export declare const getSchema: (entity: Unknown | Snapshot) => Type.AnyEntity | undefined;
63
95
  /**
64
96
  * Get the typename of an entity's type.
65
97
  */
@@ -73,8 +105,8 @@ export declare const getDatabase: (entity: Unknown | Snapshot) => any | undefine
73
105
  * Returns mutable meta when passed a mutable entity (inside change callback).
74
106
  * Returns read-only meta when passed a regular entity or snapshot.
75
107
  */
76
- export declare function getMeta(entity: Mutable<Unknown>): ObjectMeta;
77
- export declare function getMeta(entity: Unknown | Snapshot): ReadonlyMeta;
108
+ export declare function getMeta(entity: Mutable<Unknown>): internal.ObjectMeta;
109
+ export declare function getMeta(entity: Unknown | Snapshot): internal.ReadonlyMeta;
78
110
  /**
79
111
  * Get foreign keys for an entity from the specified source.
80
112
  */
@@ -101,14 +133,14 @@ export declare const toJSON: (entity: Unknown | Snapshot) => JSON;
101
133
  */
102
134
  export declare const subscribe: (entity: Unknown, callback: () => void) => (() => void);
103
135
  /**
104
- * Used to provide a mutable view of an entity within `Entity.change`.
136
+ * Used to provide a mutable view of an entity within `Entity.update`.
105
137
  */
106
- export type { Mutable };
138
+ export type Mutable<T> = internal.Mutable<T>;
107
139
  /**
108
140
  * Perform mutations on an entity (object or relation) within a change context.
109
141
  *
110
142
  * Entities are read-only by default. Mutations are batched and notifications fire
111
- * when the callback completes. Direct mutations outside of `Entity.change` will throw
143
+ * when the callback completes. Direct mutations outside of `Entity.update` will throw
112
144
  * at runtime.
113
145
  *
114
146
  * @param entity - The echo entity (object or relation) to mutate.
@@ -116,27 +148,27 @@ export type { Mutable };
116
148
  *
117
149
  * @example
118
150
  * ```typescript
119
- * // Mutate within Entity.change
120
- * Entity.change(entity, (e) => {
121
- * e.name = 'Updated';
122
- * e.count = 42;
151
+ * // Mutate within Entity.update
152
+ * Entity.update(entity, (obj) => {
153
+ * obj.name = 'Updated';
154
+ * obj.count = 42;
123
155
  * });
124
156
  *
125
157
  * // Direct mutation throws
126
- * entity.name = 'Bob'; // Error: Cannot modify outside Entity.change()
158
+ * entity.name = 'Bob'; // Error: Cannot modify outside Entity.update()
127
159
  * ```
128
160
  *
129
- * Note: For type-specific operations, prefer `Obj.change` or `Relation.change`.
161
+ * Note: For type-specific operations, prefer `Obj.update` or `Relation.update`.
130
162
  */
131
- export declare const change: <T extends Unknown>(entity: T, callback: ChangeCallback<T>) => void;
163
+ export declare const update: <T extends Unknown>(entity: T, callback: internal.ChangeCallback<T>) => void;
132
164
  /**
133
165
  * Add a tag to an entity.
134
- * Must be called within an `Entity.change`, `Obj.change`, or `Relation.change` callback.
166
+ * Must be called within an `Entity.update`, `Obj.update`, or `Relation.update` callback.
135
167
  */
136
168
  export declare const addTag: (entity: Mutable<Unknown>, tag: string) => void;
137
169
  /**
138
170
  * Remove a tag from an entity.
139
- * Must be called within an `Entity.change`, `Obj.change`, or `Relation.change` callback.
171
+ * Must be called within an `Entity.update`, `Obj.update`, or `Relation.update` callback.
140
172
  */
141
173
  export declare const removeTag: (entity: Mutable<Unknown>, tag: string) => void;
142
174
  //# sourceMappingURL=Entity.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Entity.d.ts","sourceRoot":"","sources":["../../../src/Entity.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Entity.d.ts","sourceRoot":"","sources":["../../../src/Entity.ts"],"names":[],"mappings":"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"}
@@ -2,27 +2,27 @@ import { BaseError, type BaseErrorOptions } from '@dxos/errors';
2
2
  import { type DXN } from '@dxos/keys';
3
3
  declare const SchemaNotFoundError_base: {
4
4
  new (options?: BaseErrorOptions): {
5
+ cause?: unknown;
6
+ stack?: string;
5
7
  name: "SchemaNotFoundError";
6
8
  context: Record<string, unknown>;
7
9
  readonly message: string;
8
10
  readonly _tag: "SchemaNotFoundError";
9
- stack?: string;
10
- cause?: unknown;
11
11
  };
12
+ isError(error: unknown): error is Error;
12
13
  name: "SchemaNotFoundError";
13
14
  is(error: unknown): error is BaseError;
14
- wrap(options?: Omit<BaseErrorOptions, "cause"> & {
15
+ wrap(options?: Omit<BaseErrorOptions, 'cause'> & {
15
16
  ifTypeDiffers?: boolean;
16
17
  }): (error: unknown) => {
18
+ cause?: unknown;
19
+ stack?: string;
17
20
  name: "SchemaNotFoundError";
18
21
  context: Record<string, unknown>;
19
22
  readonly message: string;
20
23
  readonly _tag: "SchemaNotFoundError";
21
- stack?: string;
22
- cause?: unknown;
23
24
  };
24
25
  extend<Name extends string = string>(name: Name, message?: string): any;
25
- isError(error: unknown): error is Error;
26
26
  captureStackTrace(targetObject: object, constructorOpt?: Function): void;
27
27
  prepareStackTrace?: ((err: Error, stackTraces: NodeJS.CallSite[]) => any) | undefined;
28
28
  stackTraceLimit: number;
@@ -32,27 +32,27 @@ export declare class SchemaNotFoundError extends SchemaNotFoundError_base {
32
32
  }
33
33
  declare const ObjectNotFoundError_base: {
34
34
  new (options?: BaseErrorOptions): {
35
+ cause?: unknown;
36
+ stack?: string;
35
37
  name: "ObjectNotFoundError";
36
38
  context: Record<string, unknown>;
37
39
  readonly message: string;
38
40
  readonly _tag: "ObjectNotFoundError";
39
- stack?: string;
40
- cause?: unknown;
41
41
  };
42
+ isError(error: unknown): error is Error;
42
43
  name: "ObjectNotFoundError";
43
44
  is(error: unknown): error is BaseError;
44
- wrap(options?: Omit<BaseErrorOptions, "cause"> & {
45
+ wrap(options?: Omit<BaseErrorOptions, 'cause'> & {
45
46
  ifTypeDiffers?: boolean;
46
47
  }): (error: unknown) => {
48
+ cause?: unknown;
49
+ stack?: string;
47
50
  name: "ObjectNotFoundError";
48
51
  context: Record<string, unknown>;
49
52
  readonly message: string;
50
53
  readonly _tag: "ObjectNotFoundError";
51
- stack?: string;
52
- cause?: unknown;
53
54
  };
54
55
  extend<Name extends string = string>(name: Name, message?: string): any;
55
- isError(error: unknown): error is Error;
56
56
  captureStackTrace(targetObject: object, constructorOpt?: Function): void;
57
57
  prepareStackTrace?: ((err: Error, stackTraces: NodeJS.CallSite[]) => any) | undefined;
58
58
  stackTraceLimit: number;
@@ -68,27 +68,27 @@ export declare class ObjectNotFoundError extends ObjectNotFoundError_base {
68
68
  export type GetReactiveErrorReason = 'no-database' | 'object-not-found';
69
69
  declare const GetReactiveError_base: {
70
70
  new (options?: BaseErrorOptions): {
71
+ cause?: unknown;
72
+ stack?: string;
71
73
  name: "GetReactiveError";
72
74
  context: Record<string, unknown>;
73
75
  readonly message: string;
74
76
  readonly _tag: "GetReactiveError";
75
- stack?: string;
76
- cause?: unknown;
77
77
  };
78
+ isError(error: unknown): error is Error;
78
79
  name: "GetReactiveError";
79
80
  is(error: unknown): error is BaseError;
80
- wrap(options?: Omit<BaseErrorOptions, "cause"> & {
81
+ wrap(options?: Omit<BaseErrorOptions, 'cause'> & {
81
82
  ifTypeDiffers?: boolean;
82
83
  }): (error: unknown) => {
84
+ cause?: unknown;
85
+ stack?: string;
83
86
  name: "GetReactiveError";
84
87
  context: Record<string, unknown>;
85
88
  readonly message: string;
86
89
  readonly _tag: "GetReactiveError";
87
- stack?: string;
88
- cause?: unknown;
89
90
  };
90
91
  extend<Name extends string = string>(name: Name, message?: string): any;
91
- isError(error: unknown): error is Error;
92
92
  captureStackTrace(targetObject: object, constructorOpt?: Function): void;
93
93
  prepareStackTrace?: ((err: Error, stackTraces: NodeJS.CallSite[]) => any) | undefined;
94
94
  stackTraceLimit: number;
@@ -1 +1 @@
1
- {"version":3,"file":"Err.d.ts","sourceRoot":"","sources":["../../../src/Err.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,SAAS,EAAE,KAAK,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAChE,OAAO,EAAE,KAAK,GAAG,EAAE,MAAM,YAAY,CAAC;;;;;;;;;;;;;qBA2BpB,CAAC;;;;;;;;;;;;;;;AAzBnB,qBAAa,mBAAoB,SAAQ,wBAA2D;gBACtF,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,gBAAgB;CAGvD;;;;;;;;;;;;;qBAqBiB,CAAC;;;;;;;;;;;;;;;AAnBnB,qBAAa,mBAAoB,SAAQ,wBAA2D;gBACtF,GAAG,EAAE,GAAG,EAAE,OAAO,CAAC,EAAE,gBAAgB;CAGjD;AAED;;;;GAIG;AACH,MAAM,MAAM,sBAAsB,GAAG,aAAa,GAAG,kBAAkB,CAAC;;;;;;;;;;;;;qBAQtD,CAAC;;;;;;;;;;;;;;;AANnB;;;GAGG;AACH,qBAAa,gBAAiB,SAAQ,qBAGrC;gBACa,OAAO,EAAE;QAAE,MAAM,EAAE,sBAAsB,CAAC;QAAC,UAAU,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,gBAAgB;CAGhG"}
1
+ {"version":3,"file":"Err.d.ts","sourceRoot":"","sources":["../../../src/Err.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,SAAS,EAAE,KAAK,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAChE,OAAO,EAAE,KAAK,GAAG,EAAE,MAAM,YAAY,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEtC,qBAAa,mBAAoB,SAAQ,wBAA2D;IAClG,YAAY,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,gBAAgB,EAErD;CACF;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAED,qBAAa,mBAAoB,SAAQ,wBAA2D;IAClG,YAAY,GAAG,EAAE,GAAG,EAAE,OAAO,CAAC,EAAE,gBAAgB,EAE/C;CACF;AAED;;;;GAIG;AACH,MAAM,MAAM,sBAAsB,GAAG,aAAa,GAAG,kBAAkB,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAExE;;;GAGG;AACH,qBAAa,gBAAiB,SAAQ,qBAGrC;IACC,YAAY,OAAO,EAAE;QAAE,MAAM,EAAE,sBAAsB,CAAC;QAAC,UAAU,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,gBAAgB,EAE9F;CACF"}
@@ -0,0 +1,80 @@
1
+ import * as Option from 'effect/Option';
2
+ import * as Schema from 'effect/Schema';
3
+ import type * as Types from 'effect/Types';
4
+ /**
5
+ * Extensions allow objects to contain typed properties that are not part of the schema.
6
+ */
7
+ export declare const TypeId: '~@dxos/echo/Extension';
8
+ export type TypeId = typeof TypeId;
9
+ export interface Extension<T> extends Record<TypeId, {
10
+ _Type: T;
11
+ }> {
12
+ readonly [TypeId]: {
13
+ _Type: T;
14
+ };
15
+ readonly key: Key;
16
+ readonly valueSchema: Schema.Schema<T>;
17
+ }
18
+ /**
19
+ * Create a new typed extension.
20
+ *
21
+ * ```ts
22
+ * const ColorExtension = Extension.make('color', Schema.String);
23
+ *
24
+ * const obj = Obj.make(Person, {
25
+ * [Obj.Meta]: { keys: [{ source: 'external', id: '123' }] },
26
+ * name: 'John',
27
+ * email: 'john@example.com',
28
+ * });
29
+ *
30
+ * Obj.update(obj, (obj) => {
31
+ * Extension.set(obj.extensions, ColorExtension, 'red');
32
+ * });
33
+ *
34
+ * console.log(Extension.get(obj.extensions, ColorExtension)); // 'red'
35
+ * ```
36
+ */
37
+ export declare const make: <S extends Schema.Schema.AnyNoContext>(key: string, valueSchema: S) => Extension<Schema.Schema.Type<S>>;
38
+ /**
39
+ * Unique identifier for an extension.
40
+ */
41
+ export declare const Key: Schema.brand<typeof Schema.String, "~@dxos/echo/ExtensionKey">;
42
+ export type Key = Schema.Schema.Type<typeof Key>;
43
+ /**
44
+ * Set of extension values.
45
+ *
46
+ * Can be used inside an object/relation schema:
47
+ *
48
+ * ```ts
49
+ * const Person = Schema.Struct({
50
+ * name: Schema.String,
51
+ * extensions: Extension.Values,
52
+ * });
53
+ * ```
54
+ */
55
+ export declare const Values: Schema.Record$<Schema.brand<typeof Schema.String, "~@dxos/echo/ExtensionKey">, typeof Schema.Unknown>;
56
+ export interface Values extends Schema.Schema.Type<typeof Values> {
57
+ }
58
+ /**
59
+ * Get the value of an extension from a set of values.
60
+ */
61
+ export declare const get: {
62
+ <T>(extension: Extension<T>): (values: Values) => Option.Option<T>;
63
+ <T>(values: Values, extension: Extension<T>): Option.Option<T>;
64
+ };
65
+ /**
66
+ * Set the value of an extension in a set of values.
67
+ *
68
+ * Can also be used within Obj.update callback:
69
+ *
70
+ * ```ts
71
+ * Obj.update(obj, (obj) => {
72
+ * Extension.set(obj.extensions, ColorExtension, 'red');
73
+ * });
74
+ * ```
75
+ */
76
+ export declare const set: {
77
+ <T>(extension: Extension<T>, value: T): (values: Values) => void;
78
+ <T>(values: Types.Mutable<Values>, extension: Extension<T>, value: T): void;
79
+ };
80
+ //# sourceMappingURL=Extension.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Extension.d.ts","sourceRoot":"","sources":["../../../src/Extension.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,KAAK,KAAK,MAAM,cAAc,CAAC;AAI3C;;GAEG;AAEH,eAAO,MAAM,MAAM,EAAG,uBAAgC,CAAC;AACvD,MAAM,MAAM,MAAM,GAAG,OAAO,MAAM,CAAC;AAEnC,MAAM,WAAW,SAAS,CAAC,CAAC,CAAE,SAAQ,MAAM,CAC1C,MAAM,EACN;IACE,KAAK,EAAE,CAAC,CAAC;CACV,CACF;IACC,QAAQ,CAAC,CAAC,MAAM,CAAC,EAAE;QACjB,KAAK,EAAE,CAAC,CAAC;KACV,CAAC;IAEF,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC;IAClB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;CACxC;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,eAAO,MAAM,IAAI,GAAI,CAAC,SAAS,MAAM,CAAC,MAAM,CAAC,YAAY,OAClD,MAAM,eACE,CAAC,KACb,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAMjC,CAAC;AAEF;;GAEG;AAEH,eAAO,MAAM,GAAG,gEAA+D,CAAC;AAChF,MAAM,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC;AAEjD;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,MAAM,uGAAqD,CAAC;AACzE,MAAM,WAAW,MAAO,SAAQ,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,MAAM,CAAC;CAAG;AAEpE;;GAEG;AACH,eAAO,MAAM,GAAG,EAAE;IAChB,CAAC,CAAC,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,KAAK,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IACnE,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;CAU/D,CAAC;AAEH;;;;;;;;;;GAUG;AACH,eAAO,MAAM,GAAG,EAAE;IAChB,CAAC,CAAC,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IACjE,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,IAAI,CAAC;CAM5E,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=Extension.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Extension.test.d.ts","sourceRoot":"","sources":["../../../src/Extension.test.ts"],"names":[],"mappings":""}