@dxos/echo 0.8.4-main.937b3ca → 0.8.4-main.9735255

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 (225) hide show
  1. package/dist/lib/{browser → neutral}/Annotation.mjs +4 -5
  2. package/dist/lib/neutral/Database.mjs +17 -0
  3. package/dist/lib/{browser → neutral}/Entity.mjs +8 -9
  4. package/dist/lib/{browser → neutral}/Err.mjs +2 -3
  5. package/dist/lib/{browser → neutral}/Filter.mjs +9 -10
  6. package/dist/lib/{browser → neutral}/Format.mjs +4 -5
  7. package/dist/lib/neutral/JsonSchema.mjs +19 -0
  8. package/dist/lib/{browser → neutral}/Key.mjs +2 -3
  9. package/dist/lib/{browser → neutral}/Obj.mjs +9 -10
  10. package/dist/lib/{browser → neutral}/Order.mjs +2 -3
  11. package/dist/lib/neutral/Query.mjs +26 -0
  12. package/dist/lib/neutral/QueryResult.mjs +2 -0
  13. package/dist/lib/neutral/Ref.mjs +22 -0
  14. package/dist/lib/{browser → neutral}/Relation.mjs +9 -10
  15. package/dist/lib/neutral/SchemaRegistry.mjs +2 -0
  16. package/dist/lib/neutral/Tag.mjs +25 -0
  17. package/dist/lib/{browser → neutral}/Type.mjs +8 -9
  18. package/dist/lib/{browser/chunk-NOPVNWPT.mjs → neutral/chunk-2MTHJ5UW.mjs} +6 -7
  19. package/dist/lib/{node-esm/chunk-ILMLLM4R.mjs.map → neutral/chunk-2MTHJ5UW.mjs.map} +2 -2
  20. package/dist/lib/{browser/chunk-22JMFST2.mjs → neutral/chunk-3ZEAZF7T.mjs} +3 -4
  21. package/dist/lib/{browser/chunk-22JMFST2.mjs.map → neutral/chunk-3ZEAZF7T.mjs.map} +1 -1
  22. package/dist/lib/{browser/chunk-ZHXZGIXD.mjs → neutral/chunk-4L6DOFXP.mjs} +1 -3
  23. package/dist/lib/{browser/chunk-ZHXZGIXD.mjs.map → neutral/chunk-4L6DOFXP.mjs.map} +1 -1
  24. package/dist/lib/{browser/chunk-PQZW3S6L.mjs → neutral/chunk-4TT624YA.mjs} +3 -4
  25. package/dist/lib/{node-esm/chunk-Y75VU7LB.mjs.map → neutral/chunk-4TT624YA.mjs.map} +1 -1
  26. package/dist/lib/{browser/chunk-FRDT7RA4.mjs → neutral/chunk-62DWJ6CE.mjs} +3 -4
  27. package/dist/lib/{node-esm/chunk-W6QIEBTQ.mjs.map → neutral/chunk-62DWJ6CE.mjs.map} +3 -3
  28. package/dist/lib/{browser/chunk-W5D2GWAW.mjs → neutral/chunk-6QPSGMEF.mjs} +5 -6
  29. package/dist/lib/{browser/chunk-W5D2GWAW.mjs.map → neutral/chunk-6QPSGMEF.mjs.map} +1 -1
  30. package/dist/lib/{browser/chunk-INHXFXY5.mjs → neutral/chunk-ANHVGJI4.mjs} +2 -3
  31. package/dist/lib/{node-esm/chunk-AJEMYSIR.mjs.map → neutral/chunk-ANHVGJI4.mjs.map} +1 -1
  32. package/dist/lib/{browser/chunk-RK4Z4JUZ.mjs → neutral/chunk-CUDIBUM4.mjs} +2 -3
  33. package/dist/lib/{node-esm/chunk-YOLH5KS4.mjs.map → neutral/chunk-CUDIBUM4.mjs.map} +1 -1
  34. package/dist/lib/{browser/chunk-XDIUHAAX.mjs → neutral/chunk-HMOXCO27.mjs} +3 -4
  35. package/dist/lib/{node-esm/chunk-QLI2EIJ2.mjs.map → neutral/chunk-HMOXCO27.mjs.map} +1 -1
  36. package/dist/lib/{browser/chunk-U2J7TA7K.mjs → neutral/chunk-IP2GHXWA.mjs} +5 -6
  37. package/dist/lib/{node-esm/chunk-DMR7OAFK.mjs.map → neutral/chunk-IP2GHXWA.mjs.map} +1 -1
  38. package/dist/lib/{browser/chunk-CGS2ULMK.mjs → neutral/chunk-J5LGTIGS.mjs} +1 -2
  39. package/dist/lib/{browser/chunk-7STIBCP7.mjs → neutral/chunk-KRHDMXSU.mjs} +4 -5
  40. package/dist/lib/{browser/chunk-7STIBCP7.mjs.map → neutral/chunk-KRHDMXSU.mjs.map} +1 -1
  41. package/dist/lib/{browser/chunk-FPOISFQK.mjs → neutral/chunk-NWUO5FKZ.mjs} +3 -4
  42. package/dist/lib/{node-esm/chunk-NBWL7UCZ.mjs.map → neutral/chunk-NWUO5FKZ.mjs.map} +1 -1
  43. package/dist/lib/{browser/chunk-IXVWLTG7.mjs → neutral/chunk-OMUPQMLR.mjs} +1 -3
  44. package/dist/lib/{browser/chunk-IXVWLTG7.mjs.map → neutral/chunk-OMUPQMLR.mjs.map} +1 -1
  45. package/dist/lib/{browser/chunk-JMKVF2YQ.mjs → neutral/chunk-ROKO4RKJ.mjs} +2 -3
  46. package/dist/lib/{node-esm/chunk-K37NA7PO.mjs.map → neutral/chunk-ROKO4RKJ.mjs.map} +1 -1
  47. package/dist/lib/{browser/chunk-CJ5YELTO.mjs → neutral/chunk-RPB6V4BE.mjs} +2 -3
  48. package/dist/lib/{browser/chunk-CJ5YELTO.mjs.map → neutral/chunk-RPB6V4BE.mjs.map} +1 -1
  49. package/dist/lib/{browser/chunk-BJPE6CIC.mjs → neutral/chunk-SU2LVM7J.mjs} +47 -48
  50. package/dist/lib/neutral/chunk-SU2LVM7J.mjs.map +7 -0
  51. package/dist/lib/{browser/chunk-ZAGAOZVY.mjs → neutral/chunk-VB5HVDCA.mjs} +4 -5
  52. package/dist/lib/{node-esm/chunk-QYR67VBV.mjs.map → neutral/chunk-VB5HVDCA.mjs.map} +1 -1
  53. package/dist/lib/{browser/chunk-2SBB7OWV.mjs → neutral/chunk-VR4A4WGG.mjs} +5 -6
  54. package/dist/lib/{browser/chunk-2SBB7OWV.mjs.map → neutral/chunk-VR4A4WGG.mjs.map} +2 -2
  55. package/dist/lib/{browser/chunk-MYCCGG2T.mjs → neutral/chunk-X2MPMYYN.mjs} +1 -3
  56. package/dist/lib/{node-esm/chunk-MOWUEW5P.mjs.map → neutral/chunk-X2MPMYYN.mjs.map} +1 -1
  57. package/dist/lib/{browser/chunk-6L5HHUVU.mjs → neutral/chunk-XK5OUUBY.mjs} +4 -5
  58. package/dist/lib/{node-esm/chunk-5OBN7GZW.mjs.map → neutral/chunk-XK5OUUBY.mjs.map} +1 -1
  59. package/dist/lib/{browser/chunk-KQQGVHFN.mjs → neutral/chunk-XMIDBDE6.mjs} +5 -6
  60. package/dist/lib/{node-esm/chunk-NRN3ZW2T.mjs.map → neutral/chunk-XMIDBDE6.mjs.map} +1 -1
  61. package/dist/lib/{browser/chunk-YKTSSMDS.mjs → neutral/chunk-YQYMWZAD.mjs} +1 -3
  62. package/dist/lib/{node-esm/chunk-XHJRMQZD.mjs.map → neutral/chunk-YQYMWZAD.mjs.map} +1 -1
  63. package/dist/lib/{browser → neutral}/index.mjs +23 -24
  64. package/dist/lib/{browser → neutral}/internal/index.mjs +7 -8
  65. package/dist/lib/neutral/meta.json +1 -0
  66. package/dist/lib/{browser → neutral}/testing/index.mjs +23 -24
  67. package/dist/lib/{node-esm → neutral}/testing/index.mjs.map +1 -1
  68. package/dist/types/src/Obj.d.ts +2 -2
  69. package/dist/types/src/Obj.d.ts.map +1 -1
  70. package/dist/types/src/Relation.d.ts +1 -1
  71. package/dist/types/src/Relation.d.ts.map +1 -1
  72. package/dist/types/src/internal/api/meta.d.ts +2 -2
  73. package/dist/types/src/internal/api/meta.d.ts.map +1 -1
  74. package/dist/types/src/internal/entities/object.d.ts.map +1 -1
  75. package/dist/types/src/internal/entities/relation.d.ts.map +1 -1
  76. package/dist/types/src/internal/formats/select.d.ts +2 -2
  77. package/dist/types/src/internal/formats/select.d.ts.map +1 -1
  78. package/dist/types/src/internal/json-schema/json-schema-normalize.d.ts.map +1 -1
  79. package/dist/types/src/internal/json-schema/json-schema-type.d.ts +130 -29
  80. package/dist/types/src/internal/json-schema/json-schema-type.d.ts.map +1 -1
  81. package/dist/types/src/internal/json-schema/json-schema.d.ts +2 -1
  82. package/dist/types/src/internal/json-schema/json-schema.d.ts.map +1 -1
  83. package/dist/types/src/internal/ref/ref.d.ts +2 -1
  84. package/dist/types/src/internal/ref/ref.d.ts.map +1 -1
  85. package/dist/types/src/internal/schema/compose.d.ts +2 -1
  86. package/dist/types/src/internal/schema/compose.d.ts.map +1 -1
  87. package/dist/types/src/internal/types/meta.d.ts +5 -5
  88. package/dist/types/src/internal/types/meta.d.ts.map +1 -1
  89. package/dist/types/tsconfig.tsbuildinfo +1 -1
  90. package/package.json +33 -112
  91. package/src/Obj.ts +3 -3
  92. package/src/Relation.ts +2 -2
  93. package/src/internal/api/meta.ts +3 -3
  94. package/src/internal/entities/object.ts +1 -3
  95. package/src/internal/entities/relation.ts +1 -3
  96. package/src/internal/formats/format.test.ts +1 -1
  97. package/src/internal/formats/select.ts +1 -1
  98. package/src/internal/json-schema/json-schema-normalize.ts +4 -2
  99. package/src/internal/json-schema/json-schema-type.ts +30 -31
  100. package/src/internal/json-schema/json-schema.ts +10 -6
  101. package/src/internal/object/json-serializer.test.ts +3 -2
  102. package/src/internal/object/schema-validator.test.ts +3 -7
  103. package/src/internal/object/set-value.test.ts +9 -9
  104. package/src/internal/proxy/typed-handler.test.ts +8 -12
  105. package/src/internal/proxy/typed-object.test.ts +11 -11
  106. package/src/internal/ref/ref.test.ts +1 -1
  107. package/src/internal/ref/ref.ts +2 -1
  108. package/src/internal/schema/compose.ts +13 -8
  109. package/src/internal/types/meta.ts +12 -13
  110. package/dist/lib/browser/Database.mjs +0 -18
  111. package/dist/lib/browser/JsonSchema.mjs +0 -20
  112. package/dist/lib/browser/Query.mjs +0 -27
  113. package/dist/lib/browser/QueryResult.mjs +0 -3
  114. package/dist/lib/browser/Ref.mjs +0 -23
  115. package/dist/lib/browser/SchemaRegistry.mjs +0 -3
  116. package/dist/lib/browser/Tag.mjs +0 -26
  117. package/dist/lib/browser/chunk-6L5HHUVU.mjs.map +0 -7
  118. package/dist/lib/browser/chunk-BJPE6CIC.mjs.map +0 -7
  119. package/dist/lib/browser/chunk-FPOISFQK.mjs.map +0 -7
  120. package/dist/lib/browser/chunk-FRDT7RA4.mjs.map +0 -7
  121. package/dist/lib/browser/chunk-INHXFXY5.mjs.map +0 -7
  122. package/dist/lib/browser/chunk-JMKVF2YQ.mjs.map +0 -7
  123. package/dist/lib/browser/chunk-KQQGVHFN.mjs.map +0 -7
  124. package/dist/lib/browser/chunk-MYCCGG2T.mjs.map +0 -7
  125. package/dist/lib/browser/chunk-NOPVNWPT.mjs.map +0 -7
  126. package/dist/lib/browser/chunk-PQZW3S6L.mjs.map +0 -7
  127. package/dist/lib/browser/chunk-RK4Z4JUZ.mjs.map +0 -7
  128. package/dist/lib/browser/chunk-U2J7TA7K.mjs.map +0 -7
  129. package/dist/lib/browser/chunk-XDIUHAAX.mjs.map +0 -7
  130. package/dist/lib/browser/chunk-YKTSSMDS.mjs.map +0 -7
  131. package/dist/lib/browser/chunk-ZAGAOZVY.mjs.map +0 -7
  132. package/dist/lib/browser/meta.json +0 -1
  133. package/dist/lib/browser/testing/index.mjs.map +0 -7
  134. package/dist/lib/node-esm/Annotation.mjs +0 -33
  135. package/dist/lib/node-esm/Annotation.mjs.map +0 -7
  136. package/dist/lib/node-esm/Database.mjs +0 -18
  137. package/dist/lib/node-esm/Database.mjs.map +0 -7
  138. package/dist/lib/node-esm/Entity.mjs +0 -52
  139. package/dist/lib/node-esm/Entity.mjs.map +0 -7
  140. package/dist/lib/node-esm/Err.mjs +0 -11
  141. package/dist/lib/node-esm/Err.mjs.map +0 -7
  142. package/dist/lib/node-esm/Filter.mjs +0 -62
  143. package/dist/lib/node-esm/Filter.mjs.map +0 -7
  144. package/dist/lib/node-esm/Format.mjs +0 -67
  145. package/dist/lib/node-esm/Format.mjs.map +0 -7
  146. package/dist/lib/node-esm/JsonSchema.mjs +0 -20
  147. package/dist/lib/node-esm/JsonSchema.mjs.map +0 -7
  148. package/dist/lib/node-esm/Key.mjs +0 -13
  149. package/dist/lib/node-esm/Key.mjs.map +0 -7
  150. package/dist/lib/node-esm/Obj.mjs +0 -91
  151. package/dist/lib/node-esm/Obj.mjs.map +0 -7
  152. package/dist/lib/node-esm/Order.mjs +0 -13
  153. package/dist/lib/node-esm/Order.mjs.map +0 -7
  154. package/dist/lib/node-esm/Query.mjs +0 -27
  155. package/dist/lib/node-esm/Query.mjs.map +0 -7
  156. package/dist/lib/node-esm/QueryResult.mjs +0 -3
  157. package/dist/lib/node-esm/QueryResult.mjs.map +0 -7
  158. package/dist/lib/node-esm/Ref.mjs +0 -23
  159. package/dist/lib/node-esm/Ref.mjs.map +0 -7
  160. package/dist/lib/node-esm/Relation.mjs +0 -85
  161. package/dist/lib/node-esm/Relation.mjs.map +0 -7
  162. package/dist/lib/node-esm/SchemaRegistry.mjs +0 -3
  163. package/dist/lib/node-esm/SchemaRegistry.mjs.map +0 -7
  164. package/dist/lib/node-esm/Tag.mjs +0 -26
  165. package/dist/lib/node-esm/Tag.mjs.map +0 -7
  166. package/dist/lib/node-esm/Type.mjs +0 -48
  167. package/dist/lib/node-esm/Type.mjs.map +0 -7
  168. package/dist/lib/node-esm/chunk-4PNXQA64.mjs +0 -250
  169. package/dist/lib/node-esm/chunk-4PNXQA64.mjs.map +0 -7
  170. package/dist/lib/node-esm/chunk-5OBN7GZW.mjs +0 -158
  171. package/dist/lib/node-esm/chunk-AJEMYSIR.mjs +0 -22
  172. package/dist/lib/node-esm/chunk-ANLVLWME.mjs +0 -98
  173. package/dist/lib/node-esm/chunk-ANLVLWME.mjs.map +0 -7
  174. package/dist/lib/node-esm/chunk-DMR7OAFK.mjs +0 -57
  175. package/dist/lib/node-esm/chunk-FWTSPIFF.mjs +0 -133
  176. package/dist/lib/node-esm/chunk-FWTSPIFF.mjs.map +0 -7
  177. package/dist/lib/node-esm/chunk-HSLMI22Q.mjs +0 -11
  178. package/dist/lib/node-esm/chunk-HSLMI22Q.mjs.map +0 -7
  179. package/dist/lib/node-esm/chunk-ILMLLM4R.mjs +0 -204
  180. package/dist/lib/node-esm/chunk-K37NA7PO.mjs +0 -43
  181. package/dist/lib/node-esm/chunk-LT3H4JOX.mjs +0 -3847
  182. package/dist/lib/node-esm/chunk-LT3H4JOX.mjs.map +0 -7
  183. package/dist/lib/node-esm/chunk-MOLNWFNL.mjs +0 -9
  184. package/dist/lib/node-esm/chunk-MOLNWFNL.mjs.map +0 -7
  185. package/dist/lib/node-esm/chunk-MOWUEW5P.mjs +0 -15
  186. package/dist/lib/node-esm/chunk-NBWL7UCZ.mjs +0 -40
  187. package/dist/lib/node-esm/chunk-NRN3ZW2T.mjs +0 -143
  188. package/dist/lib/node-esm/chunk-QLI2EIJ2.mjs +0 -41
  189. package/dist/lib/node-esm/chunk-QYR67VBV.mjs +0 -288
  190. package/dist/lib/node-esm/chunk-UKGVOINP.mjs +0 -9
  191. package/dist/lib/node-esm/chunk-UKGVOINP.mjs.map +0 -7
  192. package/dist/lib/node-esm/chunk-W6QIEBTQ.mjs +0 -403
  193. package/dist/lib/node-esm/chunk-XHJRMQZD.mjs +0 -69
  194. package/dist/lib/node-esm/chunk-Y75VU7LB.mjs +0 -74
  195. package/dist/lib/node-esm/chunk-YOLH5KS4.mjs +0 -283
  196. package/dist/lib/node-esm/chunk-YQ2NWGL5.mjs +0 -39
  197. package/dist/lib/node-esm/chunk-YQ2NWGL5.mjs.map +0 -7
  198. package/dist/lib/node-esm/chunk-ZBB67AKD.mjs +0 -24
  199. package/dist/lib/node-esm/chunk-ZBB67AKD.mjs.map +0 -7
  200. package/dist/lib/node-esm/index.mjs +0 -85
  201. package/dist/lib/node-esm/index.mjs.map +0 -7
  202. package/dist/lib/node-esm/internal/index.mjs +0 -457
  203. package/dist/lib/node-esm/internal/index.mjs.map +0 -7
  204. package/dist/lib/node-esm/meta.json +0 -1
  205. package/dist/lib/node-esm/testing/index.mjs +0 -367
  206. /package/dist/lib/{browser → neutral}/Annotation.mjs.map +0 -0
  207. /package/dist/lib/{browser → neutral}/Database.mjs.map +0 -0
  208. /package/dist/lib/{browser → neutral}/Entity.mjs.map +0 -0
  209. /package/dist/lib/{browser → neutral}/Err.mjs.map +0 -0
  210. /package/dist/lib/{browser → neutral}/Filter.mjs.map +0 -0
  211. /package/dist/lib/{browser → neutral}/Format.mjs.map +0 -0
  212. /package/dist/lib/{browser → neutral}/JsonSchema.mjs.map +0 -0
  213. /package/dist/lib/{browser → neutral}/Key.mjs.map +0 -0
  214. /package/dist/lib/{browser → neutral}/Obj.mjs.map +0 -0
  215. /package/dist/lib/{browser → neutral}/Order.mjs.map +0 -0
  216. /package/dist/lib/{browser → neutral}/Query.mjs.map +0 -0
  217. /package/dist/lib/{browser → neutral}/QueryResult.mjs.map +0 -0
  218. /package/dist/lib/{browser → neutral}/Ref.mjs.map +0 -0
  219. /package/dist/lib/{browser → neutral}/Relation.mjs.map +0 -0
  220. /package/dist/lib/{browser → neutral}/SchemaRegistry.mjs.map +0 -0
  221. /package/dist/lib/{browser → neutral}/Tag.mjs.map +0 -0
  222. /package/dist/lib/{browser → neutral}/Type.mjs.map +0 -0
  223. /package/dist/lib/{browser/chunk-CGS2ULMK.mjs.map → neutral/chunk-J5LGTIGS.mjs.map} +0 -0
  224. /package/dist/lib/{browser → neutral}/index.mjs.map +0 -0
  225. /package/dist/lib/{browser → neutral}/internal/index.mjs.map +0 -0
@@ -1,9 +0,0 @@
1
- import { createRequire } from 'node:module';const require = createRequire(import.meta.url);
2
-
3
- // src/SchemaRegistry.ts
4
- var SchemaRegistry_exports = {};
5
-
6
- export {
7
- SchemaRegistry_exports
8
- };
9
- //# sourceMappingURL=chunk-MOLNWFNL.mjs.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/SchemaRegistry.ts"],
4
- "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport type * as Types from 'effect/Types';\n\nimport type * as JsonSchema from './JsonSchema';\nimport type * as Key from './Key';\nimport type * as QueryResult from './QueryResult';\nimport type * as Type from './Type';\n\n// TODO(wittjosiah): Replace w/ Query.Query.\nexport type Query = {\n /**\n * Filter by schema ID.\n * Schema id is a DXN with `echo` or `type` kind.\n */\n id?: string | string[];\n\n /**\n * Id of the backing ECHO object.\n */\n backingObjectId?: Key.ObjectId | Key.ObjectId[];\n\n /**\n * One or more typenames to filter by.\n */\n typename?: string | string[];\n\n /**\n * [Semver Range](https://docs.npmjs.com/cli/v6/using-npm/semver#ranges) for the schema version.\n */\n version?: string;\n\n /**\n * Where to look for the schema.\n *\n * Database schema are stored in the database of the current space.\n * Runtime schema are registered in the runtime.\n *\n * @default ['database']\n */\n location?: ('database' | 'runtime')[];\n\n /**\n * Include system schemas.\n * @default false\n *\n * The system schema include but are not limited to:\n * - dxos.org/type/Schema\n */\n includeSystem?: boolean;\n};\n\n/**\n * Input for schema registration.\n * The typename, version and schema mutability metadata is read from the schema annotations.\n *\n * Accepts:\n * - Branded ECHO schemas created with Type.Obj() or Type.Relation()\n * - JSON schema with typename and version\n */\nexport type RegisterSchemaInput =\n | Type.Entity.Any\n | {\n typename: string;\n version: string;\n jsonSchema: JsonSchema.JsonSchema;\n /**\n * Display name of the schema.\n */\n name?: string;\n };\n\nexport type ExtractQueryResult<Query> = Query extends { location: ('database' | 'runtime')[] }\n ? Type.Entity.Any\n : Type.RuntimeType;\n\nexport interface SchemaRegistry {\n /**\n * Checks if the provided schema is registered.\n */\n // TODO(burdon): Type?\n hasSchema(schema: Type.Entity.Any): boolean;\n\n /**\n * Registers the provided schema.\n *\n * @returns Mutable runtime instances of schemas that were registered.\n *\n * The behavior of this method depends on the state of the database.\n * The general principle is that the schema will be upserted into the space.\n * If an equivalent schema with the same name and version already exists, the method does nothing.\n * If a different schema with the same name and version exists, the method throws an error.\n * If no schema with the same name and version exists, a new schema will be inserted based on semantic versioning rules.\n */\n register(input: RegisterSchemaInput[]): Promise<Type.RuntimeType[]>;\n\n /**\n *\n */\n query<Q extends Types.NoExcessProperties<Query, Q>>(\n query?: Q & Query,\n ): QueryResult.QueryResult<ExtractQueryResult<Q>>;\n}\n"],
5
- "mappings": ";;;AAAA;",
6
- "names": []
7
- }
@@ -1,15 +0,0 @@
1
- import { createRequire } from 'node:module';const require = createRequire(import.meta.url);
2
-
3
- // src/index.ts
4
- import { QueryAST } from "@dxos/echo-protocol";
5
- import { DXN } from "@dxos/keys";
6
-
7
- // src/Hypergraph.ts
8
- var Hypergraph_exports = {};
9
-
10
- export {
11
- Hypergraph_exports,
12
- QueryAST,
13
- DXN
14
- };
15
- //# sourceMappingURL=chunk-MOWUEW5P.mjs.map
@@ -1,40 +0,0 @@
1
- import { createRequire } from 'node:module';const require = createRequire(import.meta.url);
2
- import {
3
- DescriptionAnnotation,
4
- FormInputAnnotation,
5
- GeneratorAnnotation,
6
- LabelAnnotation,
7
- ReferenceAnnotation,
8
- SystemTypeAnnotation,
9
- TypeAnnotation,
10
- getDescriptionWithSchema,
11
- getLabelWithSchema,
12
- getTypeAnnotation,
13
- setDescriptionWithSchema,
14
- setLabelWithSchema
15
- } from "./chunk-YOLH5KS4.mjs";
16
- import {
17
- __export
18
- } from "./chunk-HSLMI22Q.mjs";
19
-
20
- // src/Annotation.ts
21
- var Annotation_exports = {};
22
- __export(Annotation_exports, {
23
- DescriptionAnnotation: () => DescriptionAnnotation,
24
- FormInputAnnotation: () => FormInputAnnotation,
25
- GeneratorAnnotation: () => GeneratorAnnotation,
26
- LabelAnnotation: () => LabelAnnotation,
27
- ReferenceAnnotation: () => ReferenceAnnotation,
28
- SystemTypeAnnotation: () => SystemTypeAnnotation,
29
- TypeAnnotation: () => TypeAnnotation,
30
- getDescriptionWithSchema: () => getDescriptionWithSchema,
31
- getLabelWithSchema: () => getLabelWithSchema,
32
- getTypeAnnotation: () => getTypeAnnotation,
33
- setDescriptionWithSchema: () => setDescriptionWithSchema,
34
- setLabelWithSchema: () => setLabelWithSchema
35
- });
36
-
37
- export {
38
- Annotation_exports
39
- };
40
- //# sourceMappingURL=chunk-NBWL7UCZ.mjs.map
@@ -1,143 +0,0 @@
1
- import { createRequire } from 'node:module';const require = createRequire(import.meta.url);
2
- import {
3
- EchoObjectSchema,
4
- EchoRelationSchema,
5
- EchoSchema,
6
- PersistentSchema,
7
- Ref,
8
- isMutable,
9
- toEffectSchema,
10
- toJsonSchema
11
- } from "./chunk-LT3H4JOX.mjs";
12
- import {
13
- getSchemaDXN,
14
- getSchemaTypename,
15
- getSchemaVersion,
16
- getTypeAnnotation
17
- } from "./chunk-YOLH5KS4.mjs";
18
- import {
19
- ANY_OBJECT_TYPENAME,
20
- ANY_OBJECT_VERSION,
21
- EntityKind,
22
- SchemaKindId
23
- } from "./chunk-XHJRMQZD.mjs";
24
- import {
25
- __export
26
- } from "./chunk-HSLMI22Q.mjs";
27
-
28
- // src/Type.ts
29
- var Type_exports = {};
30
- __export(Type_exports, {
31
- Entity: () => Entity,
32
- Obj: () => Obj,
33
- PersistentType: () => PersistentType,
34
- Ref: () => Ref2,
35
- Relation: () => Relation,
36
- RuntimeType: () => EchoSchema,
37
- getDXN: () => getDXN,
38
- getMeta: () => getMeta,
39
- getTypename: () => getTypename,
40
- getVersion: () => getVersion,
41
- isMutable: () => isMutable2,
42
- isObjectSchema: () => isObjectSchema,
43
- isRelationSchema: () => isRelationSchema,
44
- object: () => object,
45
- relation: () => relation,
46
- toEffectSchema: () => toEffectSchema,
47
- toJsonSchema: () => toJsonSchema
48
- });
49
- import * as Schema from "effect/Schema";
50
- import { invariant } from "@dxos/invariant";
51
- var __dxlog_file = "/__w/dxos/dxos/packages/core/echo/echo/src/Type.ts";
52
- var ObjSchema = Schema.Struct({
53
- id: Schema.String
54
- }).pipe(Schema.extend(Schema.Record({
55
- key: Schema.String,
56
- value: Schema.Unknown
57
- })), EchoObjectSchema({
58
- typename: ANY_OBJECT_TYPENAME,
59
- version: ANY_OBJECT_VERSION
60
- }));
61
- var Obj = Object.assign(ObjSchema, {
62
- [SchemaKindId]: ObjSchema[SchemaKindId]
63
- });
64
- var object = EchoObjectSchema;
65
- var PersistentType = PersistentSchema;
66
- var RelationSchema = Schema.Struct({
67
- id: Schema.String
68
- }).pipe(Schema.extend(Schema.Record({
69
- key: Schema.String,
70
- value: Schema.Unknown
71
- })), EchoRelationSchema({
72
- typename: "dxos.org/schema/AnyRelation",
73
- version: "0.0.0",
74
- source: ObjSchema,
75
- target: ObjSchema
76
- }));
77
- var Relation = Object.assign(RelationSchema, {
78
- [SchemaKindId]: RelationSchema[SchemaKindId]
79
- });
80
- var relation = EchoRelationSchema;
81
- (function(Entity2) {
82
- Entity2.Any = Schema.Union(Obj, Relation);
83
- })(Entity || (Entity = {}));
84
- var isObjectSchema = (schema) => {
85
- return schema[SchemaKindId] === EntityKind.Object;
86
- };
87
- var isRelationSchema = (schema) => {
88
- return schema[SchemaKindId] === EntityKind.Relation;
89
- };
90
- var Ref2 = Ref;
91
- var getDXN = (schema) => {
92
- return getSchemaDXN(schema);
93
- };
94
- var getTypename = (schema) => {
95
- const typename = getSchemaTypename(schema);
96
- invariant(typeof typename === "string" && !typename.startsWith("dxn:"), "Invalid typename", {
97
- F: __dxlog_file,
98
- L: 463,
99
- S: void 0,
100
- A: [
101
- "typeof typename === 'string' && !typename.startsWith('dxn:')",
102
- "'Invalid typename'"
103
- ]
104
- });
105
- return typename;
106
- };
107
- var getVersion = (schema) => {
108
- const version = getSchemaVersion(schema);
109
- invariant(typeof version === "string" && version.match(/^\d+\.\d+\.\d+$/), "Invalid version", {
110
- F: __dxlog_file,
111
- L: 473,
112
- S: void 0,
113
- A: [
114
- "typeof version === 'string' && version.match(/^\\d+\\.\\d+\\.\\d+$/)",
115
- "'Invalid version'"
116
- ]
117
- });
118
- return version;
119
- };
120
- var isMutable2 = isMutable;
121
- var getMeta = (schema) => {
122
- return getTypeAnnotation(schema);
123
- };
124
- var Entity;
125
-
126
- export {
127
- Obj,
128
- object,
129
- PersistentType,
130
- Relation,
131
- relation,
132
- isObjectSchema,
133
- isRelationSchema,
134
- Ref2 as Ref,
135
- getDXN,
136
- getTypename,
137
- getVersion,
138
- isMutable2 as isMutable,
139
- getMeta,
140
- Entity,
141
- Type_exports
142
- };
143
- //# sourceMappingURL=chunk-NRN3ZW2T.mjs.map
@@ -1,41 +0,0 @@
1
- import { createRequire } from 'node:module';const require = createRequire(import.meta.url);
2
- import {
3
- Ref,
4
- RefArray,
5
- getSchemaReference
6
- } from "./chunk-LT3H4JOX.mjs";
7
- import {
8
- __export
9
- } from "./chunk-HSLMI22Q.mjs";
10
-
11
- // src/Ref.ts
12
- var Ref_exports = {};
13
- __export(Ref_exports, {
14
- Array: () => Array,
15
- fromDXN: () => fromDXN,
16
- isRef: () => isRef,
17
- isRefType: () => isRefType,
18
- make: () => make
19
- });
20
- import * as Option from "effect/Option";
21
- import * as SchemaAST from "effect/SchemaAST";
22
- var Array = RefArray;
23
- var isRef = Ref.isRef;
24
- var make = Ref.make;
25
- var fromDXN = Ref.fromDXN;
26
- var isRefType = (ast) => {
27
- return SchemaAST.getAnnotation(ast, SchemaAST.JSONSchemaAnnotationId).pipe(Option.flatMap((jsonSchema) => "$id" in jsonSchema ? Option.some(jsonSchema) : Option.none()), Option.flatMap((jsonSchema) => {
28
- const { typename } = getSchemaReference(jsonSchema) ?? {};
29
- return typename ? Option.some(true) : Option.some(false);
30
- }), Option.getOrElse(() => false));
31
- };
32
-
33
- export {
34
- Array,
35
- isRef,
36
- make,
37
- fromDXN,
38
- isRefType,
39
- Ref_exports
40
- };
41
- //# sourceMappingURL=chunk-QLI2EIJ2.mjs.map
@@ -1,288 +0,0 @@
1
- import { createRequire } from 'node:module';const require = createRequire(import.meta.url);
2
- import {
3
- isRef
4
- } from "./chunk-QLI2EIJ2.mjs";
5
- import {
6
- getTypeDXNFromSpecifier
7
- } from "./chunk-YOLH5KS4.mjs";
8
- import {
9
- __export
10
- } from "./chunk-HSLMI22Q.mjs";
11
-
12
- // src/Filter.ts
13
- var Filter_exports = {};
14
- __export(Filter_exports, {
15
- and: () => and,
16
- between: () => between,
17
- contains: () => contains,
18
- eq: () => eq,
19
- everything: () => everything,
20
- foreignKeys: () => foreignKeys,
21
- fromAst: () => fromAst,
22
- gt: () => gt,
23
- gte: () => gte,
24
- id: () => id,
25
- in: () => in$,
26
- is: () => is,
27
- lt: () => lt,
28
- lte: () => lte,
29
- neq: () => neq,
30
- not: () => not,
31
- nothing: () => nothing,
32
- or: () => or,
33
- props: () => props,
34
- tag: () => tag,
35
- text: () => text,
36
- type: () => type,
37
- typeDXN: () => typeDXN,
38
- typename: () => typename
39
- });
40
- import * as Match from "effect/Match";
41
- import * as Schema from "effect/Schema";
42
- import { assertArgument } from "@dxos/invariant";
43
- import { DXN, ObjectId } from "@dxos/keys";
44
- var FilterClass = class _FilterClass {
45
- ast;
46
- static variance = {};
47
- constructor(ast) {
48
- this.ast = ast;
49
- }
50
- "~Filter" = _FilterClass.variance;
51
- };
52
- var is = (value2) => {
53
- return typeof value2 === "object" && value2 !== null && "~Filter" in value2;
54
- };
55
- var fromAst = (ast) => {
56
- return new FilterClass(ast);
57
- };
58
- var everything = () => {
59
- return new FilterClass({
60
- type: "object",
61
- typename: null,
62
- props: {}
63
- });
64
- };
65
- var nothing = () => {
66
- return new FilterClass({
67
- type: "not",
68
- filter: {
69
- type: "object",
70
- typename: null,
71
- props: {}
72
- }
73
- });
74
- };
75
- var id = (...ids) => {
76
- assertArgument(ids.every((id2) => ObjectId.isValid(id2)), "ids", "ids must be valid");
77
- if (ids.length === 0) {
78
- return nothing();
79
- }
80
- return new FilterClass({
81
- type: "object",
82
- typename: null,
83
- id: ids,
84
- props: {}
85
- });
86
- };
87
- var type = (schema, props2) => {
88
- const dxn = getTypeDXNFromSpecifier(schema);
89
- return new FilterClass({
90
- type: "object",
91
- typename: dxn.toString(),
92
- ...propsFilterToAst(props2 ?? {})
93
- });
94
- };
95
- var typename = (typename2) => {
96
- assertArgument(!typename2.startsWith("dxn:"), "typename", "Typename must no be qualified");
97
- return new FilterClass({
98
- type: "object",
99
- typename: DXN.fromTypename(typename2).toString(),
100
- props: {}
101
- });
102
- };
103
- var typeDXN = (dxn) => {
104
- return new FilterClass({
105
- type: "object",
106
- typename: dxn.toString(),
107
- props: {}
108
- });
109
- };
110
- var tag = (tag2) => {
111
- return new FilterClass({
112
- type: "tag",
113
- tag: tag2
114
- });
115
- };
116
- var props = (props2) => {
117
- return new FilterClass({
118
- type: "object",
119
- typename: null,
120
- ...propsFilterToAst(props2)
121
- });
122
- };
123
- var text = (text2, options) => {
124
- return new FilterClass({
125
- type: "text-search",
126
- text: text2,
127
- searchKind: options?.type
128
- });
129
- };
130
- var foreignKeys = (schema, keys) => {
131
- const dxn = getTypeDXNFromSpecifier(schema);
132
- return new FilterClass({
133
- type: "object",
134
- typename: dxn.toString(),
135
- props: {},
136
- foreignKeys: keys
137
- });
138
- };
139
- var eq = (value2) => {
140
- if (!isRef(value2) && typeof value2 === "object" && value2 !== null) {
141
- throw new TypeError("Cannot use object as a value for eq filter");
142
- }
143
- return new FilterClass({
144
- type: "compare",
145
- operator: "eq",
146
- value: isRef(value2) ? value2.noInline().encode() : value2
147
- });
148
- };
149
- var neq = (value2) => {
150
- return new FilterClass({
151
- type: "compare",
152
- operator: "neq",
153
- value: value2
154
- });
155
- };
156
- var gt = (value2) => {
157
- return new FilterClass({
158
- type: "compare",
159
- operator: "gt",
160
- value: value2
161
- });
162
- };
163
- var gte = (value2) => {
164
- return new FilterClass({
165
- type: "compare",
166
- operator: "gte",
167
- value: value2
168
- });
169
- };
170
- var lt = (value2) => {
171
- return new FilterClass({
172
- type: "compare",
173
- operator: "lt",
174
- value: value2
175
- });
176
- };
177
- var lte = (value2) => {
178
- return new FilterClass({
179
- type: "compare",
180
- operator: "lte",
181
- value: value2
182
- });
183
- };
184
- var in$ = (...values) => {
185
- return new FilterClass({
186
- type: "in",
187
- values
188
- });
189
- };
190
- var contains = (value2) => {
191
- return new FilterClass({
192
- type: "contains",
193
- value: value2
194
- });
195
- };
196
- var between = (from, to) => {
197
- return new FilterClass({
198
- type: "range",
199
- from,
200
- to
201
- });
202
- };
203
- var not = (filter) => {
204
- return new FilterClass({
205
- type: "not",
206
- filter: filter.ast
207
- });
208
- };
209
- var and = (...filters) => {
210
- return new FilterClass({
211
- type: "and",
212
- filters: filters.map((f) => f.ast)
213
- });
214
- };
215
- var or = (...filters) => {
216
- return new FilterClass({
217
- type: "or",
218
- filters: filters.map((f) => f.ast)
219
- });
220
- };
221
- var propsFilterToAst = (predicates) => {
222
- let idFilter;
223
- if ("id" in predicates) {
224
- assertArgument(typeof predicates.id === "string" || Array.isArray(predicates.id), "predicates.id", "invalid id filter");
225
- idFilter = typeof predicates.id === "string" ? [
226
- predicates.id
227
- ] : predicates.id;
228
- Schema.Array(ObjectId).pipe(Schema.validateSync)(idFilter);
229
- }
230
- return {
231
- id: idFilter,
232
- props: Object.fromEntries(Object.entries(predicates).filter(([prop, _value]) => prop !== "id").map(([prop, predicate]) => [
233
- prop,
234
- processPredicate(predicate)
235
- ]))
236
- };
237
- };
238
- var processPredicate = (predicate) => {
239
- return Match.value(predicate).pipe(
240
- Match.withReturnType(),
241
- Match.when(is, (predicate2) => predicate2.ast),
242
- // TODO(wittjosiah): Add support for array predicates.
243
- Match.when(Array.isArray, (_predicate) => {
244
- throw new Error("Array predicates are not yet supported.");
245
- }),
246
- Match.when((predicate2) => !isRef(predicate2) && typeof predicate2 === "object" && predicate2 !== null, (predicate2) => {
247
- const nestedProps = Object.fromEntries(Object.entries(predicate2).map(([key, value2]) => [
248
- key,
249
- processPredicate(value2)
250
- ]));
251
- return {
252
- type: "object",
253
- typename: null,
254
- props: nestedProps
255
- };
256
- }),
257
- Match.orElse((value2) => eq(value2).ast)
258
- );
259
- };
260
-
261
- export {
262
- is,
263
- fromAst,
264
- everything,
265
- nothing,
266
- id,
267
- type,
268
- typename,
269
- typeDXN,
270
- tag,
271
- props,
272
- text,
273
- foreignKeys,
274
- eq,
275
- neq,
276
- gt,
277
- gte,
278
- lt,
279
- lte,
280
- in$,
281
- contains,
282
- between,
283
- not,
284
- and,
285
- or,
286
- Filter_exports
287
- };
288
- //# sourceMappingURL=chunk-QYR67VBV.mjs.map
@@ -1,9 +0,0 @@
1
- import { createRequire } from 'node:module';const require = createRequire(import.meta.url);
2
-
3
- // src/QueryResult.ts
4
- var QueryResult_exports = {};
5
-
6
- export {
7
- QueryResult_exports
8
- };
9
- //# sourceMappingURL=chunk-UKGVOINP.mjs.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/QueryResult.ts"],
4
- "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { type CleanupFn } from '@dxos/async';\n\nimport type * as Entity from './Entity';\n\n/**\n * Individual query result entry.\n */\nexport type Entry<T> = {\n id: string;\n\n /**\n * May not be present for remote results.\n */\n result?: T;\n\n match?: {\n // TODO(dmaretskyi): text positional info.\n\n /**\n * Higher means better match.\n */\n rank: number;\n };\n\n /**\n * Query resolution metadata.\n */\n // TODO(dmaretskyi): Rename to meta?\n resolution?: {\n // TODO(dmaretskyi): Make this more generic.\n source: 'remote' | 'local' | 'index';\n\n /**\n * Query resolution time in milliseconds.\n */\n time: number;\n };\n};\n\n/**\n * Invidual query result entry for a database Entity.\n */\nexport type EntityEntry<T extends Entity.Unknown = Entity.Unknown> = Entry<T>;\n\nexport type RunOptions = {\n timeout?: number;\n};\n\nexport type SubscriptionOptions = {\n /**\n * Fire the callback immediately.\n */\n fire?: boolean;\n};\n\n// TODO(burdon): Should T be constrained to Entity.Any?\nexport interface QueryResult<T> {\n /**\n * Currently available results along with their match metadata.\n */\n readonly entries: Entry<T>[];\n\n /**\n * Currently available results.\n */\n readonly results: T[];\n\n /**\n * Returns all known results.\n */\n run(opts?: RunOptions): Promise<T[]>;\n\n /**\n * Returns all known results along with their match metadata.\n */\n runEntries(opts?: RunOptions): Promise<Entry<T>[]>;\n\n /**\n * Returns currently available results synchronously.\n */\n runSync(): T[];\n\n /**\n * Returns currently available results synchronously along with their match metadata.\n */\n runSyncEntries(): Entry<T>[];\n\n /**\n * Returns first result.\n */\n first(opts?: RunOptions): Promise<T>;\n\n /**\n * Returns first result if there is one.\n */\n firstOrUndefined(opts?: RunOptions): Promise<T | undefined>;\n\n /**\n * Subscribes to changes in query results.\n */\n subscribe(callback?: (query: QueryResult<T>) => void, opts?: SubscriptionOptions): CleanupFn;\n}\n"],
5
- "mappings": ";;;AAAA;",
6
- "names": []
7
- }